{"id":40576,"name":"apache-airflow","ecosystem":"pip","repository_url":"https://github.com/apache/airflow","issues_count":122,"created_at":"2025-06-10T19:52:39.692Z","updated_at":"2025-06-10T19:52:39.692Z","purl":"pkg:pypi/apache-airflow","metadata":{"id":2640964,"name":"apache-airflow","ecosystem":"pypi","description":"Programmatically author, schedule and monitor data pipelines","homepage":"https://airflow.apache.org/","licenses":"Apache Software License","normalized_licenses":["Apache-2.0"],"repository_url":"https://github.com/apache/airflow","keywords_array":["airflow","automation","dag","data","orchestration","pipelines","workflow"],"namespace":null,"versions_count":231,"first_release_published_at":"2017-05-09T19:53:10.000Z","latest_release_published_at":"2025-06-10T14:33:03.000Z","latest_release_number":"3.0.2","last_synced_at":"2025-06-11T02:01:42.858Z","created_at":"2022-04-10T10:02:37.010Z","updated_at":"2025-06-11T02:02:32.754Z","registry_url":"https://pypi.org/project/apache-airflow/","install_command":"pip install apache-airflow --index-url https://pypi.org/simple","documentation_url":"https://airflow.apache.org/docs/","metadata":{"funding":null,"documentation":"https://airflow.apache.org/docs/","classifiers":["Development Status :: 5 - Production/Stable","Environment :: Console","Environment :: Web Environment","Framework :: Apache Airflow","Intended Audience :: Developers","Intended Audience :: System Administrators","License :: OSI Approved :: Apache Software License","Programming Language :: Python :: 3.10","Programming Language :: Python :: 3.11","Programming Language :: Python :: 3.12","Programming Language :: Python :: 3.9","Topic :: System :: Monitoring"],"normalized_name":"apache-airflow"},"repo_metadata":{"id":30332542,"uuid":"33884891","full_name":"apache/airflow","owner":"apache","description":"Apache Airflow - A platform to programmatically author, schedule, and monitor workflows","archived":false,"fork":false,"pushed_at":"2024-10-29T12:44:06.000Z","size":307668,"stargazers_count":36891,"open_issues_count":1171,"forks_count":14248,"subscribers_count":758,"default_branch":"main","last_synced_at":"2024-10-29T12:44:45.031Z","etag":null,"topics":["airflow","apache","apache-airflow","automation","dag","data-engineering","data-integration","data-orchestrator","data-pipelines","data-science","elt","etl","machine-learning","mlops","orchestration","python","scheduler","workflow","workflow-engine","workflow-orchestration"],"latest_commit_sha":null,"homepage":"https://airflow.apache.org/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/apache.png","metadata":{"files":{"readme":"README.md","changelog":"newsfragments/24842.significant.rst","contributing":"CONTRIBUTING.rst","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":".github/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-04-13T18:04:58.000Z","updated_at":"2024-10-29T12:44:11.000Z","dependencies_parsed_at":"2023-10-04T12:28:19.831Z","dependency_job_id":"884b4da3-a042-4252-9677-dfaa7b3f8858","html_url":"https://github.com/apache/airflow","commit_stats":{"total_commits":21920,"total_committers":3154,"mean_commits":6.949904882688649,"dds":0.8632755474452555,"last_synced_commit":"9b997638f31fabe9d075a63647e74924f4b5c0c3"},"previous_names":["apache/incubator-airflow","airbnb/airflow"],"tags_count":5577,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/apache","download_url":"https://codeload.github.com/apache/airflow/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":222061287,"owners_count":16924680,"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":"apache","name":"The Apache Software Foundation","uuid":"47359","kind":"organization","description":"","email":null,"website":"https://www.apache.org/","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/47359?v=4","repositories_count":2601,"last_synced_at":"2024-05-21T07:19:49.405Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/apache","funding_links":[],"total_stars":1087452,"followers":12811,"following":0,"created_at":"2022-11-02T16:23:23.532Z","updated_at":"2024-05-21T07:20:03.071Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/apache","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/apache/repositories"},"tags":[{"name":"constraints-2.10.1rc1","sha":"b55dc325e988c7db914683c231c41459bd748b7f","kind":"tag","published_at":"2024-09-02T13:57:22.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/constraints-2.10.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/constraints-2.10.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/constraints-2.10.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/constraints-2.10.1rc1/manifests"},{"name":"2.10.1rc1","sha":"854173176f372f6509800ed446286c32cb75045e","kind":"tag","published_at":"2024-09-02T13:35:47.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/2.10.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/2.10.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/2.10.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/2.10.1rc1/manifests"},{"name":"python-client-2.10.0","sha":"91f8265b6820eca747634dce39ae0d70aada2640","kind":"tag","published_at":"2024-08-30T16:21:25.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/python-client-2.10.0","html_url":"https://github.com/apache/airflow/releases/tag/python-client-2.10.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/python-client-2.10.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/python-client-2.10.0/manifests"},{"name":"providers-tabular/1.6.1","sha":"2f952909f5028e416c951084727bd71ff8f22b72","kind":"tag","published_at":"2024-08-28T10:31:24.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-tabular/1.6.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-tabular/1.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-tabular%2F1.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-tabular%2F1.6.1/manifests"},{"name":"providers-celery/3.8.1","sha":"2f952909f5028e416c951084727bd71ff8f22b72","kind":"tag","published_at":"2024-08-28T10:31:24.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-celery/3.8.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-celery/3.8.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-celery%2F3.8.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-celery%2F3.8.1/manifests"},{"name":"providers-cncf-kubernetes/8.4.1","sha":"2f952909f5028e416c951084727bd71ff8f22b72","kind":"tag","published_at":"2024-08-28T10:31:24.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-cncf-kubernetes/8.4.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-cncf-kubernetes/8.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cncf-kubernetes%2F8.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cncf-kubernetes%2F8.4.1/manifests"},{"name":"providers-ssh/3.13.1","sha":"2f952909f5028e416c951084727bd71ff8f22b72","kind":"tag","published_at":"2024-08-28T10:31:24.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-ssh/3.13.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-ssh/3.13.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-ssh%2F3.13.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-ssh%2F3.13.1/manifests"},{"name":"providers-openlineage/1.11.0","sha":"2f952909f5028e416c951084727bd71ff8f22b72","kind":"tag","published_at":"2024-08-28T10:31:24.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-openlineage/1.11.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-openlineage/1.11.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-openlineage%2F1.11.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-openlineage%2F1.11.0/manifests"},{"name":"python-client-2.10.0rc2","sha":"91f8265b6820eca747634dce39ae0d70aada2640","kind":"tag","published_at":"2024-08-27T10:15:50.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/python-client-2.10.0rc2","html_url":"https://github.com/apache/airflow/releases/tag/python-client-2.10.0rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/python-client-2.10.0rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/python-client-2.10.0rc2/manifests"},{"name":"providers-ssh/3.13.1rc1","sha":"2f952909f5028e416c951084727bd71ff8f22b72","kind":"tag","published_at":"2024-08-25T07:44:06.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-ssh/3.13.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-ssh/3.13.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-ssh%2F3.13.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-ssh%2F3.13.1rc1/manifests"},{"name":"providers-openlineage/1.11.0rc2","sha":"2f952909f5028e416c951084727bd71ff8f22b72","kind":"tag","published_at":"2024-08-25T07:44:06.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-openlineage/1.11.0rc2","html_url":"https://github.com/apache/airflow/releases/tag/providers-openlineage/1.11.0rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-openlineage%2F1.11.0rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-openlineage%2F1.11.0rc2/manifests"},{"name":"providers-celery/3.8.1rc1","sha":"2f952909f5028e416c951084727bd71ff8f22b72","kind":"tag","published_at":"2024-08-25T07:44:06.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-celery/3.8.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-celery/3.8.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-celery%2F3.8.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-celery%2F3.8.1rc1/manifests"},{"name":"providers-cncf-kubernetes/8.4.1rc1","sha":"2f952909f5028e416c951084727bd71ff8f22b72","kind":"tag","published_at":"2024-08-25T07:44:06.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-cncf-kubernetes/8.4.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-cncf-kubernetes/8.4.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cncf-kubernetes%2F8.4.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cncf-kubernetes%2F8.4.1rc1/manifests"},{"name":"providers-tabular/1.6.1rc1","sha":"2f952909f5028e416c951084727bd71ff8f22b72","kind":"tag","published_at":"2024-08-25T07:44:06.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-tabular/1.6.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-tabular/1.6.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-tabular%2F1.6.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-tabular%2F1.6.1rc1/manifests"},{"name":"python-client-2.10.0rc1","sha":"91f8265b6820eca747634dce39ae0d70aada2640","kind":"tag","published_at":"2024-08-23T16:15:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/python-client-2.10.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/python-client-2.10.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/python-client-2.10.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/python-client-2.10.0rc1/manifests"},{"name":"providers-apache-hdfs/4.5.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:59.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-hdfs/4.5.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-hdfs/4.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-hdfs%2F4.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-hdfs%2F4.5.0/manifests"},{"name":"providers-ydb/1.3.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:59.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-ydb/1.3.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-ydb/1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-ydb%2F1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-ydb%2F1.3.0/manifests"},{"name":"providers-weaviate/2.1.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:59.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-weaviate/2.1.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-weaviate/2.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-weaviate%2F2.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-weaviate%2F2.1.0/manifests"},{"name":"providers-apache-cassandra/3.6.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:59.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-cassandra/3.6.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-cassandra/3.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-cassandra%2F3.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-cassandra%2F3.6.0/manifests"},{"name":"providers-oracle/3.11.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:59.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-oracle/3.11.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-oracle/3.11.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-oracle%2F3.11.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-oracle%2F3.11.0/manifests"},{"name":"providers-atlassian-jira/2.7.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:59.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-atlassian-jira/2.7.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-atlassian-jira/2.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-atlassian-jira%2F2.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-atlassian-jira%2F2.7.0/manifests"},{"name":"providers-postgres/5.12.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:59.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-postgres/5.12.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-postgres/5.12.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-postgres%2F5.12.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-postgres%2F5.12.0/manifests"},{"name":"providers-github/2.7.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:59.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-github/2.7.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-github/2.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-github%2F2.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-github%2F2.7.0/manifests"},{"name":"providers-apache-kafka/1.6.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:58.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-kafka/1.6.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-kafka/1.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-kafka%2F1.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-kafka%2F1.6.0/manifests"},{"name":"providers-apache-beam/5.8.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:58.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-beam/5.8.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-beam/5.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-beam%2F5.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-beam%2F5.8.0/manifests"},{"name":"providers-segment/3.6.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:58.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-segment/3.6.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-segment/3.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-segment%2F3.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-segment%2F3.6.0/manifests"},{"name":"providers-mysql/5.7.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:58.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-mysql/5.7.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-mysql/5.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-mysql%2F5.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-mysql%2F5.7.0/manifests"},{"name":"providers-microsoft-mssql/3.9.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:58.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-microsoft-mssql/3.9.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-microsoft-mssql/3.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-mssql%2F3.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-mssql%2F3.9.0/manifests"},{"name":"providers-presto/5.6.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:58.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-presto/5.6.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-presto/5.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-presto%2F5.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-presto%2F5.6.0/manifests"},{"name":"providers-microsoft-azure/10.4.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:58.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-microsoft-azure/10.4.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-microsoft-azure/10.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-azure%2F10.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-azure%2F10.4.0/manifests"},{"name":"providers-apache-hive/8.2.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:58.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-hive/8.2.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-hive/8.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-hive%2F8.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-hive%2F8.2.0/manifests"},{"name":"providers-opsgenie/5.7.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:58.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-opsgenie/5.7.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-opsgenie/5.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-opsgenie%2F5.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-opsgenie%2F5.7.0/manifests"},{"name":"providers-airbyte/3.9.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:58.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-airbyte/3.9.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-airbyte/3.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-airbyte%2F3.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-airbyte%2F3.9.0/manifests"},{"name":"providers-cohere/1.3.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:58.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-cohere/1.3.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-cohere/1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cohere%2F1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cohere%2F1.3.0/manifests"},{"name":"providers-apache-impala/1.5.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:58.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-impala/1.5.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-impala/1.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-impala%2F1.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-impala%2F1.5.0/manifests"},{"name":"providers-salesforce/5.8.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:58.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-salesforce/5.8.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-salesforce/5.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-salesforce%2F5.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-salesforce%2F5.8.0/manifests"},{"name":"providers-tabular/1.6.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:58.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-tabular/1.6.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-tabular/1.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-tabular%2F1.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-tabular%2F1.6.0/manifests"},{"name":"providers-yandex/3.12.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:58.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-yandex/3.12.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-yandex/3.12.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-yandex%2F3.12.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-yandex%2F3.12.0/manifests"},{"name":"providers-teradata/2.6.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:58.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-teradata/2.6.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-teradata/2.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-teradata%2F2.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-teradata%2F2.6.0/manifests"},{"name":"providers-slack/8.9.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:58.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-slack/8.9.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-slack/8.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-slack%2F8.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-slack%2F8.9.0/manifests"},{"name":"providers-microsoft-winrm/3.6.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:58.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-microsoft-winrm/3.6.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-microsoft-winrm/3.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-winrm%2F3.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-winrm%2F3.6.0/manifests"},{"name":"providers-arangodb/2.6.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:58.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-arangodb/2.6.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-arangodb/2.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-arangodb%2F2.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-arangodb%2F2.6.0/manifests"},{"name":"providers-trino/5.8.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:58.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-trino/5.8.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-trino/5.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-trino%2F5.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-trino%2F5.8.0/manifests"},{"name":"providers-apache-kylin/3.7.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:58.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-kylin/3.7.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-kylin/3.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-kylin%2F3.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-kylin%2F3.7.0/manifests"},{"name":"providers-discord/3.8.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:58.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-discord/3.8.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-discord/3.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-discord%2F3.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-discord%2F3.8.0/manifests"},{"name":"providers-odbc/4.7.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:58.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-odbc/4.7.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-odbc/4.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-odbc%2F4.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-odbc%2F4.7.0/manifests"},{"name":"providers-papermill/3.8.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:58.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-papermill/3.8.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-papermill/3.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-papermill%2F3.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-papermill%2F3.8.0/manifests"},{"name":"providers-sqlite/3.9.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:58.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-sqlite/3.9.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-sqlite/3.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-sqlite%2F3.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-sqlite%2F3.9.0/manifests"},{"name":"providers-sftp/4.11.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:58.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-sftp/4.11.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-sftp/4.11.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-sftp%2F4.11.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-sftp%2F4.11.0/manifests"},{"name":"providers-smtp/1.8.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:58.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-smtp/1.8.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-smtp/1.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-smtp%2F1.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-smtp%2F1.8.0/manifests"},{"name":"providers-apache-pinot/4.5.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:58.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-pinot/4.5.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-pinot/4.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-pinot%2F4.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-pinot%2F4.5.0/manifests"},{"name":"providers-telegram/4.6.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:58.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-telegram/4.6.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-telegram/4.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-telegram%2F4.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-telegram%2F4.6.0/manifests"},{"name":"providers-amazon/8.28.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:58.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-amazon/8.28.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-amazon/8.28.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-amazon%2F8.28.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-amazon%2F8.28.0/manifests"},{"name":"providers-dbt-cloud/3.10.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:58.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-dbt-cloud/3.10.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-dbt-cloud/3.10.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-dbt-cloud%2F3.10.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-dbt-cloud%2F3.10.0/manifests"},{"name":"providers-ftp/3.11.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:58.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-ftp/3.11.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-ftp/3.11.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-ftp%2F3.11.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-ftp%2F3.11.0/manifests"},{"name":"providers-apache-flink/1.5.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:58.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-flink/1.5.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-flink/1.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-flink%2F1.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-flink%2F1.5.0/manifests"},{"name":"providers-snowflake/5.7.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:58.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-snowflake/5.7.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-snowflake/5.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-snowflake%2F5.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-snowflake%2F5.7.0/manifests"},{"name":"providers-apache-livy/3.9.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:58.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-livy/3.9.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-livy/3.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-livy%2F3.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-livy%2F3.9.0/manifests"},{"name":"providers-apache-drill/2.8.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:58.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-drill/2.8.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-drill/2.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-drill%2F2.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-drill%2F2.8.0/manifests"},{"name":"providers-tableau/4.6.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:58.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-tableau/4.6.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-tableau/4.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-tableau%2F4.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-tableau%2F4.6.0/manifests"},{"name":"providers-imap/3.7.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:58.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-imap/3.7.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-imap/3.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-imap%2F3.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-imap%2F3.7.0/manifests"},{"name":"providers-cloudant/3.6.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:58.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-cloudant/3.6.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-cloudant/3.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cloudant%2F3.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cloudant%2F3.6.0/manifests"},{"name":"providers-databricks/6.9.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:58.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-databricks/6.9.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-databricks/6.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-databricks%2F6.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-databricks%2F6.9.0/manifests"},{"name":"providers-singularity/3.6.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:58.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-singularity/3.6.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-singularity/3.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-singularity%2F3.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-singularity%2F3.6.0/manifests"},{"name":"providers-pgvector/1.3.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:58.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-pgvector/1.3.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-pgvector/1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-pgvector%2F1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-pgvector%2F1.3.0/manifests"},{"name":"providers-cncf-kubernetes/8.4.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:58.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-cncf-kubernetes/8.4.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-cncf-kubernetes/8.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cncf-kubernetes%2F8.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cncf-kubernetes%2F8.4.0/manifests"},{"name":"providers-sendgrid/3.6.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:58.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-sendgrid/3.6.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-sendgrid/3.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-sendgrid%2F3.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-sendgrid%2F3.6.0/manifests"},{"name":"providers-samba/4.8.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:58.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-samba/4.8.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-samba/4.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-samba%2F4.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-samba%2F4.8.0/manifests"},{"name":"providers-http/4.13.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:58.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-http/4.13.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-http/4.13.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-http%2F4.13.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-http%2F4.13.0/manifests"},{"name":"providers-google/10.22.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:58.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-google/10.22.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-google/10.22.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-google%2F10.22.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-google%2F10.22.0/manifests"},{"name":"providers-alibaba/2.9.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:58.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-alibaba/2.9.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-alibaba/2.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-alibaba%2F2.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-alibaba%2F2.9.0/manifests"},{"name":"providers-qdrant/1.2.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:58.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-qdrant/1.2.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-qdrant/1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-qdrant%2F1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-qdrant%2F1.2.0/manifests"},{"name":"providers-openai/1.3.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:58.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-openai/1.3.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-openai/1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-openai%2F1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-openai%2F1.3.0/manifests"},{"name":"providers-fab/1.3.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:58.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-fab/1.3.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-fab/1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-fab%2F1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-fab%2F1.3.0/manifests"},{"name":"providers-redis/3.8.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:58.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-redis/3.8.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-redis/3.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-redis%2F3.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-redis%2F3.8.0/manifests"},{"name":"providers-influxdb/2.7.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:58.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-influxdb/2.7.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-influxdb/2.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-influxdb%2F2.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-influxdb%2F2.7.0/manifests"},{"name":"providers-opensearch/1.4.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:58.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-opensearch/1.4.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-opensearch/1.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-opensearch%2F1.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-opensearch%2F1.4.0/manifests"},{"name":"providers-facebook/3.6.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:58.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-facebook/3.6.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-facebook/3.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-facebook%2F3.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-facebook%2F3.6.0/manifests"},{"name":"providers-grpc/3.6.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:58.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-grpc/3.6.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-grpc/3.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-grpc%2F3.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-grpc%2F3.6.0/manifests"},{"name":"providers-dingding/3.6.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:58.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-dingding/3.6.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-dingding/3.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-dingding%2F3.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-dingding%2F3.6.0/manifests"},{"name":"providers-vertica/3.9.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:58.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-vertica/3.9.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-vertica/3.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-vertica%2F3.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-vertica%2F3.9.0/manifests"},{"name":"providers-celery/3.8.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:58.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-celery/3.8.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-celery/3.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-celery%2F3.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-celery%2F3.8.0/manifests"},{"name":"providers-openfaas/3.6.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:57.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-openfaas/3.6.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-openfaas/3.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-openfaas%2F3.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-openfaas%2F3.6.0/manifests"},{"name":"providers-elasticsearch/5.5.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:57.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-elasticsearch/5.5.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-elasticsearch/5.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-elasticsearch%2F5.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-elasticsearch%2F5.5.0/manifests"},{"name":"providers-jenkins/3.7.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:57.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-jenkins/3.7.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-jenkins/3.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-jenkins%2F3.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-jenkins%2F3.7.0/manifests"},{"name":"providers-asana/2.6.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:57.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-asana/2.6.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-asana/2.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-asana%2F2.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-asana%2F2.6.0/manifests"},{"name":"providers-hashicorp/3.8.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:57.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-hashicorp/3.8.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-hashicorp/3.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-hashicorp%2F3.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-hashicorp%2F3.8.0/manifests"},{"name":"providers-pinecone/2.1.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:57.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-pinecone/2.1.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-pinecone/2.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-pinecone%2F2.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-pinecone%2F2.1.0/manifests"},{"name":"providers-apache-pig/4.5.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:57.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-pig/4.5.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-pig/4.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-pig%2F4.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-pig%2F4.5.0/manifests"},{"name":"providers-apprise/1.4.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:57.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apprise/1.4.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-apprise/1.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apprise%2F1.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apprise%2F1.4.0/manifests"},{"name":"providers-jdbc/4.5.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:57.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-jdbc/4.5.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-jdbc/4.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-jdbc%2F4.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-jdbc%2F4.5.0/manifests"},{"name":"providers-common-sql/1.16.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:57.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-common-sql/1.16.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-common-sql/1.16.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-common-sql%2F1.16.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-common-sql%2F1.16.0/manifests"},{"name":"providers-zendesk/4.8.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:57.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-zendesk/4.8.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-zendesk/4.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-zendesk%2F4.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-zendesk%2F4.8.0/manifests"},{"name":"providers-docker/3.13.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:57.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-docker/3.13.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-docker/3.13.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-docker%2F3.13.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-docker%2F3.13.0/manifests"},{"name":"providers-exasol/4.6.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:57.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-exasol/4.6.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-exasol/4.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-exasol%2F4.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-exasol%2F4.6.0/manifests"},{"name":"providers-datadog/3.7.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:57.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-datadog/3.7.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-datadog/3.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-datadog%2F3.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-datadog%2F3.7.0/manifests"},{"name":"providers-common-compat/1.2.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:57.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-common-compat/1.2.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-common-compat/1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-common-compat%2F1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-common-compat%2F1.2.0/manifests"},{"name":"providers-neo4j/3.7.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:57.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-neo4j/3.7.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-neo4j/3.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-neo4j%2F3.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-neo4j%2F3.7.0/manifests"},{"name":"providers-ssh/3.13.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:57.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-ssh/3.13.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-ssh/3.13.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-ssh%2F3.13.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-ssh%2F3.13.0/manifests"},{"name":"providers-apache-iceberg/1.1.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:57.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-iceberg/1.1.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-iceberg/1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-iceberg%2F1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-iceberg%2F1.1.0/manifests"},{"name":"providers-pagerduty/3.8.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:57.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-pagerduty/3.8.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-pagerduty/3.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-pagerduty%2F3.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-pagerduty%2F3.8.0/manifests"},{"name":"providers-microsoft-psrp/2.8.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:57.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-microsoft-psrp/2.8.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-microsoft-psrp/2.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-psrp%2F2.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-psrp%2F2.8.0/manifests"},{"name":"providers-apache-druid/3.11.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:57.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-druid/3.11.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-druid/3.11.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-druid%2F3.11.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-druid%2F3.11.0/manifests"},{"name":"providers-mongo/4.2.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:57.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-mongo/4.2.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-mongo/4.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-mongo%2F4.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-mongo%2F4.2.0/manifests"},{"name":"providers-apache-spark/4.10.0","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-22T10:37:57.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-spark/4.10.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-spark/4.10.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-spark%2F4.10.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-spark%2F4.10.0/manifests"},{"name":"providers-apache-druid/3.11.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:08.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-druid/3.11.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-druid/3.11.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-druid%2F3.11.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-druid%2F3.11.0rc1/manifests"},{"name":"providers-smtp/1.8.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:08.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-smtp/1.8.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-smtp/1.8.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-smtp%2F1.8.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-smtp%2F1.8.0rc1/manifests"},{"name":"providers-fab/1.3.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:08.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-fab/1.3.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-fab/1.3.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-fab%2F1.3.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-fab%2F1.3.0rc1/manifests"},{"name":"providers-microsoft-psrp/2.8.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:08.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-microsoft-psrp/2.8.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-microsoft-psrp/2.8.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-psrp%2F2.8.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-psrp%2F2.8.0rc1/manifests"},{"name":"providers-github/2.7.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:08.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-github/2.7.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-github/2.7.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-github%2F2.7.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-github%2F2.7.0rc1/manifests"},{"name":"providers-apache-cassandra/3.6.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:08.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-cassandra/3.6.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-cassandra/3.6.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-cassandra%2F3.6.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-cassandra%2F3.6.0rc1/manifests"},{"name":"providers-apache-flink/1.5.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:08.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-flink/1.5.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-flink/1.5.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-flink%2F1.5.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-flink%2F1.5.0rc1/manifests"},{"name":"providers-slack/8.9.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:08.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-slack/8.9.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-slack/8.9.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-slack%2F8.9.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-slack%2F8.9.0rc1/manifests"},{"name":"providers-apache-pinot/4.5.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:08.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-pinot/4.5.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-pinot/4.5.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-pinot%2F4.5.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-pinot%2F4.5.0rc1/manifests"},{"name":"providers-pgvector/1.3.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:08.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-pgvector/1.3.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-pgvector/1.3.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-pgvector%2F1.3.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-pgvector%2F1.3.0rc1/manifests"},{"name":"providers-dingding/3.6.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:08.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-dingding/3.6.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-dingding/3.6.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-dingding%2F3.6.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-dingding%2F3.6.0rc1/manifests"},{"name":"providers-zendesk/4.8.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:08.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-zendesk/4.8.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-zendesk/4.8.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-zendesk%2F4.8.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-zendesk%2F4.8.0rc1/manifests"},{"name":"providers-apache-beam/5.8.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:08.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-beam/5.8.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-beam/5.8.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-beam%2F5.8.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-beam%2F5.8.0rc1/manifests"},{"name":"providers-apache-drill/2.8.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:08.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-drill/2.8.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-drill/2.8.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-drill%2F2.8.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-drill%2F2.8.0rc1/manifests"},{"name":"providers-apache-iceberg/1.1.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:08.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-iceberg/1.1.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-iceberg/1.1.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-iceberg%2F1.1.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-iceberg%2F1.1.0rc1/manifests"},{"name":"providers-airbyte/3.9.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:08.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-airbyte/3.9.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-airbyte/3.9.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-airbyte%2F3.9.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-airbyte%2F3.9.0rc1/manifests"},{"name":"providers-celery/3.8.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:08.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-celery/3.8.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-celery/3.8.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-celery%2F3.8.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-celery%2F3.8.0rc1/manifests"},{"name":"providers-ssh/3.13.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:08.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-ssh/3.13.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-ssh/3.13.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-ssh%2F3.13.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-ssh%2F3.13.0rc1/manifests"},{"name":"providers-atlassian-jira/2.7.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:08.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-atlassian-jira/2.7.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-atlassian-jira/2.7.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-atlassian-jira%2F2.7.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-atlassian-jira%2F2.7.0rc1/manifests"},{"name":"providers-openfaas/3.6.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:08.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-openfaas/3.6.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-openfaas/3.6.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-openfaas%2F3.6.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-openfaas%2F3.6.0rc1/manifests"},{"name":"providers-google/10.22.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:08.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-google/10.22.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-google/10.22.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-google%2F10.22.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-google%2F10.22.0rc1/manifests"},{"name":"providers-presto/5.6.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:08.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-presto/5.6.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-presto/5.6.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-presto%2F5.6.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-presto%2F5.6.0rc1/manifests"},{"name":"providers-snowflake/5.7.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:08.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-snowflake/5.7.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-snowflake/5.7.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-snowflake%2F5.7.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-snowflake%2F5.7.0rc1/manifests"},{"name":"providers-apprise/1.4.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:08.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apprise/1.4.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apprise/1.4.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apprise%2F1.4.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apprise%2F1.4.0rc1/manifests"},{"name":"providers-facebook/3.6.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:08.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-facebook/3.6.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-facebook/3.6.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-facebook%2F3.6.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-facebook%2F3.6.0rc1/manifests"},{"name":"providers-asana/2.6.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:08.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-asana/2.6.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-asana/2.6.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-asana%2F2.6.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-asana%2F2.6.0rc1/manifests"},{"name":"providers-vertica/3.9.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:08.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-vertica/3.9.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-vertica/3.9.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-vertica%2F3.9.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-vertica%2F3.9.0rc1/manifests"},{"name":"providers-yandex/3.12.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:08.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-yandex/3.12.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-yandex/3.12.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-yandex%2F3.12.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-yandex%2F3.12.0rc1/manifests"},{"name":"providers-jenkins/3.7.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:08.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-jenkins/3.7.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-jenkins/3.7.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-jenkins%2F3.7.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-jenkins%2F3.7.0rc1/manifests"},{"name":"providers-samba/4.8.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:08.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-samba/4.8.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-samba/4.8.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-samba%2F4.8.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-samba%2F4.8.0rc1/manifests"},{"name":"providers-sqlite/3.9.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:08.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-sqlite/3.9.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-sqlite/3.9.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-sqlite%2F3.9.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-sqlite%2F3.9.0rc1/manifests"},{"name":"providers-http/4.13.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:07.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-http/4.13.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-http/4.13.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-http%2F4.13.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-http%2F4.13.0rc1/manifests"},{"name":"providers-grpc/3.6.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:07.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-grpc/3.6.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-grpc/3.6.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-grpc%2F3.6.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-grpc%2F3.6.0rc1/manifests"},{"name":"providers-opensearch/1.4.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:07.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-opensearch/1.4.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-opensearch/1.4.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-opensearch%2F1.4.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-opensearch%2F1.4.0rc1/manifests"},{"name":"providers-mysql/5.7.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:07.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-mysql/5.7.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-mysql/5.7.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-mysql%2F5.7.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-mysql%2F5.7.0rc1/manifests"},{"name":"providers-papermill/3.8.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:07.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-papermill/3.8.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-papermill/3.8.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-papermill%2F3.8.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-papermill%2F3.8.0rc1/manifests"},{"name":"providers-qdrant/1.2.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:07.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-qdrant/1.2.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-qdrant/1.2.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-qdrant%2F1.2.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-qdrant%2F1.2.0rc1/manifests"},{"name":"providers-openai/1.3.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:07.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-openai/1.3.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-openai/1.3.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-openai%2F1.3.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-openai%2F1.3.0rc1/manifests"},{"name":"providers-docker/3.13.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:07.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-docker/3.13.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-docker/3.13.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-docker%2F3.13.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-docker%2F3.13.0rc1/manifests"},{"name":"providers-imap/3.7.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:07.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-imap/3.7.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-imap/3.7.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-imap%2F3.7.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-imap%2F3.7.0rc1/manifests"},{"name":"providers-cncf-kubernetes/8.4.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:07.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-cncf-kubernetes/8.4.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-cncf-kubernetes/8.4.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cncf-kubernetes%2F8.4.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cncf-kubernetes%2F8.4.0rc1/manifests"},{"name":"providers-redis/3.8.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:07.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-redis/3.8.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-redis/3.8.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-redis%2F3.8.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-redis%2F3.8.0rc1/manifests"},{"name":"providers-elasticsearch/5.5.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:07.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-elasticsearch/5.5.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-elasticsearch/5.5.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-elasticsearch%2F5.5.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-elasticsearch%2F5.5.0rc1/manifests"},{"name":"providers-common-sql/1.16.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:07.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-common-sql/1.16.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-common-sql/1.16.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-common-sql%2F1.16.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-common-sql%2F1.16.0rc1/manifests"},{"name":"providers-singularity/3.6.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:07.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-singularity/3.6.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-singularity/3.6.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-singularity%2F3.6.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-singularity%2F3.6.0rc1/manifests"},{"name":"providers-cohere/1.3.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:07.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-cohere/1.3.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-cohere/1.3.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cohere%2F1.3.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cohere%2F1.3.0rc1/manifests"},{"name":"providers-ftp/3.11.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:07.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-ftp/3.11.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-ftp/3.11.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-ftp%2F3.11.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-ftp%2F3.11.0rc1/manifests"},{"name":"providers-alibaba/2.9.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:07.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-alibaba/2.9.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-alibaba/2.9.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-alibaba%2F2.9.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-alibaba%2F2.9.0rc1/manifests"},{"name":"providers-dbt-cloud/3.10.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:07.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-dbt-cloud/3.10.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-dbt-cloud/3.10.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-dbt-cloud%2F3.10.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-dbt-cloud%2F3.10.0rc1/manifests"},{"name":"providers-oracle/3.11.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:07.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-oracle/3.11.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-oracle/3.11.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-oracle%2F3.11.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-oracle%2F3.11.0rc1/manifests"},{"name":"providers-discord/3.8.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:07.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-discord/3.8.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-discord/3.8.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-discord%2F3.8.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-discord%2F3.8.0rc1/manifests"},{"name":"providers-sftp/4.11.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:07.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-sftp/4.11.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-sftp/4.11.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-sftp%2F4.11.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-sftp%2F4.11.0rc1/manifests"},{"name":"providers-apache-kylin/3.7.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:07.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-kylin/3.7.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-kylin/3.7.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-kylin%2F3.7.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-kylin%2F3.7.0rc1/manifests"},{"name":"providers-hashicorp/3.8.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:07.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-hashicorp/3.8.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-hashicorp/3.8.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-hashicorp%2F3.8.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-hashicorp%2F3.8.0rc1/manifests"},{"name":"providers-opsgenie/5.7.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:07.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-opsgenie/5.7.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-opsgenie/5.7.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-opsgenie%2F5.7.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-opsgenie%2F5.7.0rc1/manifests"},{"name":"providers-mongo/4.2.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:07.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-mongo/4.2.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-mongo/4.2.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-mongo%2F4.2.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-mongo%2F4.2.0rc1/manifests"},{"name":"providers-openlineage/1.11.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:07.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-openlineage/1.11.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-openlineage/1.11.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-openlineage%2F1.11.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-openlineage%2F1.11.0rc1/manifests"},{"name":"providers-segment/3.6.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:07.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-segment/3.6.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-segment/3.6.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-segment%2F3.6.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-segment%2F3.6.0rc1/manifests"},{"name":"providers-arangodb/2.6.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:07.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-arangodb/2.6.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-arangodb/2.6.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-arangodb%2F2.6.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-arangodb%2F2.6.0rc1/manifests"},{"name":"providers-cloudant/3.6.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:07.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-cloudant/3.6.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-cloudant/3.6.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cloudant%2F3.6.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cloudant%2F3.6.0rc1/manifests"},{"name":"providers-odbc/4.7.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:07.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-odbc/4.7.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-odbc/4.7.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-odbc%2F4.7.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-odbc%2F4.7.0rc1/manifests"},{"name":"providers-neo4j/3.7.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:07.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-neo4j/3.7.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-neo4j/3.7.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-neo4j%2F3.7.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-neo4j%2F3.7.0rc1/manifests"},{"name":"providers-microsoft-mssql/3.9.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:07.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-microsoft-mssql/3.9.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-microsoft-mssql/3.9.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-mssql%2F3.9.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-mssql%2F3.9.0rc1/manifests"},{"name":"providers-apache-kafka/1.6.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:07.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-kafka/1.6.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-kafka/1.6.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-kafka%2F1.6.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-kafka%2F1.6.0rc1/manifests"},{"name":"providers-microsoft-winrm/3.6.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:07.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-microsoft-winrm/3.6.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-microsoft-winrm/3.6.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-winrm%2F3.6.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-winrm%2F3.6.0rc1/manifests"},{"name":"providers-apache-hive/8.2.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:07.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-hive/8.2.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-hive/8.2.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-hive%2F8.2.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-hive%2F8.2.0rc1/manifests"},{"name":"providers-influxdb/2.7.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:07.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-influxdb/2.7.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-influxdb/2.7.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-influxdb%2F2.7.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-influxdb%2F2.7.0rc1/manifests"},{"name":"providers-pagerduty/3.8.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:07.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-pagerduty/3.8.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-pagerduty/3.8.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-pagerduty%2F3.8.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-pagerduty%2F3.8.0rc1/manifests"},{"name":"providers-microsoft-azure/10.4.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:07.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-microsoft-azure/10.4.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-microsoft-azure/10.4.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-azure%2F10.4.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-azure%2F10.4.0rc1/manifests"},{"name":"providers-trino/5.8.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:07.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-trino/5.8.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-trino/5.8.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-trino%2F5.8.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-trino%2F5.8.0rc1/manifests"},{"name":"providers-amazon/8.28.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:07.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-amazon/8.28.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-amazon/8.28.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-amazon%2F8.28.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-amazon%2F8.28.0rc1/manifests"},{"name":"providers-jdbc/4.5.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:07.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-jdbc/4.5.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-jdbc/4.5.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-jdbc%2F4.5.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-jdbc%2F4.5.0rc1/manifests"},{"name":"providers-apache-impala/1.5.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:07.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-impala/1.5.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-impala/1.5.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-impala%2F1.5.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-impala%2F1.5.0rc1/manifests"},{"name":"providers-postgres/5.12.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:07.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-postgres/5.12.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-postgres/5.12.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-postgres%2F5.12.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-postgres%2F5.12.0rc1/manifests"},{"name":"providers-sendgrid/3.6.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:07.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-sendgrid/3.6.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-sendgrid/3.6.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-sendgrid%2F3.6.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-sendgrid%2F3.6.0rc1/manifests"},{"name":"providers-ydb/1.3.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:07.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-ydb/1.3.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-ydb/1.3.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-ydb%2F1.3.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-ydb%2F1.3.0rc1/manifests"},{"name":"providers-tableau/4.6.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:07.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-tableau/4.6.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-tableau/4.6.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-tableau%2F4.6.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-tableau%2F4.6.0rc1/manifests"},{"name":"providers-telegram/4.6.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:07.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-telegram/4.6.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-telegram/4.6.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-telegram%2F4.6.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-telegram%2F4.6.0rc1/manifests"},{"name":"providers-apache-pig/4.5.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:07.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-pig/4.5.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-pig/4.5.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-pig%2F4.5.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-pig%2F4.5.0rc1/manifests"},{"name":"providers-teradata/2.6.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:07.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-teradata/2.6.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-teradata/2.6.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-teradata%2F2.6.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-teradata%2F2.6.0rc1/manifests"},{"name":"providers-weaviate/2.1.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:07.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-weaviate/2.1.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-weaviate/2.1.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-weaviate%2F2.1.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-weaviate%2F2.1.0rc1/manifests"},{"name":"providers-datadog/3.7.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:07.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-datadog/3.7.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-datadog/3.7.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-datadog%2F3.7.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-datadog%2F3.7.0rc1/manifests"},{"name":"providers-apache-hdfs/4.5.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:07.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-hdfs/4.5.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-hdfs/4.5.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-hdfs%2F4.5.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-hdfs%2F4.5.0rc1/manifests"},{"name":"providers-apache-livy/3.9.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:07.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-livy/3.9.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-livy/3.9.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-livy%2F3.9.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-livy%2F3.9.0rc1/manifests"},{"name":"providers-exasol/4.6.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:07.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-exasol/4.6.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-exasol/4.6.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-exasol%2F4.6.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-exasol%2F4.6.0rc1/manifests"},{"name":"providers-pinecone/2.1.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:07.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-pinecone/2.1.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-pinecone/2.1.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-pinecone%2F2.1.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-pinecone%2F2.1.0rc1/manifests"},{"name":"providers-apache-spark/4.10.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:06.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-spark/4.10.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-spark/4.10.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-spark%2F4.10.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-spark%2F4.10.0rc1/manifests"},{"name":"providers-common-compat/1.2.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:06.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-common-compat/1.2.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-common-compat/1.2.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-common-compat%2F1.2.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-common-compat%2F1.2.0rc1/manifests"},{"name":"providers-salesforce/5.8.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:06.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-salesforce/5.8.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-salesforce/5.8.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-salesforce%2F5.8.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-salesforce%2F5.8.0rc1/manifests"},{"name":"providers-databricks/6.9.0rc1","sha":"75fb7acbaca09a040067f0a5a37637ff44eb9e14","kind":"tag","published_at":"2024-08-19T06:31:06.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-databricks/6.9.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-databricks/6.9.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-databricks%2F6.9.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-databricks%2F6.9.0rc1/manifests"},{"name":"2.10.0","sha":"e001b88f5875cfd7e295891a0bbdbc75a3dccbfb","kind":"tag","published_at":"2024-08-15T21:08:17.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/2.10.0","html_url":"https://github.com/apache/airflow/releases/tag/2.10.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/2.10.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/2.10.0/manifests"},{"name":"constraints-2.10.0","sha":"fb55fc23dd3b7492554bfd17cf4ec87f0ab99e41","kind":"tag","published_at":"2024-08-15T21:05:52.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/constraints-2.10.0","html_url":"https://github.com/apache/airflow/releases/tag/constraints-2.10.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/constraints-2.10.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/constraints-2.10.0/manifests"},{"name":"constraints-2.10.0rc1","sha":"fb55fc23dd3b7492554bfd17cf4ec87f0ab99e41","kind":"tag","published_at":"2024-08-12T15:57:38.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/constraints-2.10.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/constraints-2.10.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/constraints-2.10.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/constraints-2.10.0rc1/manifests"},{"name":"2.10.0rc1","sha":"e001b88f5875cfd7e295891a0bbdbc75a3dccbfb","kind":"tag","published_at":"2024-08-12T14:58:18.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/2.10.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/2.10.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/2.10.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/2.10.0rc1/manifests"},{"name":"providers-ssh/3.12.0","sha":"d23881c6489916113921dcedf85077441b44aaf3","kind":"tag","published_at":"2024-08-06T20:34:44.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-ssh/3.12.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-ssh/3.12.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-ssh%2F3.12.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-ssh%2F3.12.0/manifests"},{"name":"providers-apache-pinot/4.4.2","sha":"d23881c6489916113921dcedf85077441b44aaf3","kind":"tag","published_at":"2024-08-06T20:34:44.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-pinot/4.4.2","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-pinot/4.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-pinot%2F4.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-pinot%2F4.4.2/manifests"},{"name":"providers-ftp/3.10.1","sha":"d23881c6489916113921dcedf85077441b44aaf3","kind":"tag","published_at":"2024-08-06T20:34:44.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-ftp/3.10.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-ftp/3.10.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-ftp%2F3.10.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-ftp%2F3.10.1/manifests"},{"name":"providers-apache-drill/2.7.3","sha":"d23881c6489916113921dcedf85077441b44aaf3","kind":"tag","published_at":"2024-08-06T20:34:44.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-drill/2.7.3","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-drill/2.7.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-drill%2F2.7.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-drill%2F2.7.3/manifests"},{"name":"providers-cncf-kubernetes/8.3.4","sha":"d23881c6489916113921dcedf85077441b44aaf3","kind":"tag","published_at":"2024-08-06T20:34:44.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-cncf-kubernetes/8.3.4","html_url":"https://github.com/apache/airflow/releases/tag/providers-cncf-kubernetes/8.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cncf-kubernetes%2F8.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cncf-kubernetes%2F8.3.4/manifests"},{"name":"providers-jdbc/4.4.0","sha":"d23881c6489916113921dcedf85077441b44aaf3","kind":"tag","published_at":"2024-08-06T20:34:44.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-jdbc/4.4.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-jdbc/4.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-jdbc%2F4.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-jdbc%2F4.4.0/manifests"},{"name":"providers-apache-impala/1.4.2","sha":"d23881c6489916113921dcedf85077441b44aaf3","kind":"tag","published_at":"2024-08-06T20:34:44.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-impala/1.4.2","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-impala/1.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-impala%2F1.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-impala%2F1.4.2/manifests"},{"name":"providers-slack/8.8.0","sha":"d23881c6489916113921dcedf85077441b44aaf3","kind":"tag","published_at":"2024-08-06T20:34:43.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-slack/8.8.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-slack/8.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-slack%2F8.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-slack%2F8.8.0/manifests"},{"name":"providers-celery/3.7.3","sha":"d23881c6489916113921dcedf85077441b44aaf3","kind":"tag","published_at":"2024-08-06T20:34:43.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-celery/3.7.3","html_url":"https://github.com/apache/airflow/releases/tag/providers-celery/3.7.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-celery%2F3.7.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-celery%2F3.7.3/manifests"},{"name":"providers-snowflake/5.6.1","sha":"d23881c6489916113921dcedf85077441b44aaf3","kind":"tag","published_at":"2024-08-06T20:34:43.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-snowflake/5.6.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-snowflake/5.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-snowflake%2F5.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-snowflake%2F5.6.1/manifests"},{"name":"providers-sftp/4.10.3","sha":"d23881c6489916113921dcedf85077441b44aaf3","kind":"tag","published_at":"2024-08-06T20:34:43.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-sftp/4.10.3","html_url":"https://github.com/apache/airflow/releases/tag/providers-sftp/4.10.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-sftp%2F4.10.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-sftp%2F4.10.3/manifests"},{"name":"providers-sqlite/3.8.2","sha":"d23881c6489916113921dcedf85077441b44aaf3","kind":"tag","published_at":"2024-08-06T20:34:43.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-sqlite/3.8.2","html_url":"https://github.com/apache/airflow/releases/tag/providers-sqlite/3.8.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-sqlite%2F3.8.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-sqlite%2F3.8.2/manifests"},{"name":"providers-common-compat/1.1.0","sha":"d23881c6489916113921dcedf85077441b44aaf3","kind":"tag","published_at":"2024-08-06T20:34:43.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-common-compat/1.1.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-common-compat/1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-common-compat%2F1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-common-compat%2F1.1.0/manifests"},{"name":"providers-apprise/1.3.2","sha":"d23881c6489916113921dcedf85077441b44aaf3","kind":"tag","published_at":"2024-08-06T20:34:43.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apprise/1.3.2","html_url":"https://github.com/apache/airflow/releases/tag/providers-apprise/1.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apprise%2F1.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apprise%2F1.3.2/manifests"},{"name":"providers-ydb/1.2.0","sha":"d23881c6489916113921dcedf85077441b44aaf3","kind":"tag","published_at":"2024-08-06T20:34:43.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-ydb/1.2.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-ydb/1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-ydb%2F1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-ydb%2F1.2.0/manifests"},{"name":"providers-pgvector/1.2.2","sha":"d23881c6489916113921dcedf85077441b44aaf3","kind":"tag","published_at":"2024-08-06T20:34:43.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-pgvector/1.2.2","html_url":"https://github.com/apache/airflow/releases/tag/providers-pgvector/1.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-pgvector%2F1.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-pgvector%2F1.2.2/manifests"},{"name":"providers-teradata/2.5.0","sha":"d23881c6489916113921dcedf85077441b44aaf3","kind":"tag","published_at":"2024-08-06T20:34:43.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-teradata/2.5.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-teradata/2.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-teradata%2F2.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-teradata%2F2.5.0/manifests"},{"name":"providers-qdrant/1.1.2","sha":"d23881c6489916113921dcedf85077441b44aaf3","kind":"tag","published_at":"2024-08-06T20:34:43.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-qdrant/1.1.2","html_url":"https://github.com/apache/airflow/releases/tag/providers-qdrant/1.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-qdrant%2F1.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-qdrant%2F1.1.2/manifests"},{"name":"providers-elasticsearch/5.4.2","sha":"d23881c6489916113921dcedf85077441b44aaf3","kind":"tag","published_at":"2024-08-06T20:34:43.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-elasticsearch/5.4.2","html_url":"https://github.com/apache/airflow/releases/tag/providers-elasticsearch/5.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-elasticsearch%2F5.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-elasticsearch%2F5.4.2/manifests"},{"name":"providers-openlineage/1.10.0","sha":"d23881c6489916113921dcedf85077441b44aaf3","kind":"tag","published_at":"2024-08-06T20:34:43.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-openlineage/1.10.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-openlineage/1.10.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-openlineage%2F1.10.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-openlineage%2F1.10.0/manifests"},{"name":"providers-postgres/5.11.3","sha":"d23881c6489916113921dcedf85077441b44aaf3","kind":"tag","published_at":"2024-08-06T20:34:43.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-postgres/5.11.3","html_url":"https://github.com/apache/airflow/releases/tag/providers-postgres/5.11.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-postgres%2F5.11.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-postgres%2F5.11.3/manifests"},{"name":"providers-docker/3.12.3","sha":"d23881c6489916113921dcedf85077441b44aaf3","kind":"tag","published_at":"2024-08-06T20:34:43.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-docker/3.12.3","html_url":"https://github.com/apache/airflow/releases/tag/providers-docker/3.12.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-docker%2F3.12.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-docker%2F3.12.3/manifests"},{"name":"providers-databricks/6.8.0","sha":"d23881c6489916113921dcedf85077441b44aaf3","kind":"tag","published_at":"2024-08-06T20:34:43.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-databricks/6.8.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-databricks/6.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-databricks%2F6.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-databricks%2F6.8.0/manifests"},{"name":"providers-amazon/8.27.0","sha":"d23881c6489916113921dcedf85077441b44aaf3","kind":"tag","published_at":"2024-08-06T20:34:43.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-amazon/8.27.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-amazon/8.27.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-amazon%2F8.27.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-amazon%2F8.27.0/manifests"},{"name":"providers-common-sql/1.15.0","sha":"d23881c6489916113921dcedf85077441b44aaf3","kind":"tag","published_at":"2024-08-06T20:34:43.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-common-sql/1.15.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-common-sql/1.15.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-common-sql%2F1.15.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-common-sql%2F1.15.0/manifests"},{"name":"providers-common-io/1.4.0","sha":"d23881c6489916113921dcedf85077441b44aaf3","kind":"tag","published_at":"2024-08-06T20:34:43.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-common-io/1.4.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-common-io/1.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-common-io%2F1.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-common-io%2F1.4.0/manifests"},{"name":"providers-exasol/4.5.3","sha":"d23881c6489916113921dcedf85077441b44aaf3","kind":"tag","published_at":"2024-08-06T20:34:43.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-exasol/4.5.3","html_url":"https://github.com/apache/airflow/releases/tag/providers-exasol/4.5.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-exasol%2F4.5.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-exasol%2F4.5.3/manifests"},{"name":"providers-mysql/5.6.3","sha":"d23881c6489916113921dcedf85077441b44aaf3","kind":"tag","published_at":"2024-08-06T20:34:43.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-mysql/5.6.3","html_url":"https://github.com/apache/airflow/releases/tag/providers-mysql/5.6.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-mysql%2F5.6.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-mysql%2F5.6.3/manifests"},{"name":"providers-apache-beam/5.7.2","sha":"d23881c6489916113921dcedf85077441b44aaf3","kind":"tag","published_at":"2024-08-06T20:34:43.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-beam/5.7.2","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-beam/5.7.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-beam%2F5.7.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-beam%2F5.7.2/manifests"},{"name":"providers-odbc/4.6.3","sha":"d23881c6489916113921dcedf85077441b44aaf3","kind":"tag","published_at":"2024-08-06T20:34:43.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-odbc/4.6.3","html_url":"https://github.com/apache/airflow/releases/tag/providers-odbc/4.6.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-odbc%2F4.6.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-odbc%2F4.6.3/manifests"},{"name":"providers-microsoft-mssql/3.8.0","sha":"d23881c6489916113921dcedf85077441b44aaf3","kind":"tag","published_at":"2024-08-06T20:34:43.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-microsoft-mssql/3.8.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-microsoft-mssql/3.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-mssql%2F3.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-mssql%2F3.8.0/manifests"},{"name":"providers-microsoft-azure/10.3.0","sha":"d23881c6489916113921dcedf85077441b44aaf3","kind":"tag","published_at":"2024-08-06T20:34:43.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-microsoft-azure/10.3.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-microsoft-azure/10.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-azure%2F10.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-azure%2F10.3.0/manifests"},{"name":"providers-apache-druid/3.10.2","sha":"d23881c6489916113921dcedf85077441b44aaf3","kind":"tag","published_at":"2024-08-06T20:34:43.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-druid/3.10.2","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-druid/3.10.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-druid%2F3.10.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-druid%2F3.10.2/manifests"},{"name":"providers-google/10.21.1","sha":"d23881c6489916113921dcedf85077441b44aaf3","kind":"tag","published_at":"2024-08-06T20:34:43.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-google/10.21.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-google/10.21.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-google%2F10.21.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-google%2F10.21.1/manifests"},{"name":"providers-apache-beam/5.7.2rc2","sha":"d23881c6489916113921dcedf85077441b44aaf3","kind":"tag","published_at":"2024-08-03T15:01:06.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-beam/5.7.2rc2","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-beam/5.7.2rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-beam%2F5.7.2rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-beam%2F5.7.2rc2/manifests"},{"name":"providers-odbc/4.6.3rc1","sha":"d23881c6489916113921dcedf85077441b44aaf3","kind":"tag","published_at":"2024-08-03T15:01:06.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-odbc/4.6.3rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-odbc/4.6.3rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-odbc%2F4.6.3rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-odbc%2F4.6.3rc1/manifests"},{"name":"providers-sftp/4.10.3rc1","sha":"d23881c6489916113921dcedf85077441b44aaf3","kind":"tag","published_at":"2024-08-03T15:01:06.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-sftp/4.10.3rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-sftp/4.10.3rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-sftp%2F4.10.3rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-sftp%2F4.10.3rc1/manifests"},{"name":"providers-apache-impala/1.4.2rc1","sha":"d23881c6489916113921dcedf85077441b44aaf3","kind":"tag","published_at":"2024-08-03T15:01:06.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-impala/1.4.2rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-impala/1.4.2rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-impala%2F1.4.2rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-impala%2F1.4.2rc1/manifests"},{"name":"providers-jdbc/4.4.0rc1","sha":"d23881c6489916113921dcedf85077441b44aaf3","kind":"tag","published_at":"2024-08-03T15:01:06.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-jdbc/4.4.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-jdbc/4.4.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-jdbc%2F4.4.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-jdbc%2F4.4.0rc1/manifests"},{"name":"providers-common-io/1.4.0rc1","sha":"d23881c6489916113921dcedf85077441b44aaf3","kind":"tag","published_at":"2024-08-03T15:01:06.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-common-io/1.4.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-common-io/1.4.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-common-io%2F1.4.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-common-io%2F1.4.0rc1/manifests"},{"name":"providers-google/10.21.1rc2","sha":"d23881c6489916113921dcedf85077441b44aaf3","kind":"tag","published_at":"2024-08-03T15:01:06.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-google/10.21.1rc2","html_url":"https://github.com/apache/airflow/releases/tag/providers-google/10.21.1rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-google%2F10.21.1rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-google%2F10.21.1rc2/manifests"},{"name":"providers-ftp/3.10.1rc1","sha":"d23881c6489916113921dcedf85077441b44aaf3","kind":"tag","published_at":"2024-08-03T15:01:06.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-ftp/3.10.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-ftp/3.10.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-ftp%2F3.10.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-ftp%2F3.10.1rc1/manifests"},{"name":"providers-exasol/4.5.3rc1","sha":"d23881c6489916113921dcedf85077441b44aaf3","kind":"tag","published_at":"2024-08-03T15:01:06.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-exasol/4.5.3rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-exasol/4.5.3rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-exasol%2F4.5.3rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-exasol%2F4.5.3rc1/manifests"},{"name":"providers-elasticsearch/5.4.2rc1","sha":"d23881c6489916113921dcedf85077441b44aaf3","kind":"tag","published_at":"2024-08-03T15:01:06.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-elasticsearch/5.4.2rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-elasticsearch/5.4.2rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-elasticsearch%2F5.4.2rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-elasticsearch%2F5.4.2rc1/manifests"},{"name":"providers-apache-drill/2.7.3rc1","sha":"d23881c6489916113921dcedf85077441b44aaf3","kind":"tag","published_at":"2024-08-03T15:01:05.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-drill/2.7.3rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-drill/2.7.3rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-drill%2F2.7.3rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-drill%2F2.7.3rc1/manifests"},{"name":"providers-microsoft-azure/10.3.0rc1","sha":"d23881c6489916113921dcedf85077441b44aaf3","kind":"tag","published_at":"2024-08-03T15:01:05.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-microsoft-azure/10.3.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-microsoft-azure/10.3.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-azure%2F10.3.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-azure%2F10.3.0rc1/manifests"},{"name":"providers-amazon/8.27.0rc2","sha":"d23881c6489916113921dcedf85077441b44aaf3","kind":"tag","published_at":"2024-08-03T15:01:05.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-amazon/8.27.0rc2","html_url":"https://github.com/apache/airflow/releases/tag/providers-amazon/8.27.0rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-amazon%2F8.27.0rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-amazon%2F8.27.0rc2/manifests"},{"name":"providers-ssh/3.12.0rc1","sha":"d23881c6489916113921dcedf85077441b44aaf3","kind":"tag","published_at":"2024-08-03T15:01:05.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-ssh/3.12.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-ssh/3.12.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-ssh%2F3.12.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-ssh%2F3.12.0rc1/manifests"},{"name":"providers-teradata/2.5.0rc1","sha":"d23881c6489916113921dcedf85077441b44aaf3","kind":"tag","published_at":"2024-08-03T15:01:05.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-teradata/2.5.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-teradata/2.5.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-teradata%2F2.5.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-teradata%2F2.5.0rc1/manifests"},{"name":"providers-ydb/1.2.0rc1","sha":"d23881c6489916113921dcedf85077441b44aaf3","kind":"tag","published_at":"2024-08-03T15:01:05.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-ydb/1.2.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-ydb/1.2.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-ydb%2F1.2.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-ydb%2F1.2.0rc1/manifests"},{"name":"providers-snowflake/5.6.1rc1","sha":"d23881c6489916113921dcedf85077441b44aaf3","kind":"tag","published_at":"2024-08-03T15:01:05.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-snowflake/5.6.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-snowflake/5.6.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-snowflake%2F5.6.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-snowflake%2F5.6.1rc1/manifests"},{"name":"providers-apache-pinot/4.4.2rc1","sha":"d23881c6489916113921dcedf85077441b44aaf3","kind":"tag","published_at":"2024-08-03T15:01:05.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-pinot/4.4.2rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-pinot/4.4.2rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-pinot%2F4.4.2rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-pinot%2F4.4.2rc1/manifests"},{"name":"providers-pgvector/1.2.2rc1","sha":"d23881c6489916113921dcedf85077441b44aaf3","kind":"tag","published_at":"2024-08-03T15:01:05.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-pgvector/1.2.2rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-pgvector/1.2.2rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-pgvector%2F1.2.2rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-pgvector%2F1.2.2rc1/manifests"},{"name":"providers-cncf-kubernetes/8.3.4rc1","sha":"d23881c6489916113921dcedf85077441b44aaf3","kind":"tag","published_at":"2024-08-03T15:01:05.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-cncf-kubernetes/8.3.4rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-cncf-kubernetes/8.3.4rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cncf-kubernetes%2F8.3.4rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cncf-kubernetes%2F8.3.4rc1/manifests"},{"name":"providers-sqlite/3.8.2rc1","sha":"d23881c6489916113921dcedf85077441b44aaf3","kind":"tag","published_at":"2024-08-03T15:01:05.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-sqlite/3.8.2rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-sqlite/3.8.2rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-sqlite%2F3.8.2rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-sqlite%2F3.8.2rc1/manifests"},{"name":"providers-common-compat/1.1.0rc1","sha":"d23881c6489916113921dcedf85077441b44aaf3","kind":"tag","published_at":"2024-08-03T15:01:05.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-common-compat/1.1.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-common-compat/1.1.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-common-compat%2F1.1.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-common-compat%2F1.1.0rc1/manifests"},{"name":"providers-openlineage/1.10.0rc1","sha":"d23881c6489916113921dcedf85077441b44aaf3","kind":"tag","published_at":"2024-08-03T15:01:05.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-openlineage/1.10.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-openlineage/1.10.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-openlineage%2F1.10.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-openlineage%2F1.10.0rc1/manifests"},{"name":"providers-mysql/5.6.3rc1","sha":"d23881c6489916113921dcedf85077441b44aaf3","kind":"tag","published_at":"2024-08-03T15:01:05.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-mysql/5.6.3rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-mysql/5.6.3rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-mysql%2F5.6.3rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-mysql%2F5.6.3rc1/manifests"},{"name":"providers-microsoft-mssql/3.8.0rc1","sha":"d23881c6489916113921dcedf85077441b44aaf3","kind":"tag","published_at":"2024-08-03T15:01:05.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-microsoft-mssql/3.8.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-microsoft-mssql/3.8.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-mssql%2F3.8.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-mssql%2F3.8.0rc1/manifests"},{"name":"providers-qdrant/1.1.2rc1","sha":"d23881c6489916113921dcedf85077441b44aaf3","kind":"tag","published_at":"2024-08-03T15:01:05.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-qdrant/1.1.2rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-qdrant/1.1.2rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-qdrant%2F1.1.2rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-qdrant%2F1.1.2rc1/manifests"},{"name":"providers-common-sql/1.15.0rc1","sha":"d23881c6489916113921dcedf85077441b44aaf3","kind":"tag","published_at":"2024-08-03T15:01:05.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-common-sql/1.15.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-common-sql/1.15.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-common-sql%2F1.15.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-common-sql%2F1.15.0rc1/manifests"},{"name":"providers-apache-druid/3.10.2rc1","sha":"d23881c6489916113921dcedf85077441b44aaf3","kind":"tag","published_at":"2024-08-03T15:01:05.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-druid/3.10.2rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-druid/3.10.2rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-druid%2F3.10.2rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-druid%2F3.10.2rc1/manifests"},{"name":"providers-apprise/1.3.2rc1","sha":"d23881c6489916113921dcedf85077441b44aaf3","kind":"tag","published_at":"2024-08-03T15:01:05.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apprise/1.3.2rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apprise/1.3.2rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apprise%2F1.3.2rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apprise%2F1.3.2rc1/manifests"},{"name":"providers-postgres/5.11.3rc1","sha":"d23881c6489916113921dcedf85077441b44aaf3","kind":"tag","published_at":"2024-08-03T15:01:05.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-postgres/5.11.3rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-postgres/5.11.3rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-postgres%2F5.11.3rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-postgres%2F5.11.3rc1/manifests"},{"name":"providers-databricks/6.8.0rc1","sha":"d23881c6489916113921dcedf85077441b44aaf3","kind":"tag","published_at":"2024-08-03T15:01:05.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-databricks/6.8.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-databricks/6.8.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-databricks%2F6.8.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-databricks%2F6.8.0rc1/manifests"},{"name":"providers-docker/3.12.3rc1","sha":"d23881c6489916113921dcedf85077441b44aaf3","kind":"tag","published_at":"2024-08-03T15:01:05.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-docker/3.12.3rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-docker/3.12.3rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-docker%2F3.12.3rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-docker%2F3.12.3rc1/manifests"},{"name":"providers-slack/8.8.0rc1","sha":"d23881c6489916113921dcedf85077441b44aaf3","kind":"tag","published_at":"2024-08-03T15:01:05.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-slack/8.8.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-slack/8.8.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-slack%2F8.8.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-slack%2F8.8.0rc1/manifests"},{"name":"providers-celery/3.7.3rc1","sha":"d23881c6489916113921dcedf85077441b44aaf3","kind":"tag","published_at":"2024-08-03T15:01:05.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-celery/3.7.3rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-celery/3.7.3rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-celery%2F3.7.3rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-celery%2F3.7.3rc1/manifests"},{"name":"constraints-2.10.0b2","sha":"b5b51422c6028b70f25b6a744b9a9acb22effb4a","kind":"tag","published_at":"2024-08-01T18:11:51.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/constraints-2.10.0b2","html_url":"https://github.com/apache/airflow/releases/tag/constraints-2.10.0b2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/constraints-2.10.0b2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/constraints-2.10.0b2/manifests"},{"name":"2.10.0b2","sha":"002a0753a2521ec47d6654deecf79b30a5580bd9","kind":"tag","published_at":"2024-08-01T17:54:00.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/2.10.0b2","html_url":"https://github.com/apache/airflow/releases/tag/2.10.0b2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/2.10.0b2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/2.10.0b2/manifests"},{"name":"providers-fab/1.2.2","sha":"7126678e87c11665c06ec29595472cfaa0c7fdd6","kind":"tag","published_at":"2024-07-31T14:18:50.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-fab/1.2.2","html_url":"https://github.com/apache/airflow/releases/tag/providers-fab/1.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-fab%2F1.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-fab%2F1.2.2/manifests"},{"name":"python-client-2.9.1","sha":"9cb7c47ff2b89890a3eb716cf2a174ee71ef0af3","kind":"tag","published_at":"2024-07-29T14:02:42.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/python-client-2.9.1","html_url":"https://github.com/apache/airflow/releases/tag/python-client-2.9.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/python-client-2.9.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/python-client-2.9.1/manifests"},{"name":"providers-amazon/8.27.0rc1","sha":"7126678e87c11665c06ec29595472cfaa0c7fdd6","kind":"tag","published_at":"2024-07-28T10:31:25.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-amazon/8.27.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-amazon/8.27.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-amazon%2F8.27.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-amazon%2F8.27.0rc1/manifests"},{"name":"providers-fab/1.2.2rc1","sha":"7126678e87c11665c06ec29595472cfaa0c7fdd6","kind":"tag","published_at":"2024-07-28T10:31:25.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-fab/1.2.2rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-fab/1.2.2rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-fab%2F1.2.2rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-fab%2F1.2.2rc1/manifests"},{"name":"providers-google/10.21.1rc1","sha":"7126678e87c11665c06ec29595472cfaa0c7fdd6","kind":"tag","published_at":"2024-07-28T10:31:25.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-google/10.21.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-google/10.21.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-google%2F10.21.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-google%2F10.21.1rc1/manifests"},{"name":"2.10.0b1","sha":"56068df2ed69ee879453b43fc89bf9776f772f31","kind":"tag","published_at":"2024-07-25T14:48:37.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/2.10.0b1","html_url":"https://github.com/apache/airflow/releases/tag/2.10.0b1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/2.10.0b1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/2.10.0b1/manifests"},{"name":"providers-apache-spark/4.9.0","sha":"0b0f8f0fc91891c9aa06fc6c23130a916e841872","kind":"tag","published_at":"2024-07-25T14:17:37.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-spark/4.9.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-spark/4.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-spark%2F4.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-spark%2F4.9.0/manifests"},{"name":"constraints-2.10.0b1","sha":"6a121456f5cec0760307509e068446cc820e42fe","kind":"commit","published_at":"2024-07-25T13:53:50.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/constraints-2.10.0b1","html_url":"https://github.com/apache/airflow/releases/tag/constraints-2.10.0b1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/constraints-2.10.0b1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/constraints-2.10.0b1/manifests"},{"name":"python-client-2.9.1rc1","sha":"9cb7c47ff2b89890a3eb716cf2a174ee71ef0af3","kind":"tag","published_at":"2024-07-25T06:21:15.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/python-client-2.9.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/python-client-2.9.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/python-client-2.9.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/python-client-2.9.1rc1/manifests"},{"name":"helm-chart/1.15.0","sha":"ff7463b1624d91fb6478ec367bbf84b88fb9b83d","kind":"tag","published_at":"2024-07-24T12:32:15.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/helm-chart/1.15.0","html_url":"https://github.com/apache/airflow/releases/tag/helm-chart/1.15.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/helm-chart%2F1.15.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/helm-chart%2F1.15.0/manifests"},{"name":"python-client-2.9.3rc1","sha":"70a928c1c2b824a8256ca1e7d8a9b492987cbab7","kind":"tag","published_at":"2024-07-22T14:50:15.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/python-client-2.9.3rc1","html_url":"https://github.com/apache/airflow/releases/tag/python-client-2.9.3rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/python-client-2.9.3rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/python-client-2.9.3rc1/manifests"},{"name":"providers-apache-beam/5.7.2rc1","sha":"0b0f8f0fc91891c9aa06fc6c23130a916e841872","kind":"tag","published_at":"2024-07-21T07:33:41.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-beam/5.7.2rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-beam/5.7.2rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-beam%2F5.7.2rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-beam%2F5.7.2rc1/manifests"},{"name":"providers-apache-spark/4.9.0rc1","sha":"0b0f8f0fc91891c9aa06fc6c23130a916e841872","kind":"tag","published_at":"2024-07-21T07:33:41.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-spark/4.9.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-spark/4.9.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-spark%2F4.9.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-spark%2F4.9.0rc1/manifests"},{"name":"helm-chart/1.15.0rc1","sha":"ff7463b1624d91fb6478ec367bbf84b88fb9b83d","kind":"tag","published_at":"2024-07-21T02:59:42.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/helm-chart/1.15.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/helm-chart/1.15.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/helm-chart%2F1.15.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/helm-chart%2F1.15.0rc1/manifests"},{"name":"2.9.3","sha":"81845de9d95a733b4eb7826aaabe23ba9813eba3","kind":"tag","published_at":"2024-07-16T07:14:53.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/2.9.3","html_url":"https://github.com/apache/airflow/releases/tag/2.9.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/2.9.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/2.9.3/manifests"},{"name":"constraints-2.9.3","sha":"fe10edfb85bea62b7d09eaaa7712fc0a882e11d4","kind":"tag","published_at":"2024-07-16T07:13:21.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/constraints-2.9.3","html_url":"https://github.com/apache/airflow/releases/tag/constraints-2.9.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/constraints-2.9.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/constraints-2.9.3/manifests"},{"name":"providers-weaviate/2.0.0","sha":"c09fcdf1d0e69497cf1b628df9ba3349eb688256","kind":"tag","published_at":"2024-07-15T11:42:08.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-weaviate/2.0.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-weaviate/2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-weaviate%2F2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-weaviate%2F2.0.0/manifests"},{"name":"providers-amazon/8.26.0","sha":"c09fcdf1d0e69497cf1b628df9ba3349eb688256","kind":"tag","published_at":"2024-07-15T11:42:08.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-amazon/8.26.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-amazon/8.26.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-amazon%2F8.26.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-amazon%2F8.26.0/manifests"},{"name":"constraints-2.9.3rc1","sha":"fe10edfb85bea62b7d09eaaa7712fc0a882e11d4","kind":"tag","published_at":"2024-07-12T15:57:08.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/constraints-2.9.3rc1","html_url":"https://github.com/apache/airflow/releases/tag/constraints-2.9.3rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/constraints-2.9.3rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/constraints-2.9.3rc1/manifests"},{"name":"2.9.3rc1","sha":"81845de9d95a733b4eb7826aaabe23ba9813eba3","kind":"tag","published_at":"2024-07-12T15:40:48.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/2.9.3rc1","html_url":"https://github.com/apache/airflow/releases/tag/2.9.3rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/2.9.3rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/2.9.3rc1/manifests"},{"name":"providers-amazon/8.26.0rc2","sha":"c09fcdf1d0e69497cf1b628df9ba3349eb688256","kind":"tag","published_at":"2024-07-12T14:06:29.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-amazon/8.26.0rc2","html_url":"https://github.com/apache/airflow/releases/tag/providers-amazon/8.26.0rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-amazon%2F8.26.0rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-amazon%2F8.26.0rc2/manifests"},{"name":"providers-weaviate/2.0.0rc2","sha":"c09fcdf1d0e69497cf1b628df9ba3349eb688256","kind":"tag","published_at":"2024-07-12T14:06:29.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-weaviate/2.0.0rc2","html_url":"https://github.com/apache/airflow/releases/tag/providers-weaviate/2.0.0rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-weaviate%2F2.0.0rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-weaviate%2F2.0.0rc2/manifests"},{"name":"providers-ydb/1.1.0","sha":"09a7bd1d585d2d306dd30435689f22b614fe0abf","kind":"tag","published_at":"2024-07-12T12:38:31.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-ydb/1.1.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-ydb/1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-ydb%2F1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-ydb%2F1.1.0/manifests"},{"name":"providers-docker/3.12.2","sha":"09a7bd1d585d2d306dd30435689f22b614fe0abf","kind":"tag","published_at":"2024-07-12T12:38:31.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-docker/3.12.2","html_url":"https://github.com/apache/airflow/releases/tag/providers-docker/3.12.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-docker%2F3.12.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-docker%2F3.12.2/manifests"},{"name":"providers-databricks/6.7.0","sha":"09a7bd1d585d2d306dd30435689f22b614fe0abf","kind":"tag","published_at":"2024-07-12T12:38:31.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-databricks/6.7.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-databricks/6.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-databricks%2F6.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-databricks%2F6.7.0/manifests"},{"name":"providers-influxdb/2.6.0","sha":"09a7bd1d585d2d306dd30435689f22b614fe0abf","kind":"tag","published_at":"2024-07-12T12:38:31.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-influxdb/2.6.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-influxdb/2.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-influxdb%2F2.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-influxdb%2F2.6.0/manifests"},{"name":"providers-google/10.21.0","sha":"09a7bd1d585d2d306dd30435689f22b614fe0abf","kind":"tag","published_at":"2024-07-12T12:38:31.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-google/10.21.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-google/10.21.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-google%2F10.21.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-google%2F10.21.0/manifests"},{"name":"providers-oracle/3.10.3","sha":"09a7bd1d585d2d306dd30435689f22b614fe0abf","kind":"tag","published_at":"2024-07-12T12:38:31.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-oracle/3.10.3","html_url":"https://github.com/apache/airflow/releases/tag/providers-oracle/3.10.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-oracle%2F3.10.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-oracle%2F3.10.3/manifests"},{"name":"providers-common-sql/1.14.2","sha":"09a7bd1d585d2d306dd30435689f22b614fe0abf","kind":"tag","published_at":"2024-07-12T12:38:31.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-common-sql/1.14.2","html_url":"https://github.com/apache/airflow/releases/tag/providers-common-sql/1.14.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-common-sql%2F1.14.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-common-sql%2F1.14.2/manifests"},{"name":"providers-microsoft-azure/10.2.0","sha":"09a7bd1d585d2d306dd30435689f22b614fe0abf","kind":"tag","published_at":"2024-07-12T12:38:31.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-microsoft-azure/10.2.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-microsoft-azure/10.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-azure%2F10.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-azure%2F10.2.0/manifests"},{"name":"providers-snowflake/5.6.0","sha":"09a7bd1d585d2d306dd30435689f22b614fe0abf","kind":"tag","published_at":"2024-07-12T12:38:31.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-snowflake/5.6.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-snowflake/5.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-snowflake%2F5.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-snowflake%2F5.6.0/manifests"},{"name":"providers-cncf-kubernetes/8.3.3","sha":"09a7bd1d585d2d306dd30435689f22b614fe0abf","kind":"tag","published_at":"2024-07-12T12:38:31.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-cncf-kubernetes/8.3.3","html_url":"https://github.com/apache/airflow/releases/tag/providers-cncf-kubernetes/8.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cncf-kubernetes%2F8.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cncf-kubernetes%2F8.3.3/manifests"},{"name":"providers-openlineage/1.9.1","sha":"09a7bd1d585d2d306dd30435689f22b614fe0abf","kind":"tag","published_at":"2024-07-12T12:38:31.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-openlineage/1.9.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-openlineage/1.9.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-openlineage%2F1.9.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-openlineage%2F1.9.1/manifests"},{"name":"providers-teradata/2.4.0","sha":"09a7bd1d585d2d306dd30435689f22b614fe0abf","kind":"tag","published_at":"2024-07-12T12:38:31.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-teradata/2.4.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-teradata/2.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-teradata%2F2.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-teradata%2F2.4.0/manifests"},{"name":"providers-fab/1.2.1","sha":"09a7bd1d585d2d306dd30435689f22b614fe0abf","kind":"tag","published_at":"2024-07-12T12:38:31.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-fab/1.2.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-fab/1.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-fab%2F1.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-fab%2F1.2.1/manifests"},{"name":"providers-ydb/1.1.0rc1","sha":"09a7bd1d585d2d306dd30435689f22b614fe0abf","kind":"tag","published_at":"2024-07-09T06:43:52.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-ydb/1.1.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-ydb/1.1.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-ydb%2F1.1.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-ydb%2F1.1.0rc1/manifests"},{"name":"providers-influxdb/2.6.0rc1","sha":"09a7bd1d585d2d306dd30435689f22b614fe0abf","kind":"tag","published_at":"2024-07-09T06:43:52.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-influxdb/2.6.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-influxdb/2.6.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-influxdb%2F2.6.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-influxdb%2F2.6.0rc1/manifests"},{"name":"providers-cncf-kubernetes/8.3.3rc1","sha":"09a7bd1d585d2d306dd30435689f22b614fe0abf","kind":"tag","published_at":"2024-07-09T06:43:52.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-cncf-kubernetes/8.3.3rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-cncf-kubernetes/8.3.3rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cncf-kubernetes%2F8.3.3rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cncf-kubernetes%2F8.3.3rc1/manifests"},{"name":"providers-amazon/8.26.0rc1","sha":"09a7bd1d585d2d306dd30435689f22b614fe0abf","kind":"tag","published_at":"2024-07-09T06:43:52.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-amazon/8.26.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-amazon/8.26.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-amazon%2F8.26.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-amazon%2F8.26.0rc1/manifests"},{"name":"providers-openlineage/1.9.1rc1","sha":"09a7bd1d585d2d306dd30435689f22b614fe0abf","kind":"tag","published_at":"2024-07-09T06:43:52.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-openlineage/1.9.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-openlineage/1.9.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-openlineage%2F1.9.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-openlineage%2F1.9.1rc1/manifests"},{"name":"providers-teradata/2.4.0rc1","sha":"09a7bd1d585d2d306dd30435689f22b614fe0abf","kind":"tag","published_at":"2024-07-09T06:43:51.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-teradata/2.4.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-teradata/2.4.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-teradata%2F2.4.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-teradata%2F2.4.0rc1/manifests"},{"name":"providers-oracle/3.10.3rc1","sha":"09a7bd1d585d2d306dd30435689f22b614fe0abf","kind":"tag","published_at":"2024-07-09T06:43:51.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-oracle/3.10.3rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-oracle/3.10.3rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-oracle%2F3.10.3rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-oracle%2F3.10.3rc1/manifests"},{"name":"providers-weaviate/2.0.0rc1","sha":"09a7bd1d585d2d306dd30435689f22b614fe0abf","kind":"tag","published_at":"2024-07-09T06:43:51.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-weaviate/2.0.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-weaviate/2.0.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-weaviate%2F2.0.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-weaviate%2F2.0.0rc1/manifests"},{"name":"providers-microsoft-azure/10.2.0rc1","sha":"09a7bd1d585d2d306dd30435689f22b614fe0abf","kind":"tag","published_at":"2024-07-09T06:43:51.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-microsoft-azure/10.2.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-microsoft-azure/10.2.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-azure%2F10.2.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-azure%2F10.2.0rc1/manifests"},{"name":"providers-common-sql/1.14.2rc1","sha":"09a7bd1d585d2d306dd30435689f22b614fe0abf","kind":"tag","published_at":"2024-07-09T06:43:51.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-common-sql/1.14.2rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-common-sql/1.14.2rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-common-sql%2F1.14.2rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-common-sql%2F1.14.2rc1/manifests"},{"name":"providers-google/10.21.0rc1","sha":"09a7bd1d585d2d306dd30435689f22b614fe0abf","kind":"tag","published_at":"2024-07-09T06:43:51.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-google/10.21.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-google/10.21.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-google%2F10.21.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-google%2F10.21.0rc1/manifests"},{"name":"providers-fab/1.2.1rc1","sha":"09a7bd1d585d2d306dd30435689f22b614fe0abf","kind":"tag","published_at":"2024-07-09T06:43:51.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-fab/1.2.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-fab/1.2.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-fab%2F1.2.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-fab%2F1.2.1rc1/manifests"},{"name":"providers-docker/3.12.2rc1","sha":"09a7bd1d585d2d306dd30435689f22b614fe0abf","kind":"tag","published_at":"2024-07-09T06:43:51.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-docker/3.12.2rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-docker/3.12.2rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-docker%2F3.12.2rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-docker%2F3.12.2rc1/manifests"},{"name":"providers-databricks/6.7.0rc1","sha":"09a7bd1d585d2d306dd30435689f22b614fe0abf","kind":"tag","published_at":"2024-07-09T06:43:51.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-databricks/6.7.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-databricks/6.7.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-databricks%2F6.7.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-databricks%2F6.7.0rc1/manifests"},{"name":"providers-snowflake/5.6.0rc1","sha":"09a7bd1d585d2d306dd30435689f22b614fe0abf","kind":"tag","published_at":"2024-07-09T06:43:51.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-snowflake/5.6.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-snowflake/5.6.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-snowflake%2F5.6.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-snowflake%2F5.6.0rc1/manifests"},{"name":"providers-openlineage/1.9.0","sha":"0fae73dc459a221e7a8cc0664b8c6c94555f6337","kind":"tag","published_at":"2024-07-04T18:21:57.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-openlineage/1.9.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-openlineage/1.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-openlineage%2F1.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-openlineage%2F1.9.0/manifests"},{"name":"providers-openlineage/1.9.0rc2","sha":"0fae73dc459a221e7a8cc0664b8c6c94555f6337","kind":"tag","published_at":"2024-07-02T15:49:35.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-openlineage/1.9.0rc2","html_url":"https://github.com/apache/airflow/releases/tag/providers-openlineage/1.9.0rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-openlineage%2F1.9.0rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-openlineage%2F1.9.0rc2/manifests"},{"name":"providers-github/2.6.2","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-27T07:50:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-github/2.6.2","html_url":"https://github.com/apache/airflow/releases/tag/providers-github/2.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-github%2F2.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-github%2F2.6.2/manifests"},{"name":"providers-http/4.12.0","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-27T07:50:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-http/4.12.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-http/4.12.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-http%2F4.12.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-http%2F4.12.0/manifests"},{"name":"providers-mongo/4.1.2","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-27T07:50:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-mongo/4.1.2","html_url":"https://github.com/apache/airflow/releases/tag/providers-mongo/4.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-mongo%2F4.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-mongo%2F4.1.2/manifests"},{"name":"providers-telegram/4.5.2","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-27T07:50:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-telegram/4.5.2","html_url":"https://github.com/apache/airflow/releases/tag/providers-telegram/4.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-telegram%2F4.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-telegram%2F4.5.2/manifests"},{"name":"providers-mysql/5.6.2","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-27T07:50:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-mysql/5.6.2","html_url":"https://github.com/apache/airflow/releases/tag/providers-mysql/5.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-mysql%2F5.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-mysql%2F5.6.2/manifests"},{"name":"providers-microsoft-azure/10.1.2","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-27T07:50:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-microsoft-azure/10.1.2","html_url":"https://github.com/apache/airflow/releases/tag/providers-microsoft-azure/10.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-azure%2F10.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-azure%2F10.1.2/manifests"},{"name":"providers-presto/5.5.2","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-27T07:50:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-presto/5.5.2","html_url":"https://github.com/apache/airflow/releases/tag/providers-presto/5.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-presto%2F5.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-presto%2F5.5.2/manifests"},{"name":"providers-pagerduty/3.7.2","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-27T07:50:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-pagerduty/3.7.2","html_url":"https://github.com/apache/airflow/releases/tag/providers-pagerduty/3.7.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-pagerduty%2F3.7.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-pagerduty%2F3.7.2/manifests"},{"name":"providers-postgres/5.11.2","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-27T07:50:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-postgres/5.11.2","html_url":"https://github.com/apache/airflow/releases/tag/providers-postgres/5.11.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-postgres%2F5.11.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-postgres%2F5.11.2/manifests"},{"name":"providers-odbc/4.6.2","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-27T07:50:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-odbc/4.6.2","html_url":"https://github.com/apache/airflow/releases/tag/providers-odbc/4.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-odbc%2F4.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-odbc%2F4.6.2/manifests"},{"name":"providers-apache-kafka/1.5.0","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-27T07:50:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-kafka/1.5.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-kafka/1.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-kafka%2F1.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-kafka%2F1.5.0/manifests"},{"name":"providers-common-compat/1.0.0","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-27T07:50:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-common-compat/1.0.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-common-compat/1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-common-compat%2F1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-common-compat%2F1.0.0/manifests"},{"name":"providers-apache-flink/1.4.2","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-27T07:50:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-flink/1.4.2","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-flink/1.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-flink%2F1.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-flink%2F1.4.2/manifests"},{"name":"providers-dbt-cloud/3.9.0","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-27T07:50:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-dbt-cloud/3.9.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-dbt-cloud/3.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-dbt-cloud%2F3.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-dbt-cloud%2F3.9.0/manifests"},{"name":"providers-common-sql/1.14.1","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-27T07:50:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-common-sql/1.14.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-common-sql/1.14.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-common-sql%2F1.14.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-common-sql%2F1.14.1/manifests"},{"name":"providers-databricks/6.6.0","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-27T07:50:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-databricks/6.6.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-databricks/6.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-databricks%2F6.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-databricks%2F6.6.0/manifests"},{"name":"providers-teradata/2.3.0","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-27T07:50:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-teradata/2.3.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-teradata/2.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-teradata%2F2.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-teradata%2F2.3.0/manifests"},{"name":"providers-ydb/1.0.0","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-27T07:50:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-ydb/1.0.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-ydb/1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-ydb%2F1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-ydb%2F1.0.0/manifests"},{"name":"providers-pinecone/2.0.1","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-27T07:50:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-pinecone/2.0.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-pinecone/2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-pinecone%2F2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-pinecone%2F2.0.1/manifests"},{"name":"providers-snowflake/5.5.2","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-27T07:50:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-snowflake/5.5.2","html_url":"https://github.com/apache/airflow/releases/tag/providers-snowflake/5.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-snowflake%2F5.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-snowflake%2F5.5.2/manifests"},{"name":"providers-apache-drill/2.7.2","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-27T07:50:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-drill/2.7.2","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-drill/2.7.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-drill%2F2.7.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-drill%2F2.7.2/manifests"},{"name":"providers-sftp/4.10.2","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-27T07:50:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-sftp/4.10.2","html_url":"https://github.com/apache/airflow/releases/tag/providers-sftp/4.10.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-sftp%2F4.10.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-sftp%2F4.10.2/manifests"},{"name":"providers-vertica/3.8.2","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-27T07:50:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-vertica/3.8.2","html_url":"https://github.com/apache/airflow/releases/tag/providers-vertica/3.8.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-vertica%2F3.8.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-vertica%2F3.8.2/manifests"},{"name":"providers-salesforce/5.7.2","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-27T07:50:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-salesforce/5.7.2","html_url":"https://github.com/apache/airflow/releases/tag/providers-salesforce/5.7.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-salesforce%2F5.7.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-salesforce%2F5.7.2/manifests"},{"name":"providers-apache-hive/8.1.2","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-27T07:50:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-hive/8.1.2","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-hive/8.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-hive%2F8.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-hive%2F8.1.2/manifests"},{"name":"providers-papermill/3.7.2","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-27T07:50:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-papermill/3.7.2","html_url":"https://github.com/apache/airflow/releases/tag/providers-papermill/3.7.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-papermill%2F3.7.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-papermill%2F3.7.2/manifests"},{"name":"providers-yandex/3.11.2","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-27T07:50:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-yandex/3.11.2","html_url":"https://github.com/apache/airflow/releases/tag/providers-yandex/3.11.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-yandex%2F3.11.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-yandex%2F3.11.2/manifests"},{"name":"providers-docker/3.12.1","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-27T07:50:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-docker/3.12.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-docker/3.12.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-docker%2F3.12.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-docker%2F3.12.1/manifests"},{"name":"providers-google/10.20.0","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-27T07:50:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-google/10.20.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-google/10.20.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-google%2F10.20.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-google%2F10.20.0/manifests"},{"name":"providers-openai/1.2.2","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-27T07:50:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-openai/1.2.2","html_url":"https://github.com/apache/airflow/releases/tag/providers-openai/1.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-openai%2F1.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-openai%2F1.2.2/manifests"},{"name":"providers-amazon/8.25.0","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-27T07:50:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-amazon/8.25.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-amazon/8.25.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-amazon%2F8.25.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-amazon%2F8.25.0/manifests"},{"name":"providers-oracle/3.10.2","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-27T07:50:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-oracle/3.10.2","html_url":"https://github.com/apache/airflow/releases/tag/providers-oracle/3.10.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-oracle%2F3.10.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-oracle%2F3.10.2/manifests"},{"name":"providers-opensearch/1.3.0","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-27T07:50:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-opensearch/1.3.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-opensearch/1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-opensearch%2F1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-opensearch%2F1.3.0/manifests"},{"name":"providers-ssh/3.11.2","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-27T07:50:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-ssh/3.11.2","html_url":"https://github.com/apache/airflow/releases/tag/providers-ssh/3.11.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-ssh%2F3.11.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-ssh%2F3.11.2/manifests"},{"name":"providers-ftp/3.10.0","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-27T07:50:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-ftp/3.10.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-ftp/3.10.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-ftp%2F3.10.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-ftp%2F3.10.0/manifests"},{"name":"providers-facebook/3.5.2","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-27T07:50:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-facebook/3.5.2","html_url":"https://github.com/apache/airflow/releases/tag/providers-facebook/3.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-facebook%2F3.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-facebook%2F3.5.2/manifests"},{"name":"providers-fab/1.2.0","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-27T07:50:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-fab/1.2.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-fab/1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-fab%2F1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-fab%2F1.2.0/manifests"},{"name":"providers-apache-hdfs/4.4.2","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-27T07:50:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-hdfs/4.4.2","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-hdfs/4.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-hdfs%2F4.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-hdfs%2F4.4.2/manifests"},{"name":"providers-exasol/4.5.2","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-27T07:50:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-exasol/4.5.2","html_url":"https://github.com/apache/airflow/releases/tag/providers-exasol/4.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-exasol%2F4.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-exasol%2F4.5.2/manifests"},{"name":"providers-grpc/3.5.2","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-27T07:50:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-grpc/3.5.2","html_url":"https://github.com/apache/airflow/releases/tag/providers-grpc/3.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-grpc%2F3.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-grpc%2F3.5.2/manifests"},{"name":"providers-weaviate/1.4.2","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-27T07:50:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-weaviate/1.4.2","html_url":"https://github.com/apache/airflow/releases/tag/providers-weaviate/1.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-weaviate%2F1.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-weaviate%2F1.4.2/manifests"},{"name":"providers-apache-kylin/3.6.2","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-27T07:50:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-kylin/3.6.2","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-kylin/3.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-kylin%2F3.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-kylin%2F3.6.2/manifests"},{"name":"providers-cncf-kubernetes/8.3.2","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-27T07:50:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-cncf-kubernetes/8.3.2","html_url":"https://github.com/apache/airflow/releases/tag/providers-cncf-kubernetes/8.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cncf-kubernetes%2F8.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cncf-kubernetes%2F8.3.2/manifests"},{"name":"providers-apache-spark/4.8.2","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-27T07:50:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-spark/4.8.2","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-spark/4.8.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-spark%2F4.8.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-spark%2F4.8.2/manifests"},{"name":"providers-microsoft-mssql/3.7.2","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-27T07:50:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-microsoft-mssql/3.7.2","html_url":"https://github.com/apache/airflow/releases/tag/providers-microsoft-mssql/3.7.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-mssql%2F3.7.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-mssql%2F3.7.2/manifests"},{"name":"providers-cloudant/3.5.2","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-27T07:50:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-cloudant/3.5.2","html_url":"https://github.com/apache/airflow/releases/tag/providers-cloudant/3.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cloudant%2F3.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cloudant%2F3.5.2/manifests"},{"name":"providers-trino/5.7.2","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-27T07:50:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-trino/5.7.2","html_url":"https://github.com/apache/airflow/releases/tag/providers-trino/5.7.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-trino%2F5.7.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-trino%2F5.7.2/manifests"},{"name":"providers-tableau/4.5.2","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-27T07:50:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-tableau/4.5.2","html_url":"https://github.com/apache/airflow/releases/tag/providers-tableau/4.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-tableau%2F4.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-tableau%2F4.5.2/manifests"},{"name":"providers-exasol/4.5.2rc1","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-22T12:56:27.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-exasol/4.5.2rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-exasol/4.5.2rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-exasol%2F4.5.2rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-exasol%2F4.5.2rc1/manifests"},{"name":"providers-opensearch/1.3.0rc1","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-22T12:56:27.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-opensearch/1.3.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-opensearch/1.3.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-opensearch%2F1.3.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-opensearch%2F1.3.0rc1/manifests"},{"name":"providers-pinecone/2.0.1rc1","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-22T12:56:27.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-pinecone/2.0.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-pinecone/2.0.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-pinecone%2F2.0.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-pinecone%2F2.0.1rc1/manifests"},{"name":"providers-ftp/3.10.0rc1","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-22T12:56:27.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-ftp/3.10.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-ftp/3.10.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-ftp%2F3.10.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-ftp%2F3.10.0rc1/manifests"},{"name":"providers-snowflake/5.5.2rc1","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-22T12:56:27.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-snowflake/5.5.2rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-snowflake/5.5.2rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-snowflake%2F5.5.2rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-snowflake%2F5.5.2rc1/manifests"},{"name":"providers-databricks/6.6.0rc1","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-22T12:56:27.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-databricks/6.6.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-databricks/6.6.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-databricks%2F6.6.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-databricks%2F6.6.0rc1/manifests"},{"name":"providers-apache-hive/8.1.2rc1","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-22T12:56:27.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-hive/8.1.2rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-hive/8.1.2rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-hive%2F8.1.2rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-hive%2F8.1.2rc1/manifests"},{"name":"providers-cloudant/3.5.2rc1","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-22T12:56:26.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-cloudant/3.5.2rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-cloudant/3.5.2rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cloudant%2F3.5.2rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cloudant%2F3.5.2rc1/manifests"},{"name":"providers-apache-drill/2.7.2rc1","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-22T12:56:26.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-drill/2.7.2rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-drill/2.7.2rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-drill%2F2.7.2rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-drill%2F2.7.2rc1/manifests"},{"name":"providers-amazon/8.25.0rc1","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-22T12:56:26.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-amazon/8.25.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-amazon/8.25.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-amazon%2F8.25.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-amazon%2F8.25.0rc1/manifests"},{"name":"providers-google/10.20.0rc1","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-22T12:56:26.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-google/10.20.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-google/10.20.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-google%2F10.20.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-google%2F10.20.0rc1/manifests"},{"name":"providers-apache-flink/1.4.2rc1","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-22T12:56:26.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-flink/1.4.2rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-flink/1.4.2rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-flink%2F1.4.2rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-flink%2F1.4.2rc1/manifests"},{"name":"providers-apache-kafka/1.5.0rc1","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-22T12:56:26.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-kafka/1.5.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-kafka/1.5.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-kafka%2F1.5.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-kafka%2F1.5.0rc1/manifests"},{"name":"providers-apache-hdfs/4.4.2rc1","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-22T12:56:26.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-hdfs/4.4.2rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-hdfs/4.4.2rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-hdfs%2F4.4.2rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-hdfs%2F4.4.2rc1/manifests"},{"name":"providers-apache-spark/4.8.2rc1","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-22T12:56:26.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-spark/4.8.2rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-spark/4.8.2rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-spark%2F4.8.2rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-spark%2F4.8.2rc1/manifests"},{"name":"providers-common-sql/1.14.1rc1","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-22T12:56:26.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-common-sql/1.14.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-common-sql/1.14.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-common-sql%2F1.14.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-common-sql%2F1.14.1rc1/manifests"},{"name":"providers-telegram/4.5.2rc1","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-22T12:56:26.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-telegram/4.5.2rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-telegram/4.5.2rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-telegram%2F4.5.2rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-telegram%2F4.5.2rc1/manifests"},{"name":"providers-mysql/5.6.2rc1","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-22T12:56:26.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-mysql/5.6.2rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-mysql/5.6.2rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-mysql%2F5.6.2rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-mysql%2F5.6.2rc1/manifests"},{"name":"providers-http/4.12.0rc1","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-22T12:56:26.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-http/4.12.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-http/4.12.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-http%2F4.12.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-http%2F4.12.0rc1/manifests"},{"name":"providers-odbc/4.6.2rc1","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-22T12:56:26.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-odbc/4.6.2rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-odbc/4.6.2rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-odbc%2F4.6.2rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-odbc%2F4.6.2rc1/manifests"},{"name":"providers-grpc/3.5.2rc1","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-22T12:56:26.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-grpc/3.5.2rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-grpc/3.5.2rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-grpc%2F3.5.2rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-grpc%2F3.5.2rc1/manifests"},{"name":"providers-postgres/5.11.2rc1","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-22T12:56:26.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-postgres/5.11.2rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-postgres/5.11.2rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-postgres%2F5.11.2rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-postgres%2F5.11.2rc1/manifests"},{"name":"providers-github/2.6.2rc1","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-22T12:56:26.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-github/2.6.2rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-github/2.6.2rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-github%2F2.6.2rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-github%2F2.6.2rc1/manifests"},{"name":"providers-teradata/2.3.0rc1","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-22T12:56:26.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-teradata/2.3.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-teradata/2.3.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-teradata%2F2.3.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-teradata%2F2.3.0rc1/manifests"},{"name":"providers-yandex/3.11.2rc1","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-22T12:56:26.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-yandex/3.11.2rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-yandex/3.11.2rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-yandex%2F3.11.2rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-yandex%2F3.11.2rc1/manifests"},{"name":"providers-weaviate/1.4.2rc1","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-22T12:56:26.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-weaviate/1.4.2rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-weaviate/1.4.2rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-weaviate%2F1.4.2rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-weaviate%2F1.4.2rc1/manifests"},{"name":"providers-vertica/3.8.2rc1","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-22T12:56:26.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-vertica/3.8.2rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-vertica/3.8.2rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-vertica%2F3.8.2rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-vertica%2F3.8.2rc1/manifests"},{"name":"providers-salesforce/5.7.2rc1","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-22T12:56:26.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-salesforce/5.7.2rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-salesforce/5.7.2rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-salesforce%2F5.7.2rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-salesforce%2F5.7.2rc1/manifests"},{"name":"providers-ydb/1.0.0rc1","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-22T12:56:26.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-ydb/1.0.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-ydb/1.0.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-ydb%2F1.0.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-ydb%2F1.0.0rc1/manifests"},{"name":"providers-dbt-cloud/3.9.0rc1","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-22T12:56:26.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-dbt-cloud/3.9.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-dbt-cloud/3.9.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-dbt-cloud%2F3.9.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-dbt-cloud%2F3.9.0rc1/manifests"},{"name":"providers-mongo/4.1.2rc1","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-22T12:56:26.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-mongo/4.1.2rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-mongo/4.1.2rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-mongo%2F4.1.2rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-mongo%2F4.1.2rc1/manifests"},{"name":"providers-facebook/3.5.2rc1","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-22T12:56:26.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-facebook/3.5.2rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-facebook/3.5.2rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-facebook%2F3.5.2rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-facebook%2F3.5.2rc1/manifests"},{"name":"providers-microsoft-azure/10.1.2rc1","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-22T12:56:26.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-microsoft-azure/10.1.2rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-microsoft-azure/10.1.2rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-azure%2F10.1.2rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-azure%2F10.1.2rc1/manifests"},{"name":"providers-openlineage/1.9.0rc1","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-22T12:56:26.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-openlineage/1.9.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-openlineage/1.9.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-openlineage%2F1.9.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-openlineage%2F1.9.0rc1/manifests"},{"name":"providers-openai/1.2.2rc1","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-22T12:56:26.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-openai/1.2.2rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-openai/1.2.2rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-openai%2F1.2.2rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-openai%2F1.2.2rc1/manifests"},{"name":"providers-pagerduty/3.7.2rc1","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-22T12:56:26.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-pagerduty/3.7.2rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-pagerduty/3.7.2rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-pagerduty%2F3.7.2rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-pagerduty%2F3.7.2rc1/manifests"},{"name":"providers-oracle/3.10.2rc1","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-22T12:56:26.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-oracle/3.10.2rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-oracle/3.10.2rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-oracle%2F3.10.2rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-oracle%2F3.10.2rc1/manifests"},{"name":"providers-presto/5.5.2rc1","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-22T12:56:26.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-presto/5.5.2rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-presto/5.5.2rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-presto%2F5.5.2rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-presto%2F5.5.2rc1/manifests"},{"name":"providers-papermill/3.7.2rc1","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-22T12:56:26.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-papermill/3.7.2rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-papermill/3.7.2rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-papermill%2F3.7.2rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-papermill%2F3.7.2rc1/manifests"},{"name":"providers-ssh/3.11.2rc1","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-22T12:56:26.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-ssh/3.11.2rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-ssh/3.11.2rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-ssh%2F3.11.2rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-ssh%2F3.11.2rc1/manifests"},{"name":"providers-tableau/4.5.2rc1","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-22T12:56:26.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-tableau/4.5.2rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-tableau/4.5.2rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-tableau%2F4.5.2rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-tableau%2F4.5.2rc1/manifests"},{"name":"providers-sftp/4.10.2rc1","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-22T12:56:26.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-sftp/4.10.2rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-sftp/4.10.2rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-sftp%2F4.10.2rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-sftp%2F4.10.2rc1/manifests"},{"name":"providers-docker/3.12.1rc1","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-22T12:56:26.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-docker/3.12.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-docker/3.12.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-docker%2F3.12.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-docker%2F3.12.1rc1/manifests"},{"name":"providers-trino/5.7.2rc1","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-22T12:56:26.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-trino/5.7.2rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-trino/5.7.2rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-trino%2F5.7.2rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-trino%2F5.7.2rc1/manifests"},{"name":"providers-microsoft-mssql/3.7.2rc1","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-22T12:56:26.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-microsoft-mssql/3.7.2rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-microsoft-mssql/3.7.2rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-mssql%2F3.7.2rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-mssql%2F3.7.2rc1/manifests"},{"name":"providers-fab/1.2.0rc1","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-22T12:56:26.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-fab/1.2.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-fab/1.2.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-fab%2F1.2.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-fab%2F1.2.0rc1/manifests"},{"name":"providers-cncf-kubernetes/8.3.2rc1","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-22T12:56:26.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-cncf-kubernetes/8.3.2rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-cncf-kubernetes/8.3.2rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cncf-kubernetes%2F8.3.2rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cncf-kubernetes%2F8.3.2rc1/manifests"},{"name":"providers-common-compat/1.0.0rc1","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-22T12:56:26.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-common-compat/1.0.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-common-compat/1.0.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-common-compat%2F1.0.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-common-compat%2F1.0.0rc1/manifests"},{"name":"providers-apache-kylin/3.6.2rc1","sha":"6e5ae26382b328e88907e8301d4b2352ef8524c5","kind":"tag","published_at":"2024-06-22T12:56:26.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-kylin/3.6.2rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-kylin/3.6.2rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-kylin%2F3.6.2rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-kylin%2F3.6.2rc1/manifests"},{"name":"helm-chart/1.14.0","sha":"8eebe2b4c8e1271d26a796ec599b43b46941125c","kind":"tag","published_at":"2024-06-19T00:13:20.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/helm-chart/1.14.0","html_url":"https://github.com/apache/airflow/releases/tag/helm-chart/1.14.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/helm-chart%2F1.14.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/helm-chart%2F1.14.0/manifests"},{"name":"helm-chart/1.14.0rc1","sha":"8eebe2b4c8e1271d26a796ec599b43b46941125c","kind":"tag","published_at":"2024-06-14T20:39:07.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/helm-chart/1.14.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/helm-chart/1.14.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/helm-chart%2F1.14.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/helm-chart%2F1.14.0rc1/manifests"},{"name":"2.9.2","sha":"f56f13442613912725d307aafc537cc76277c2d1","kind":"tag","published_at":"2024-06-10T08:26:32.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/2.9.2","html_url":"https://github.com/apache/airflow/releases/tag/2.9.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/2.9.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/2.9.2/manifests"},{"name":"constraints-2.9.2","sha":"46dd6afa6ddb6ad5129432427ba6e6b512d06d7a","kind":"tag","published_at":"2024-06-10T08:25:29.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/constraints-2.9.2","html_url":"https://github.com/apache/airflow/releases/tag/constraints-2.9.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/constraints-2.9.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/constraints-2.9.2/manifests"},{"name":"providers-amazon/8.24.0","sha":"0c51bd6ab6ef265fafea898fdb1ec62ce76e5032","kind":"tag","published_at":"2024-06-09T09:58:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-amazon/8.24.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-amazon/8.24.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-amazon%2F8.24.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-amazon%2F8.24.0/manifests"},{"name":"providers-cncf-kubernetes/8.3.1","sha":"0c51bd6ab6ef265fafea898fdb1ec62ce76e5032","kind":"tag","published_at":"2024-06-09T09:58:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-cncf-kubernetes/8.3.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-cncf-kubernetes/8.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cncf-kubernetes%2F8.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cncf-kubernetes%2F8.3.1/manifests"},{"name":"providers-celery/3.7.2","sha":"0c51bd6ab6ef265fafea898fdb1ec62ce76e5032","kind":"tag","published_at":"2024-06-09T09:58:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-celery/3.7.2","html_url":"https://github.com/apache/airflow/releases/tag/providers-celery/3.7.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-celery%2F3.7.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-celery%2F3.7.2/manifests"},{"name":"providers-cncf-kubernetes/8.3.1rc1","sha":"0c51bd6ab6ef265fafea898fdb1ec62ce76e5032","kind":"tag","published_at":"2024-06-07T09:25:42.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-cncf-kubernetes/8.3.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-cncf-kubernetes/8.3.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cncf-kubernetes%2F8.3.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cncf-kubernetes%2F8.3.1rc1/manifests"},{"name":"providers-celery/3.7.2rc1","sha":"0c51bd6ab6ef265fafea898fdb1ec62ce76e5032","kind":"tag","published_at":"2024-06-07T09:25:42.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-celery/3.7.2rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-celery/3.7.2rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-celery%2F3.7.2rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-celery%2F3.7.2rc1/manifests"},{"name":"providers-amazon/8.24.0rc2","sha":"0c51bd6ab6ef265fafea898fdb1ec62ce76e5032","kind":"tag","published_at":"2024-06-07T09:25:42.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-amazon/8.24.0rc2","html_url":"https://github.com/apache/airflow/releases/tag/providers-amazon/8.24.0rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-amazon%2F8.24.0rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-amazon%2F8.24.0rc2/manifests"},{"name":"constraints-2.9.2rc1","sha":"35da30ea33a53f6dec9328f47d86f8b53a1dbed4","kind":"tag","published_at":"2024-06-06T10:32:51.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/constraints-2.9.2rc1","html_url":"https://github.com/apache/airflow/releases/tag/constraints-2.9.2rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/constraints-2.9.2rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/constraints-2.9.2rc1/manifests"},{"name":"2.9.2rc1","sha":"f56f13442613912725d307aafc537cc76277c2d1","kind":"tag","published_at":"2024-06-06T10:18:07.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/2.9.2rc1","html_url":"https://github.com/apache/airflow/releases/tag/2.9.2rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/2.9.2rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/2.9.2rc1/manifests"},{"name":"providers-teradata/2.2.0","sha":"11f219abffb49ef713bac3e60121fcbf737dc95b","kind":"tag","published_at":"2024-06-03T05:43:07.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-teradata/2.2.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-teradata/2.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-teradata%2F2.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-teradata%2F2.2.0/manifests"},{"name":"providers-cncf-kubernetes/8.3.0","sha":"11f219abffb49ef713bac3e60121fcbf737dc95b","kind":"tag","published_at":"2024-06-03T05:43:07.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-cncf-kubernetes/8.3.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-cncf-kubernetes/8.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cncf-kubernetes%2F8.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cncf-kubernetes%2F8.3.0/manifests"},{"name":"providers-teradata/2.2.0rc1","sha":"11f219abffb49ef713bac3e60121fcbf737dc95b","kind":"tag","published_at":"2024-05-30T12:54:58.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-teradata/2.2.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-teradata/2.2.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-teradata%2F2.2.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-teradata%2F2.2.0rc1/manifests"},{"name":"providers-amazon/8.24.0rc1","sha":"11f219abffb49ef713bac3e60121fcbf737dc95b","kind":"tag","published_at":"2024-05-30T12:54:58.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-amazon/8.24.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-amazon/8.24.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-amazon%2F8.24.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-amazon%2F8.24.0rc1/manifests"},{"name":"providers-cncf-kubernetes/8.3.0rc2","sha":"11f219abffb49ef713bac3e60121fcbf737dc95b","kind":"tag","published_at":"2024-05-30T12:54:58.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-cncf-kubernetes/8.3.0rc2","html_url":"https://github.com/apache/airflow/releases/tag/providers-cncf-kubernetes/8.3.0rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cncf-kubernetes%2F8.3.0rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cncf-kubernetes%2F8.3.0rc2/manifests"},{"name":"providers-arangodb/2.5.1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:16.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-arangodb/2.5.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-arangodb/2.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-arangodb%2F2.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-arangodb%2F2.5.1/manifests"},{"name":"providers-docker/3.12.0","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:16.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-docker/3.12.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-docker/3.12.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-docker%2F3.12.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-docker%2F3.12.0/manifests"},{"name":"providers-dingding/3.5.1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:16.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-dingding/3.5.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-dingding/3.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-dingding%2F3.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-dingding%2F3.5.1/manifests"},{"name":"providers-elasticsearch/5.4.1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:16.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-elasticsearch/5.4.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-elasticsearch/5.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-elasticsearch%2F5.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-elasticsearch%2F5.4.1/manifests"},{"name":"providers-apache-kafka/1.4.1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:16.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-kafka/1.4.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-kafka/1.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-kafka%2F1.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-kafka%2F1.4.1/manifests"},{"name":"providers-apache-beam/5.7.1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:16.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-beam/5.7.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-beam/5.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-beam%2F5.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-beam%2F5.7.1/manifests"},{"name":"providers-apache-druid/3.10.1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:16.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-druid/3.10.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-druid/3.10.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-druid%2F3.10.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-druid%2F3.10.1/manifests"},{"name":"providers-mysql/5.6.1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:16.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-mysql/5.6.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-mysql/5.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-mysql%2F5.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-mysql%2F5.6.1/manifests"},{"name":"providers-singularity/3.5.1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:16.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-singularity/3.5.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-singularity/3.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-singularity%2F3.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-singularity%2F3.5.1/manifests"},{"name":"providers-tableau/4.5.1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:16.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-tableau/4.5.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-tableau/4.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-tableau%2F4.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-tableau%2F4.5.1/manifests"},{"name":"providers-segment/3.5.1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:16.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-segment/3.5.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-segment/3.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-segment%2F3.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-segment%2F3.5.1/manifests"},{"name":"providers-snowflake/5.5.1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:16.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-snowflake/5.5.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-snowflake/5.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-snowflake%2F5.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-snowflake%2F5.5.1/manifests"},{"name":"providers-imap/3.6.1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:16.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-imap/3.6.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-imap/3.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-imap%2F3.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-imap%2F3.6.1/manifests"},{"name":"providers-microsoft-azure/10.1.1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:16.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-microsoft-azure/10.1.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-microsoft-azure/10.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-azure%2F10.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-azure%2F10.1.1/manifests"},{"name":"providers-opsgenie/5.6.1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:16.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-opsgenie/5.6.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-opsgenie/5.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-opsgenie%2F5.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-opsgenie%2F5.6.1/manifests"},{"name":"providers-pinecone/2.0.0","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:16.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-pinecone/2.0.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-pinecone/2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-pinecone%2F2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-pinecone%2F2.0.0/manifests"},{"name":"providers-redis/3.7.1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:16.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-redis/3.7.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-redis/3.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-redis%2F3.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-redis%2F3.7.1/manifests"},{"name":"providers-atlassian-jira/2.6.1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:15.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-atlassian-jira/2.6.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-atlassian-jira/2.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-atlassian-jira%2F2.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-atlassian-jira%2F2.6.1/manifests"},{"name":"providers-asana/2.5.1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:15.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-asana/2.5.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-asana/2.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-asana%2F2.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-asana%2F2.5.1/manifests"},{"name":"providers-celery/3.7.1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:15.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-celery/3.7.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-celery/3.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-celery%2F3.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-celery%2F3.7.1/manifests"},{"name":"providers-common-io/1.3.2","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:15.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-common-io/1.3.2","html_url":"https://github.com/apache/airflow/releases/tag/providers-common-io/1.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-common-io%2F1.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-common-io%2F1.3.2/manifests"},{"name":"providers-cloudant/3.5.1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:15.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-cloudant/3.5.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-cloudant/3.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cloudant%2F3.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cloudant%2F3.5.1/manifests"},{"name":"providers-dbt-cloud/3.8.1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:15.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-dbt-cloud/3.8.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-dbt-cloud/3.8.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-dbt-cloud%2F3.8.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-dbt-cloud%2F3.8.1/manifests"},{"name":"providers-common-sql/1.14.0","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:15.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-common-sql/1.14.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-common-sql/1.14.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-common-sql%2F1.14.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-common-sql%2F1.14.0/manifests"},{"name":"providers-apache-spark/4.8.1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:15.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-spark/4.8.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-spark/4.8.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-spark%2F4.8.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-spark%2F4.8.1/manifests"},{"name":"providers-databricks/6.5.0","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:15.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-databricks/6.5.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-databricks/6.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-databricks%2F6.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-databricks%2F6.5.0/manifests"},{"name":"providers-discord/3.7.1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:15.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-discord/3.7.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-discord/3.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-discord%2F3.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-discord%2F3.7.1/manifests"},{"name":"providers-ftp/3.9.1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:15.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-ftp/3.9.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-ftp/3.9.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-ftp%2F3.9.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-ftp%2F3.9.1/manifests"},{"name":"providers-fab/1.1.1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:15.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-fab/1.1.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-fab/1.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-fab%2F1.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-fab%2F1.1.1/manifests"},{"name":"providers-datadog/3.6.1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:15.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-datadog/3.6.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-datadog/3.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-datadog%2F3.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-datadog%2F3.6.1/manifests"},{"name":"providers-github/2.6.1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:15.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-github/2.6.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-github/2.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-github%2F2.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-github%2F2.6.1/manifests"},{"name":"providers-exasol/4.5.1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:15.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-exasol/4.5.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-exasol/4.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-exasol%2F4.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-exasol%2F4.5.1/manifests"},{"name":"providers-apache-drill/2.7.1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:15.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-drill/2.7.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-drill/2.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-drill%2F2.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-drill%2F2.7.1/manifests"},{"name":"providers-apache-pig/4.4.1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:15.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-pig/4.4.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-pig/4.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-pig%2F4.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-pig%2F4.4.1/manifests"},{"name":"providers-apache-livy/3.8.1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:15.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-livy/3.8.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-livy/3.8.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-livy%2F3.8.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-livy%2F3.8.1/manifests"},{"name":"providers-apache-impala/1.4.1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:15.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-impala/1.4.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-impala/1.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-impala%2F1.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-impala%2F1.4.1/manifests"},{"name":"providers-apache-kylin/3.6.1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:15.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-kylin/3.6.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-kylin/3.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-kylin%2F3.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-kylin%2F3.6.1/manifests"},{"name":"providers-apprise/1.3.1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:15.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apprise/1.3.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apprise/1.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apprise%2F1.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apprise%2F1.3.1/manifests"},{"name":"providers-apache-hdfs/4.4.1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:15.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-hdfs/4.4.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-hdfs/4.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-hdfs%2F4.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-hdfs%2F4.4.1/manifests"},{"name":"providers-facebook/3.5.1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:15.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-facebook/3.5.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-facebook/3.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-facebook%2F3.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-facebook%2F3.5.1/manifests"},{"name":"providers-airbyte/3.8.1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:15.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-airbyte/3.8.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-airbyte/3.8.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-airbyte%2F3.8.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-airbyte%2F3.8.1/manifests"},{"name":"providers-apache-hive/8.1.1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:15.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-hive/8.1.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-hive/8.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-hive%2F8.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-hive%2F8.1.1/manifests"},{"name":"providers-apache-cassandra/3.5.1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:15.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-cassandra/3.5.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-cassandra/3.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-cassandra%2F3.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-cassandra%2F3.5.1/manifests"},{"name":"providers-alibaba/2.8.1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:15.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-alibaba/2.8.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-alibaba/2.8.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-alibaba%2F2.8.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-alibaba%2F2.8.1/manifests"},{"name":"providers-amazon/8.23.0","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:15.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-amazon/8.23.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-amazon/8.23.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-amazon%2F8.23.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-amazon%2F8.23.0/manifests"},{"name":"providers-apache-flink/1.4.1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:15.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-flink/1.4.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-flink/1.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-flink%2F1.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-flink%2F1.4.1/manifests"},{"name":"providers-google/10.19.0","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:15.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-google/10.19.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-google/10.19.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-google%2F10.19.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-google%2F10.19.0/manifests"},{"name":"providers-smtp/1.7.1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:15.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-smtp/1.7.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-smtp/1.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-smtp%2F1.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-smtp%2F1.7.1/manifests"},{"name":"providers-slack/8.7.1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:15.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-slack/8.7.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-slack/8.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-slack%2F8.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-slack%2F8.7.1/manifests"},{"name":"providers-telegram/4.5.1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:15.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-telegram/4.5.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-telegram/4.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-telegram%2F4.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-telegram%2F4.5.1/manifests"},{"name":"providers-teradata/2.1.1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:15.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-teradata/2.1.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-teradata/2.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-teradata%2F2.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-teradata%2F2.1.1/manifests"},{"name":"providers-ssh/3.11.1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:15.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-ssh/3.11.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-ssh/3.11.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-ssh%2F3.11.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-ssh%2F3.11.1/manifests"},{"name":"providers-vertica/3.8.1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:15.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-vertica/3.8.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-vertica/3.8.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-vertica%2F3.8.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-vertica%2F3.8.1/manifests"},{"name":"providers-grpc/3.5.1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:15.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-grpc/3.5.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-grpc/3.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-grpc%2F3.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-grpc%2F3.5.1/manifests"},{"name":"providers-zendesk/4.7.1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:15.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-zendesk/4.7.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-zendesk/4.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-zendesk%2F4.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-zendesk%2F4.7.1/manifests"},{"name":"providers-yandex/3.11.1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:15.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-yandex/3.11.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-yandex/3.11.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-yandex%2F3.11.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-yandex%2F3.11.1/manifests"},{"name":"providers-influxdb/2.5.1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:15.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-influxdb/2.5.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-influxdb/2.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-influxdb%2F2.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-influxdb%2F2.5.1/manifests"},{"name":"providers-jdbc/4.3.1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:15.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-jdbc/4.3.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-jdbc/4.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-jdbc%2F4.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-jdbc%2F4.3.1/manifests"},{"name":"providers-microsoft-mssql/3.7.1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:15.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-microsoft-mssql/3.7.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-microsoft-mssql/3.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-mssql%2F3.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-mssql%2F3.7.1/manifests"},{"name":"providers-jenkins/3.6.1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:15.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-jenkins/3.6.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-jenkins/3.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-jenkins%2F3.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-jenkins%2F3.6.1/manifests"},{"name":"providers-hashicorp/3.7.1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:15.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-hashicorp/3.7.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-hashicorp/3.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-hashicorp%2F3.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-hashicorp%2F3.7.1/manifests"},{"name":"providers-mongo/4.1.1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:15.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-mongo/4.1.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-mongo/4.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-mongo%2F4.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-mongo%2F4.1.1/manifests"},{"name":"providers-microsoft-winrm/3.5.1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:15.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-microsoft-winrm/3.5.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-microsoft-winrm/3.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-winrm%2F3.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-winrm%2F3.5.1/manifests"},{"name":"providers-neo4j/3.6.1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:15.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-neo4j/3.6.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-neo4j/3.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-neo4j%2F3.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-neo4j%2F3.6.1/manifests"},{"name":"providers-odbc/4.6.1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:15.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-odbc/4.6.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-odbc/4.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-odbc%2F4.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-odbc%2F4.6.1/manifests"},{"name":"providers-openai/1.2.1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:15.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-openai/1.2.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-openai/1.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-openai%2F1.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-openai%2F1.2.1/manifests"},{"name":"providers-microsoft-psrp/2.7.1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:15.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-microsoft-psrp/2.7.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-microsoft-psrp/2.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-psrp%2F2.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-psrp%2F2.7.1/manifests"},{"name":"providers-oracle/3.10.1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:15.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-oracle/3.10.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-oracle/3.10.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-oracle%2F3.10.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-oracle%2F3.10.1/manifests"},{"name":"providers-pagerduty/3.7.1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:15.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-pagerduty/3.7.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-pagerduty/3.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-pagerduty%2F3.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-pagerduty%2F3.7.1/manifests"},{"name":"providers-opensearch/1.2.1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:15.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-opensearch/1.2.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-opensearch/1.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-opensearch%2F1.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-opensearch%2F1.2.1/manifests"},{"name":"providers-openlineage/1.8.0","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:15.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-openlineage/1.8.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-openlineage/1.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-openlineage%2F1.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-openlineage%2F1.8.0/manifests"},{"name":"providers-openfaas/3.5.1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:15.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-openfaas/3.5.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-openfaas/3.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-openfaas%2F3.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-openfaas%2F3.5.1/manifests"},{"name":"providers-qdrant/1.1.1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:15.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-qdrant/1.1.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-qdrant/1.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-qdrant%2F1.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-qdrant%2F1.1.1/manifests"},{"name":"providers-presto/5.5.1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:15.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-presto/5.5.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-presto/5.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-presto%2F5.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-presto%2F5.5.1/manifests"},{"name":"providers-salesforce/5.7.1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:15.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-salesforce/5.7.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-salesforce/5.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-salesforce%2F5.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-salesforce%2F5.7.1/manifests"},{"name":"providers-postgres/5.11.1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:15.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-postgres/5.11.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-postgres/5.11.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-postgres%2F5.11.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-postgres%2F5.11.1/manifests"},{"name":"providers-samba/4.7.1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:15.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-samba/4.7.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-samba/4.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-samba%2F4.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-samba%2F4.7.1/manifests"},{"name":"providers-cohere/1.2.1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:14.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-cohere/1.2.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-cohere/1.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cohere%2F1.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cohere%2F1.2.1/manifests"},{"name":"providers-apache-pinot/4.4.1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:14.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-pinot/4.4.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-pinot/4.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-pinot%2F4.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-pinot%2F4.4.1/manifests"},{"name":"providers-sftp/4.10.1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:14.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-sftp/4.10.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-sftp/4.10.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-sftp%2F4.10.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-sftp%2F4.10.1/manifests"},{"name":"providers-sendgrid/3.5.1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:14.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-sendgrid/3.5.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-sendgrid/3.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-sendgrid%2F3.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-sendgrid%2F3.5.1/manifests"},{"name":"providers-weaviate/1.4.1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:14.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-weaviate/1.4.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-weaviate/1.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-weaviate%2F1.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-weaviate%2F1.4.1/manifests"},{"name":"providers-sqlite/3.8.1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:14.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-sqlite/3.8.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-sqlite/3.8.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-sqlite%2F3.8.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-sqlite%2F3.8.1/manifests"},{"name":"providers-trino/5.7.1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:14.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-trino/5.7.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-trino/5.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-trino%2F5.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-trino%2F5.7.1/manifests"},{"name":"providers-http/4.11.1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:14.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-http/4.11.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-http/4.11.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-http%2F4.11.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-http%2F4.11.1/manifests"},{"name":"providers-pgvector/1.2.1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:14.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-pgvector/1.2.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-pgvector/1.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-pgvector%2F1.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-pgvector%2F1.2.1/manifests"},{"name":"providers-papermill/3.7.1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-30T06:38:14.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-papermill/3.7.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-papermill/3.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-papermill%2F3.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-papermill%2F3.7.1/manifests"},{"name":"providers-jenkins/3.6.1rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-jenkins/3.6.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-jenkins/3.6.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-jenkins%2F3.6.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-jenkins%2F3.6.1rc1/manifests"},{"name":"providers-microsoft-azure/10.1.1rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-microsoft-azure/10.1.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-microsoft-azure/10.1.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-azure%2F10.1.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-azure%2F10.1.1rc1/manifests"},{"name":"providers-segment/3.5.1rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-segment/3.5.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-segment/3.5.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-segment%2F3.5.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-segment%2F3.5.1rc1/manifests"},{"name":"providers-neo4j/3.6.1rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-neo4j/3.6.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-neo4j/3.6.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-neo4j%2F3.6.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-neo4j%2F3.6.1rc1/manifests"},{"name":"providers-odbc/4.6.1rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-odbc/4.6.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-odbc/4.6.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-odbc%2F4.6.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-odbc%2F4.6.1rc1/manifests"},{"name":"providers-openfaas/3.5.1rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-openfaas/3.5.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-openfaas/3.5.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-openfaas%2F3.5.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-openfaas%2F3.5.1rc1/manifests"},{"name":"providers-microsoft-mssql/3.7.1rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-microsoft-mssql/3.7.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-microsoft-mssql/3.7.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-mssql%2F3.7.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-mssql%2F3.7.1rc1/manifests"},{"name":"providers-openai/1.2.1rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-openai/1.2.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-openai/1.2.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-openai%2F1.2.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-openai%2F1.2.1rc1/manifests"},{"name":"providers-pagerduty/3.7.1rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-pagerduty/3.7.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-pagerduty/3.7.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-pagerduty%2F3.7.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-pagerduty%2F3.7.1rc1/manifests"},{"name":"providers-opensearch/1.2.1rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-opensearch/1.2.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-opensearch/1.2.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-opensearch%2F1.2.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-opensearch%2F1.2.1rc1/manifests"},{"name":"providers-opsgenie/5.6.1rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-opsgenie/5.6.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-opsgenie/5.6.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-opsgenie%2F5.6.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-opsgenie%2F5.6.1rc1/manifests"},{"name":"providers-yandex/3.11.1rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-yandex/3.11.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-yandex/3.11.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-yandex%2F3.11.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-yandex%2F3.11.1rc1/manifests"},{"name":"providers-qdrant/1.1.1rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-qdrant/1.1.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-qdrant/1.1.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-qdrant%2F1.1.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-qdrant%2F1.1.1rc1/manifests"},{"name":"providers-trino/5.7.1rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-trino/5.7.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-trino/5.7.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-trino%2F5.7.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-trino%2F5.7.1rc1/manifests"},{"name":"providers-papermill/3.7.1rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-papermill/3.7.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-papermill/3.7.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-papermill%2F3.7.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-papermill%2F3.7.1rc1/manifests"},{"name":"providers-slack/8.7.1rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-slack/8.7.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-slack/8.7.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-slack%2F8.7.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-slack%2F8.7.1rc1/manifests"},{"name":"providers-snowflake/5.5.1rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-snowflake/5.5.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-snowflake/5.5.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-snowflake%2F5.5.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-snowflake%2F5.5.1rc1/manifests"},{"name":"providers-redis/3.7.1rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-redis/3.7.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-redis/3.7.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-redis%2F3.7.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-redis%2F3.7.1rc1/manifests"},{"name":"providers-telegram/4.5.1rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-telegram/4.5.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-telegram/4.5.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-telegram%2F4.5.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-telegram%2F4.5.1rc1/manifests"},{"name":"providers-asana/2.5.1rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-asana/2.5.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-asana/2.5.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-asana%2F2.5.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-asana%2F2.5.1rc1/manifests"},{"name":"providers-atlassian-jira/2.6.1rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-atlassian-jira/2.6.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-atlassian-jira/2.6.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-atlassian-jira%2F2.6.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-atlassian-jira%2F2.6.1rc1/manifests"},{"name":"providers-cncf-kubernetes/8.3.0rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-cncf-kubernetes/8.3.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-cncf-kubernetes/8.3.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cncf-kubernetes%2F8.3.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cncf-kubernetes%2F8.3.0rc1/manifests"},{"name":"providers-cloudant/3.5.1rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-cloudant/3.5.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-cloudant/3.5.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cloudant%2F3.5.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cloudant%2F3.5.1rc1/manifests"},{"name":"providers-apache-spark/4.8.1rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-spark/4.8.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-spark/4.8.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-spark%2F4.8.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-spark%2F4.8.1rc1/manifests"},{"name":"providers-datadog/3.6.1rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-datadog/3.6.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-datadog/3.6.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-datadog%2F3.6.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-datadog%2F3.6.1rc1/manifests"},{"name":"providers-tableau/4.5.1rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-tableau/4.5.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-tableau/4.5.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-tableau%2F4.5.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-tableau%2F4.5.1rc1/manifests"},{"name":"providers-dbt-cloud/3.8.1rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-dbt-cloud/3.8.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-dbt-cloud/3.8.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-dbt-cloud%2F3.8.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-dbt-cloud%2F3.8.1rc1/manifests"},{"name":"providers-fab/1.1.1rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-fab/1.1.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-fab/1.1.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-fab%2F1.1.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-fab%2F1.1.1rc1/manifests"},{"name":"providers-exasol/4.5.1rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-exasol/4.5.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-exasol/4.5.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-exasol%2F4.5.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-exasol%2F4.5.1rc1/manifests"},{"name":"providers-pgvector/1.2.1rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-pgvector/1.2.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-pgvector/1.2.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-pgvector%2F1.2.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-pgvector%2F1.2.1rc1/manifests"},{"name":"providers-elasticsearch/5.4.1rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-elasticsearch/5.4.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-elasticsearch/5.4.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-elasticsearch%2F5.4.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-elasticsearch%2F5.4.1rc1/manifests"},{"name":"providers-salesforce/5.7.1rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-salesforce/5.7.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-salesforce/5.7.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-salesforce%2F5.7.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-salesforce%2F5.7.1rc1/manifests"},{"name":"providers-sftp/4.10.1rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-sftp/4.10.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-sftp/4.10.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-sftp%2F4.10.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-sftp%2F4.10.1rc1/manifests"},{"name":"providers-discord/3.7.1rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-discord/3.7.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-discord/3.7.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-discord%2F3.7.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-discord%2F3.7.1rc1/manifests"},{"name":"providers-imap/3.6.1rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-imap/3.6.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-imap/3.6.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-imap%2F3.6.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-imap%2F3.6.1rc1/manifests"},{"name":"providers-http/4.11.1rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-http/4.11.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-http/4.11.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-http%2F4.11.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-http%2F4.11.1rc1/manifests"},{"name":"providers-influxdb/2.5.1rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-influxdb/2.5.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-influxdb/2.5.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-influxdb%2F2.5.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-influxdb%2F2.5.1rc1/manifests"},{"name":"providers-hashicorp/3.7.1rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-hashicorp/3.7.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-hashicorp/3.7.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-hashicorp%2F3.7.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-hashicorp%2F3.7.1rc1/manifests"},{"name":"providers-ssh/3.11.1rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-ssh/3.11.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-ssh/3.11.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-ssh%2F3.11.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-ssh%2F3.11.1rc1/manifests"},{"name":"providers-pinecone/2.0.0rc3","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-pinecone/2.0.0rc3","html_url":"https://github.com/apache/airflow/releases/tag/providers-pinecone/2.0.0rc3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-pinecone%2F2.0.0rc3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-pinecone%2F2.0.0rc3/manifests"},{"name":"providers-grpc/3.5.1rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-grpc/3.5.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-grpc/3.5.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-grpc%2F3.5.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-grpc%2F3.5.1rc1/manifests"},{"name":"providers-airbyte/3.8.1rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-airbyte/3.8.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-airbyte/3.8.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-airbyte%2F3.8.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-airbyte%2F3.8.1rc1/manifests"},{"name":"providers-apache-livy/3.8.1rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-livy/3.8.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-livy/3.8.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-livy%2F3.8.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-livy%2F3.8.1rc1/manifests"},{"name":"providers-apache-kylin/3.6.1rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-kylin/3.6.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-kylin/3.6.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-kylin%2F3.6.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-kylin%2F3.6.1rc1/manifests"},{"name":"providers-apache-pinot/4.4.1rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-pinot/4.4.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-pinot/4.4.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-pinot%2F4.4.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-pinot%2F4.4.1rc1/manifests"},{"name":"providers-apache-impala/1.4.1rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-impala/1.4.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-impala/1.4.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-impala%2F1.4.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-impala%2F1.4.1rc1/manifests"},{"name":"providers-dingding/3.5.1rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-dingding/3.5.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-dingding/3.5.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-dingding%2F3.5.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-dingding%2F3.5.1rc1/manifests"},{"name":"providers-apache-hdfs/4.4.1rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-hdfs/4.4.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-hdfs/4.4.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-hdfs%2F4.4.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-hdfs%2F4.4.1rc1/manifests"},{"name":"providers-apache-flink/1.4.1rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-flink/1.4.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-flink/1.4.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-flink%2F1.4.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-flink%2F1.4.1rc1/manifests"},{"name":"providers-apache-hive/8.1.1rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-hive/8.1.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-hive/8.1.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-hive%2F8.1.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-hive%2F8.1.1rc1/manifests"},{"name":"providers-alibaba/2.8.1rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-alibaba/2.8.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-alibaba/2.8.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-alibaba%2F2.8.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-alibaba%2F2.8.1rc1/manifests"},{"name":"providers-apache-cassandra/3.5.1rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-cassandra/3.5.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-cassandra/3.5.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-cassandra%2F3.5.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-cassandra%2F3.5.1rc1/manifests"},{"name":"providers-apache-druid/3.10.1rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-druid/3.10.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-druid/3.10.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-druid%2F3.10.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-druid%2F3.10.1rc1/manifests"},{"name":"providers-apache-pig/4.4.1rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:35.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-pig/4.4.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-pig/4.4.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-pig%2F4.4.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-pig%2F4.4.1rc1/manifests"},{"name":"providers-jdbc/4.3.1rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:35.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-jdbc/4.3.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-jdbc/4.3.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-jdbc%2F4.3.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-jdbc%2F4.3.1rc1/manifests"},{"name":"providers-mysql/5.6.1rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:35.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-mysql/5.6.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-mysql/5.6.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-mysql%2F5.6.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-mysql%2F5.6.1rc1/manifests"},{"name":"providers-microsoft-winrm/3.5.1rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:35.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-microsoft-winrm/3.5.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-microsoft-winrm/3.5.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-winrm%2F3.5.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-winrm%2F3.5.1rc1/manifests"},{"name":"providers-mongo/4.1.1rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:35.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-mongo/4.1.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-mongo/4.1.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-mongo%2F4.1.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-mongo%2F4.1.1rc1/manifests"},{"name":"providers-microsoft-psrp/2.7.1rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:35.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-microsoft-psrp/2.7.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-microsoft-psrp/2.7.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-psrp%2F2.7.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-psrp%2F2.7.1rc1/manifests"},{"name":"providers-openlineage/1.8.0rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:35.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-openlineage/1.8.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-openlineage/1.8.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-openlineage%2F1.8.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-openlineage%2F1.8.0rc1/manifests"},{"name":"providers-oracle/3.10.1rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:35.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-oracle/3.10.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-oracle/3.10.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-oracle%2F3.10.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-oracle%2F3.10.1rc1/manifests"},{"name":"providers-teradata/2.1.1rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:35.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-teradata/2.1.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-teradata/2.1.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-teradata%2F2.1.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-teradata%2F2.1.1rc1/manifests"},{"name":"providers-postgres/5.11.1rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:35.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-postgres/5.11.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-postgres/5.11.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-postgres%2F5.11.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-postgres%2F5.11.1rc1/manifests"},{"name":"providers-sendgrid/3.5.1rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:35.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-sendgrid/3.5.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-sendgrid/3.5.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-sendgrid%2F3.5.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-sendgrid%2F3.5.1rc1/manifests"},{"name":"providers-sqlite/3.8.1rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:35.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-sqlite/3.8.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-sqlite/3.8.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-sqlite%2F3.8.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-sqlite%2F3.8.1rc1/manifests"},{"name":"providers-singularity/3.5.1rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:35.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-singularity/3.5.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-singularity/3.5.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-singularity%2F3.5.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-singularity%2F3.5.1rc1/manifests"},{"name":"providers-weaviate/1.4.1rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:35.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-weaviate/1.4.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-weaviate/1.4.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-weaviate%2F1.4.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-weaviate%2F1.4.1rc1/manifests"},{"name":"providers-vertica/3.8.1rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:35.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-vertica/3.8.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-vertica/3.8.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-vertica%2F3.8.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-vertica%2F3.8.1rc1/manifests"},{"name":"providers-smtp/1.7.1rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:35.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-smtp/1.7.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-smtp/1.7.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-smtp%2F1.7.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-smtp%2F1.7.1rc1/manifests"},{"name":"providers-zendesk/4.7.1rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:35.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-zendesk/4.7.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-zendesk/4.7.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-zendesk%2F4.7.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-zendesk%2F4.7.1rc1/manifests"},{"name":"providers-presto/5.5.1rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:35.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-presto/5.5.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-presto/5.5.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-presto%2F5.5.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-presto%2F5.5.1rc1/manifests"},{"name":"providers-arangodb/2.5.1rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:35.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-arangodb/2.5.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-arangodb/2.5.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-arangodb%2F2.5.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-arangodb%2F2.5.1rc1/manifests"},{"name":"providers-celery/3.7.1rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:35.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-celery/3.7.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-celery/3.7.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-celery%2F3.7.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-celery%2F3.7.1rc1/manifests"},{"name":"providers-samba/4.7.1rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:35.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-samba/4.7.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-samba/4.7.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-samba%2F4.7.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-samba%2F4.7.1rc1/manifests"},{"name":"providers-databricks/6.5.0rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:35.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-databricks/6.5.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-databricks/6.5.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-databricks%2F6.5.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-databricks%2F6.5.0rc1/manifests"},{"name":"providers-common-sql/1.14.0rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:35.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-common-sql/1.14.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-common-sql/1.14.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-common-sql%2F1.14.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-common-sql%2F1.14.0rc1/manifests"},{"name":"providers-common-io/1.3.2rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:35.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-common-io/1.3.2rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-common-io/1.3.2rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-common-io%2F1.3.2rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-common-io%2F1.3.2rc1/manifests"},{"name":"providers-cohere/1.2.1rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:35.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-cohere/1.2.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-cohere/1.2.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cohere%2F1.2.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cohere%2F1.2.1rc1/manifests"},{"name":"providers-apprise/1.3.1rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:35.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apprise/1.3.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apprise/1.3.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apprise%2F1.3.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apprise%2F1.3.1rc1/manifests"},{"name":"providers-facebook/3.5.1rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:35.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-facebook/3.5.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-facebook/3.5.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-facebook%2F3.5.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-facebook%2F3.5.1rc1/manifests"},{"name":"providers-google/10.19.0rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:35.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-google/10.19.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-google/10.19.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-google%2F10.19.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-google%2F10.19.0rc1/manifests"},{"name":"providers-docker/3.12.0rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:35.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-docker/3.12.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-docker/3.12.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-docker%2F3.12.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-docker%2F3.12.0rc1/manifests"},{"name":"providers-github/2.6.1rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:35.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-github/2.6.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-github/2.6.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-github%2F2.6.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-github%2F2.6.1rc1/manifests"},{"name":"providers-ftp/3.9.1rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:35.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-ftp/3.9.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-ftp/3.9.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-ftp%2F3.9.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-ftp%2F3.9.1rc1/manifests"},{"name":"providers-apache-drill/2.7.1rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:35.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-drill/2.7.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-drill/2.7.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-drill%2F2.7.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-drill%2F2.7.1rc1/manifests"},{"name":"providers-apache-kafka/1.4.1rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:35.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-kafka/1.4.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-kafka/1.4.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-kafka%2F1.4.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-kafka%2F1.4.1rc1/manifests"},{"name":"providers-apache-beam/5.7.1rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:35.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-beam/5.7.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-beam/5.7.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-beam%2F5.7.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-beam%2F5.7.1rc1/manifests"},{"name":"providers-amazon/8.23.0rc1","sha":"34500f3a2fa4652272bc831e3c18fd2a6a2da5ef","kind":"tag","published_at":"2024-05-26T08:38:35.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-amazon/8.23.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-amazon/8.23.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-amazon%2F8.23.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-amazon%2F8.23.0rc1/manifests"},{"name":"providers-amazon/8.22.0","sha":"97e867f1701fae287a20dff7e0f9e9ecbdc38f27","kind":"tag","published_at":"2024-05-17T16:07:16.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-amazon/8.22.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-amazon/8.22.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-amazon%2F8.22.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-amazon%2F8.22.0/manifests"},{"name":"providers-google/10.18.0","sha":"97e867f1701fae287a20dff7e0f9e9ecbdc38f27","kind":"tag","published_at":"2024-05-17T16:07:16.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-google/10.18.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-google/10.18.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-google%2F10.18.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-google%2F10.18.0/manifests"},{"name":"providers-apache-iceberg/1.0.0","sha":"97e867f1701fae287a20dff7e0f9e9ecbdc38f27","kind":"tag","published_at":"2024-05-17T16:07:16.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-iceberg/1.0.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-iceberg/1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-iceberg%2F1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-iceberg%2F1.0.0/manifests"},{"name":"providers-microsoft-azure/10.1.0","sha":"97e867f1701fae287a20dff7e0f9e9ecbdc38f27","kind":"tag","published_at":"2024-05-17T16:07:16.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-microsoft-azure/10.1.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-microsoft-azure/10.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-azure%2F10.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-azure%2F10.1.0/manifests"},{"name":"providers-tabular/1.5.1","sha":"97e867f1701fae287a20dff7e0f9e9ecbdc38f27","kind":"tag","published_at":"2024-05-17T16:07:16.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-tabular/1.5.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-tabular/1.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-tabular%2F1.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-tabular%2F1.5.1/manifests"},{"name":"providers-tabular/1.5.1rc1","sha":"97e867f1701fae287a20dff7e0f9e9ecbdc38f27","kind":"tag","published_at":"2024-05-12T19:03:06.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-tabular/1.5.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-tabular/1.5.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-tabular%2F1.5.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-tabular%2F1.5.1rc1/manifests"},{"name":"providers-pinecone/2.0.0rc2","sha":"97e867f1701fae287a20dff7e0f9e9ecbdc38f27","kind":"tag","published_at":"2024-05-12T19:03:06.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-pinecone/2.0.0rc2","html_url":"https://github.com/apache/airflow/releases/tag/providers-pinecone/2.0.0rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-pinecone%2F2.0.0rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-pinecone%2F2.0.0rc2/manifests"},{"name":"providers-microsoft-azure/10.1.0rc2","sha":"97e867f1701fae287a20dff7e0f9e9ecbdc38f27","kind":"tag","published_at":"2024-05-12T19:03:06.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-microsoft-azure/10.1.0rc2","html_url":"https://github.com/apache/airflow/releases/tag/providers-microsoft-azure/10.1.0rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-azure%2F10.1.0rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-azure%2F10.1.0rc2/manifests"},{"name":"providers-google/10.18.0rc2","sha":"97e867f1701fae287a20dff7e0f9e9ecbdc38f27","kind":"tag","published_at":"2024-05-12T19:03:06.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-google/10.18.0rc2","html_url":"https://github.com/apache/airflow/releases/tag/providers-google/10.18.0rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-google%2F10.18.0rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-google%2F10.18.0rc2/manifests"},{"name":"providers-apache-iceberg/1.0.0rc1","sha":"97e867f1701fae287a20dff7e0f9e9ecbdc38f27","kind":"tag","published_at":"2024-05-12T19:03:06.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-iceberg/1.0.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-iceberg/1.0.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-iceberg%2F1.0.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-iceberg%2F1.0.0rc1/manifests"},{"name":"providers-amazon/8.22.0rc1","sha":"97e867f1701fae287a20dff7e0f9e9ecbdc38f27","kind":"tag","published_at":"2024-05-12T19:03:06.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-amazon/8.22.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-amazon/8.22.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-amazon%2F8.22.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-amazon%2F8.22.0rc1/manifests"},{"name":"providers-zendesk/4.7.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:21.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-zendesk/4.7.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-zendesk/4.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-zendesk%2F4.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-zendesk%2F4.7.0/manifests"},{"name":"providers-apache-pig/4.4.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:21.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-pig/4.4.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-pig/4.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-pig%2F4.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-pig%2F4.4.0/manifests"},{"name":"providers-cloudant/3.5.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:21.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-cloudant/3.5.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-cloudant/3.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cloudant%2F3.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cloudant%2F3.5.0/manifests"},{"name":"providers-microsoft-winrm/3.5.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:21.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-microsoft-winrm/3.5.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-microsoft-winrm/3.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-winrm%2F3.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-winrm%2F3.5.0/manifests"},{"name":"providers-dbt-cloud/3.8.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:21.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-dbt-cloud/3.8.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-dbt-cloud/3.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-dbt-cloud%2F3.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-dbt-cloud%2F3.8.0/manifests"},{"name":"providers-docker/3.11.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:21.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-docker/3.11.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-docker/3.11.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-docker%2F3.11.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-docker%2F3.11.0/manifests"},{"name":"providers-datadog/3.6.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:21.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-datadog/3.6.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-datadog/3.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-datadog%2F3.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-datadog%2F3.6.0/manifests"},{"name":"providers-microsoft-mssql/3.7.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:21.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-microsoft-mssql/3.7.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-microsoft-mssql/3.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-mssql%2F3.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-mssql%2F3.7.0/manifests"},{"name":"providers-jenkins/3.6.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:21.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-jenkins/3.6.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-jenkins/3.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-jenkins%2F3.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-jenkins%2F3.6.0/manifests"},{"name":"providers-neo4j/3.6.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:21.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-neo4j/3.6.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-neo4j/3.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-neo4j%2F3.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-neo4j%2F3.6.0/manifests"},{"name":"providers-opensearch/1.2.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:21.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-opensearch/1.2.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-opensearch/1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-opensearch%2F1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-opensearch%2F1.2.0/manifests"},{"name":"providers-pagerduty/3.7.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:21.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-pagerduty/3.7.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-pagerduty/3.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-pagerduty%2F3.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-pagerduty%2F3.7.0/manifests"},{"name":"providers-presto/5.5.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:21.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-presto/5.5.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-presto/5.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-presto%2F5.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-presto%2F5.5.0/manifests"},{"name":"providers-postgres/5.11.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:21.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-postgres/5.11.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-postgres/5.11.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-postgres%2F5.11.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-postgres%2F5.11.0/manifests"},{"name":"providers-ssh/3.11.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:21.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-ssh/3.11.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-ssh/3.11.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-ssh%2F3.11.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-ssh%2F3.11.0/manifests"},{"name":"providers-telegram/4.5.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:20.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-telegram/4.5.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-telegram/4.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-telegram%2F4.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-telegram%2F4.5.0/manifests"},{"name":"providers-vertica/3.8.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:20.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-vertica/3.8.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-vertica/3.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-vertica%2F3.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-vertica%2F3.8.0/manifests"},{"name":"providers-weaviate/1.4.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:20.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-weaviate/1.4.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-weaviate/1.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-weaviate%2F1.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-weaviate%2F1.4.0/manifests"},{"name":"providers-trino/5.7.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:20.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-trino/5.7.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-trino/5.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-trino%2F5.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-trino%2F5.7.0/manifests"},{"name":"providers-yandex/3.11.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:20.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-yandex/3.11.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-yandex/3.11.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-yandex%2F3.11.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-yandex%2F3.11.0/manifests"},{"name":"providers-teradata/2.1.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:20.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-teradata/2.1.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-teradata/2.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-teradata%2F2.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-teradata%2F2.1.0/manifests"},{"name":"providers-snowflake/5.5.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:20.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-snowflake/5.5.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-snowflake/5.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-snowflake%2F5.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-snowflake%2F5.5.0/manifests"},{"name":"providers-tableau/4.5.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:20.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-tableau/4.5.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-tableau/4.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-tableau%2F4.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-tableau%2F4.5.0/manifests"},{"name":"providers-tabular/1.5.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:20.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-tabular/1.5.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-tabular/1.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-tabular%2F1.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-tabular%2F1.5.0/manifests"},{"name":"providers-sendgrid/3.5.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:20.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-sendgrid/3.5.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-sendgrid/3.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-sendgrid%2F3.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-sendgrid%2F3.5.0/manifests"},{"name":"providers-singularity/3.5.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:20.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-singularity/3.5.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-singularity/3.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-singularity%2F3.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-singularity%2F3.5.0/manifests"},{"name":"providers-apprise/1.3.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:20.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apprise/1.3.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-apprise/1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apprise%2F1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apprise%2F1.3.0/manifests"},{"name":"providers-sqlite/3.8.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:20.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-sqlite/3.8.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-sqlite/3.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-sqlite%2F3.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-sqlite%2F3.8.0/manifests"},{"name":"providers-slack/8.7.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:20.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-slack/8.7.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-slack/8.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-slack%2F8.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-slack%2F8.7.0/manifests"},{"name":"providers-jdbc/4.3.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:20.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-jdbc/4.3.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-jdbc/4.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-jdbc%2F4.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-jdbc%2F4.3.0/manifests"},{"name":"providers-apache-druid/3.10.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:20.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-druid/3.10.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-druid/3.10.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-druid%2F3.10.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-druid%2F3.10.0/manifests"},{"name":"providers-amazon/8.21.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:20.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-amazon/8.21.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-amazon/8.21.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-amazon%2F8.21.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-amazon%2F8.21.0/manifests"},{"name":"providers-sftp/4.10.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:20.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-sftp/4.10.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-sftp/4.10.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-sftp%2F4.10.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-sftp%2F4.10.0/manifests"},{"name":"providers-apache-kafka/1.4.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:20.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-kafka/1.4.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-kafka/1.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-kafka%2F1.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-kafka%2F1.4.0/manifests"},{"name":"providers-grpc/3.5.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:20.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-grpc/3.5.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-grpc/3.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-grpc%2F3.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-grpc%2F3.5.0/manifests"},{"name":"providers-apache-drill/2.7.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:20.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-drill/2.7.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-drill/2.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-drill%2F2.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-drill%2F2.7.0/manifests"},{"name":"providers-apache-cassandra/3.5.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:20.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-cassandra/3.5.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-cassandra/3.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-cassandra%2F3.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-cassandra%2F3.5.0/manifests"},{"name":"providers-apache-beam/5.7.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:20.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-beam/5.7.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-beam/5.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-beam%2F5.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-beam%2F5.7.0/manifests"},{"name":"providers-alibaba/2.8.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:20.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-alibaba/2.8.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-alibaba/2.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-alibaba%2F2.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-alibaba%2F2.8.0/manifests"},{"name":"providers-airbyte/3.8.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:20.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-airbyte/3.8.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-airbyte/3.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-airbyte%2F3.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-airbyte%2F3.8.0/manifests"},{"name":"providers-apache-impala/1.4.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:20.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-impala/1.4.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-impala/1.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-impala%2F1.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-impala%2F1.4.0/manifests"},{"name":"providers-apache-hdfs/4.4.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:20.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-hdfs/4.4.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-hdfs/4.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-hdfs%2F4.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-hdfs%2F4.4.0/manifests"},{"name":"providers-apache-hive/8.1.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:20.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-hive/8.1.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-hive/8.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-hive%2F8.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-hive%2F8.1.0/manifests"},{"name":"providers-apache-pinot/4.4.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:20.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-pinot/4.4.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-pinot/4.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-pinot%2F4.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-pinot%2F4.4.0/manifests"},{"name":"providers-apache-spark/4.8.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:20.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-spark/4.8.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-spark/4.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-spark%2F4.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-spark%2F4.8.0/manifests"},{"name":"providers-common-sql/1.13.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:20.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-common-sql/1.13.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-common-sql/1.13.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-common-sql%2F1.13.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-common-sql%2F1.13.0/manifests"},{"name":"providers-apache-kylin/3.6.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:20.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-kylin/3.6.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-kylin/3.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-kylin%2F3.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-kylin%2F3.6.0/manifests"},{"name":"providers-apache-flink/1.4.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:20.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-flink/1.4.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-flink/1.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-flink%2F1.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-flink%2F1.4.0/manifests"},{"name":"providers-cncf-kubernetes/8.2.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:20.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-cncf-kubernetes/8.2.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-cncf-kubernetes/8.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cncf-kubernetes%2F8.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cncf-kubernetes%2F8.2.0/manifests"},{"name":"providers-cohere/1.2.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:20.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-cohere/1.2.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-cohere/1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cohere%2F1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cohere%2F1.2.0/manifests"},{"name":"providers-celery/3.7.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:20.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-celery/3.7.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-celery/3.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-celery%2F3.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-celery%2F3.7.0/manifests"},{"name":"providers-atlassian-jira/2.6.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:20.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-atlassian-jira/2.6.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-atlassian-jira/2.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-atlassian-jira%2F2.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-atlassian-jira%2F2.6.0/manifests"},{"name":"providers-asana/2.5.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:20.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-asana/2.5.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-asana/2.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-asana%2F2.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-asana%2F2.5.0/manifests"},{"name":"providers-arangodb/2.5.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:20.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-arangodb/2.5.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-arangodb/2.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-arangodb%2F2.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-arangodb%2F2.5.0/manifests"},{"name":"providers-elasticsearch/5.4.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:20.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-elasticsearch/5.4.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-elasticsearch/5.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-elasticsearch%2F5.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-elasticsearch%2F5.4.0/manifests"},{"name":"providers-facebook/3.5.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:20.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-facebook/3.5.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-facebook/3.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-facebook%2F3.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-facebook%2F3.5.0/manifests"},{"name":"providers-fab/1.1.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:20.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-fab/1.1.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-fab/1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-fab%2F1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-fab%2F1.1.0/manifests"},{"name":"providers-exasol/4.5.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:20.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-exasol/4.5.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-exasol/4.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-exasol%2F4.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-exasol%2F4.5.0/manifests"},{"name":"providers-dingding/3.5.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:20.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-dingding/3.5.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-dingding/3.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-dingding%2F3.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-dingding%2F3.5.0/manifests"},{"name":"providers-hashicorp/3.7.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:20.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-hashicorp/3.7.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-hashicorp/3.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-hashicorp%2F3.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-hashicorp%2F3.7.0/manifests"},{"name":"providers-github/2.6.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:20.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-github/2.6.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-github/2.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-github%2F2.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-github%2F2.6.0/manifests"},{"name":"providers-http/4.11.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:20.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-http/4.11.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-http/4.11.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-http%2F4.11.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-http%2F4.11.0/manifests"},{"name":"providers-influxdb/2.5.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:20.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-influxdb/2.5.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-influxdb/2.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-influxdb%2F2.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-influxdb%2F2.5.0/manifests"},{"name":"providers-ftp/3.9.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:20.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-ftp/3.9.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-ftp/3.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-ftp%2F3.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-ftp%2F3.9.0/manifests"},{"name":"providers-imap/3.6.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:20.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-imap/3.6.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-imap/3.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-imap%2F3.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-imap%2F3.6.0/manifests"},{"name":"providers-microsoft-psrp/2.7.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:20.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-microsoft-psrp/2.7.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-microsoft-psrp/2.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-psrp%2F2.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-psrp%2F2.7.0/manifests"},{"name":"providers-databricks/6.4.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:20.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-databricks/6.4.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-databricks/6.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-databricks%2F6.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-databricks%2F6.4.0/manifests"},{"name":"providers-mysql/5.6.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:20.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-mysql/5.6.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-mysql/5.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-mysql%2F5.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-mysql%2F5.6.0/manifests"},{"name":"providers-mongo/4.1.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:20.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-mongo/4.1.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-mongo/4.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-mongo%2F4.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-mongo%2F4.1.0/manifests"},{"name":"providers-openlineage/1.7.1","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:20.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-openlineage/1.7.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-openlineage/1.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-openlineage%2F1.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-openlineage%2F1.7.1/manifests"},{"name":"providers-openfaas/3.5.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:20.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-openfaas/3.5.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-openfaas/3.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-openfaas%2F3.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-openfaas%2F3.5.0/manifests"},{"name":"providers-oracle/3.10.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:20.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-oracle/3.10.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-oracle/3.10.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-oracle%2F3.10.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-oracle%2F3.10.0/manifests"},{"name":"providers-opsgenie/5.6.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:20.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-opsgenie/5.6.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-opsgenie/5.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-opsgenie%2F5.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-opsgenie%2F5.6.0/manifests"},{"name":"providers-papermill/3.7.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:20.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-papermill/3.7.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-papermill/3.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-papermill%2F3.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-papermill%2F3.7.0/manifests"},{"name":"providers-pgvector/1.2.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:20.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-pgvector/1.2.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-pgvector/1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-pgvector%2F1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-pgvector%2F1.2.0/manifests"},{"name":"providers-redis/3.7.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:20.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-redis/3.7.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-redis/3.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-redis%2F3.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-redis%2F3.7.0/manifests"},{"name":"providers-qdrant/1.1.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:20.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-qdrant/1.1.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-qdrant/1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-qdrant%2F1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-qdrant%2F1.1.0/manifests"},{"name":"providers-openai/1.2.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:20.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-openai/1.2.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-openai/1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-openai%2F1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-openai%2F1.2.0/manifests"},{"name":"providers-samba/4.7.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:20.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-samba/4.7.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-samba/4.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-samba%2F4.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-samba%2F4.7.0/manifests"},{"name":"providers-segment/3.5.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:20.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-segment/3.5.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-segment/3.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-segment%2F3.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-segment%2F3.5.0/manifests"},{"name":"providers-salesforce/5.7.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:20.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-salesforce/5.7.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-salesforce/5.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-salesforce%2F5.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-salesforce%2F5.7.0/manifests"},{"name":"providers-odbc/4.6.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:20.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-odbc/4.6.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-odbc/4.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-odbc%2F4.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-odbc%2F4.6.0/manifests"},{"name":"providers-smtp/1.7.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:19.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-smtp/1.7.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-smtp/1.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-smtp%2F1.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-smtp%2F1.7.0/manifests"},{"name":"providers-apache-livy/3.8.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:19.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-livy/3.8.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-livy/3.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-livy%2F3.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-livy%2F3.8.0/manifests"},{"name":"providers-discord/3.7.0","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-06T08:35:19.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-discord/3.7.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-discord/3.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-discord%2F3.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-discord%2F3.7.0/manifests"},{"name":"2.9.1","sha":"2d53c1089f78d8d1416f51af60e1e0354781c661","kind":"tag","published_at":"2024-05-06T07:05:53.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/2.9.1","html_url":"https://github.com/apache/airflow/releases/tag/2.9.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/2.9.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/2.9.1/manifests"},{"name":"constraints-2.9.1","sha":"b402267cea69527fb0c380e5f590cd812bf82b11","kind":"tag","published_at":"2024-05-06T07:04:48.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/constraints-2.9.1","html_url":"https://github.com/apache/airflow/releases/tag/constraints-2.9.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/constraints-2.9.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/constraints-2.9.1/manifests"},{"name":"python-client-2.9.0","sha":"e61cb8fa41f34bc5e3140a2c22b24dd110b4c421","kind":"tag","published_at":"2024-05-02T19:06:55.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/python-client-2.9.0","html_url":"https://github.com/apache/airflow/releases/tag/python-client-2.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/python-client-2.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/python-client-2.9.0/manifests"},{"name":"constraints-2.9.1rc2","sha":"b402267cea69527fb0c380e5f590cd812bf82b11","kind":"tag","published_at":"2024-05-02T19:02:20.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/constraints-2.9.1rc2","html_url":"https://github.com/apache/airflow/releases/tag/constraints-2.9.1rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/constraints-2.9.1rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/constraints-2.9.1rc2/manifests"},{"name":"2.9.1rc2","sha":"2d53c1089f78d8d1416f51af60e1e0354781c661","kind":"tag","published_at":"2024-05-02T18:57:09.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/2.9.1rc2","html_url":"https://github.com/apache/airflow/releases/tag/2.9.1rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/2.9.1rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/2.9.1rc2/manifests"},{"name":"providers-apache-impala/1.4.0rc1","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:10.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-impala/1.4.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-impala/1.4.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-impala%2F1.4.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-impala%2F1.4.0rc1/manifests"},{"name":"providers-apache-pig/4.4.0rc2","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:10.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-pig/4.4.0rc2","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-pig/4.4.0rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-pig%2F4.4.0rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-pig%2F4.4.0rc2/manifests"},{"name":"providers-apache-hive/8.1.0rc1","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:10.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-hive/8.1.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-hive/8.1.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-hive%2F8.1.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-hive%2F8.1.0rc1/manifests"},{"name":"providers-discord/3.7.0rc1","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:10.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-discord/3.7.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-discord/3.7.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-discord%2F3.7.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-discord%2F3.7.0rc1/manifests"},{"name":"providers-databricks/6.4.0rc1","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:10.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-databricks/6.4.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-databricks/6.4.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-databricks%2F6.4.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-databricks%2F6.4.0rc1/manifests"},{"name":"providers-fab/1.1.0rc1","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:10.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-fab/1.1.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-fab/1.1.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-fab%2F1.1.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-fab%2F1.1.0rc1/manifests"},{"name":"providers-exasol/4.5.0rc1","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:10.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-exasol/4.5.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-exasol/4.5.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-exasol%2F4.5.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-exasol%2F4.5.0rc1/manifests"},{"name":"providers-trino/5.7.0rc1","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:10.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-trino/5.7.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-trino/5.7.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-trino%2F5.7.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-trino%2F5.7.0rc1/manifests"},{"name":"providers-smtp/1.7.0rc2","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:10.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-smtp/1.7.0rc2","html_url":"https://github.com/apache/airflow/releases/tag/providers-smtp/1.7.0rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-smtp%2F1.7.0rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-smtp%2F1.7.0rc2/manifests"},{"name":"providers-snowflake/5.5.0rc1","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:10.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-snowflake/5.5.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-snowflake/5.5.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-snowflake%2F5.5.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-snowflake%2F5.5.0rc1/manifests"},{"name":"providers-pinecone/2.0.0rc1","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:10.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-pinecone/2.0.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-pinecone/2.0.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-pinecone%2F2.0.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-pinecone%2F2.0.0rc1/manifests"},{"name":"providers-sftp/4.10.0rc1","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:10.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-sftp/4.10.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-sftp/4.10.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-sftp%2F4.10.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-sftp%2F4.10.0rc1/manifests"},{"name":"providers-papermill/3.7.0rc1","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:10.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-papermill/3.7.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-papermill/3.7.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-papermill%2F3.7.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-papermill%2F3.7.0rc1/manifests"},{"name":"providers-zendesk/4.7.0rc2","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:10.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-zendesk/4.7.0rc2","html_url":"https://github.com/apache/airflow/releases/tag/providers-zendesk/4.7.0rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-zendesk%2F4.7.0rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-zendesk%2F4.7.0rc2/manifests"},{"name":"providers-facebook/3.5.0rc2","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:10.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-facebook/3.5.0rc2","html_url":"https://github.com/apache/airflow/releases/tag/providers-facebook/3.5.0rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-facebook%2F3.5.0rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-facebook%2F3.5.0rc2/manifests"},{"name":"providers-microsoft-winrm/3.5.0rc2","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:10.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-microsoft-winrm/3.5.0rc2","html_url":"https://github.com/apache/airflow/releases/tag/providers-microsoft-winrm/3.5.0rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-winrm%2F3.5.0rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-winrm%2F3.5.0rc2/manifests"},{"name":"providers-common-sql/1.13.0rc1","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:10.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-common-sql/1.13.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-common-sql/1.13.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-common-sql%2F1.13.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-common-sql%2F1.13.0rc1/manifests"},{"name":"providers-alibaba/2.8.0rc1","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:10.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-alibaba/2.8.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-alibaba/2.8.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-alibaba%2F2.8.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-alibaba%2F2.8.0rc1/manifests"},{"name":"providers-apache-livy/3.8.0rc1","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:10.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-livy/3.8.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-livy/3.8.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-livy%2F3.8.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-livy%2F3.8.0rc1/manifests"},{"name":"providers-sendgrid/3.5.0rc1","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:09.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-sendgrid/3.5.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-sendgrid/3.5.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-sendgrid%2F3.5.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-sendgrid%2F3.5.0rc1/manifests"},{"name":"providers-amazon/8.21.0rc1","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:09.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-amazon/8.21.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-amazon/8.21.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-amazon%2F8.21.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-amazon%2F8.21.0rc1/manifests"},{"name":"providers-airbyte/3.8.0rc1","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:09.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-airbyte/3.8.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-airbyte/3.8.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-airbyte%2F3.8.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-airbyte%2F3.8.0rc1/manifests"},{"name":"providers-apache-beam/5.7.0rc1","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:09.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-beam/5.7.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-beam/5.7.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-beam%2F5.7.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-beam%2F5.7.0rc1/manifests"},{"name":"providers-apache-drill/2.7.0rc1","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:09.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-drill/2.7.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-drill/2.7.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-drill%2F2.7.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-drill%2F2.7.0rc1/manifests"},{"name":"providers-apache-cassandra/3.5.0rc1","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:09.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-cassandra/3.5.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-cassandra/3.5.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-cassandra%2F3.5.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-cassandra%2F3.5.0rc1/manifests"},{"name":"providers-apache-hdfs/4.4.0rc2","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:09.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-hdfs/4.4.0rc2","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-hdfs/4.4.0rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-hdfs%2F4.4.0rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-hdfs%2F4.4.0rc2/manifests"},{"name":"providers-apache-flink/1.4.0rc1","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:09.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-flink/1.4.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-flink/1.4.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-flink%2F1.4.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-flink%2F1.4.0rc1/manifests"},{"name":"providers-apache-druid/3.10.0rc1","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:09.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-druid/3.10.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-druid/3.10.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-druid%2F3.10.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-druid%2F3.10.0rc1/manifests"},{"name":"providers-apache-kylin/3.6.0rc2","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:09.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-kylin/3.6.0rc2","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-kylin/3.6.0rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-kylin%2F3.6.0rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-kylin%2F3.6.0rc2/manifests"},{"name":"providers-apache-kafka/1.4.0rc2","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:09.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-kafka/1.4.0rc2","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-kafka/1.4.0rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-kafka%2F1.4.0rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-kafka%2F1.4.0rc2/manifests"},{"name":"providers-singularity/3.5.0rc1","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:09.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-singularity/3.5.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-singularity/3.5.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-singularity%2F3.5.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-singularity%2F3.5.0rc1/manifests"},{"name":"providers-atlassian-jira/2.6.0rc2","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:09.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-atlassian-jira/2.6.0rc2","html_url":"https://github.com/apache/airflow/releases/tag/providers-atlassian-jira/2.6.0rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-atlassian-jira%2F2.6.0rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-atlassian-jira%2F2.6.0rc2/manifests"},{"name":"providers-cloudant/3.5.0rc2","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:09.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-cloudant/3.5.0rc2","html_url":"https://github.com/apache/airflow/releases/tag/providers-cloudant/3.5.0rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cloudant%2F3.5.0rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cloudant%2F3.5.0rc2/manifests"},{"name":"providers-asana/2.5.0rc1","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:09.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-asana/2.5.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-asana/2.5.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-asana%2F2.5.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-asana%2F2.5.0rc1/manifests"},{"name":"providers-cohere/1.2.0rc2","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:09.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-cohere/1.2.0rc2","html_url":"https://github.com/apache/airflow/releases/tag/providers-cohere/1.2.0rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cohere%2F1.2.0rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cohere%2F1.2.0rc2/manifests"},{"name":"providers-arangodb/2.5.0rc1","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:09.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-arangodb/2.5.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-arangodb/2.5.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-arangodb%2F2.5.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-arangodb%2F2.5.0rc1/manifests"},{"name":"providers-cncf-kubernetes/8.2.0rc1","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:09.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-cncf-kubernetes/8.2.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-cncf-kubernetes/8.2.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cncf-kubernetes%2F8.2.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cncf-kubernetes%2F8.2.0rc1/manifests"},{"name":"providers-dbt-cloud/3.8.0rc1","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:09.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-dbt-cloud/3.8.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-dbt-cloud/3.8.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-dbt-cloud%2F3.8.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-dbt-cloud%2F3.8.0rc1/manifests"},{"name":"providers-datadog/3.6.0rc1","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:09.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-datadog/3.6.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-datadog/3.6.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-datadog%2F3.6.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-datadog%2F3.6.0rc1/manifests"},{"name":"providers-elasticsearch/5.4.0rc2","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:09.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-elasticsearch/5.4.0rc2","html_url":"https://github.com/apache/airflow/releases/tag/providers-elasticsearch/5.4.0rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-elasticsearch%2F5.4.0rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-elasticsearch%2F5.4.0rc2/manifests"},{"name":"providers-docker/3.11.0rc1","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:09.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-docker/3.11.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-docker/3.11.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-docker%2F3.11.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-docker%2F3.11.0rc1/manifests"},{"name":"providers-apprise/1.3.0rc2","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:09.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apprise/1.3.0rc2","html_url":"https://github.com/apache/airflow/releases/tag/providers-apprise/1.3.0rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apprise%2F1.3.0rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apprise%2F1.3.0rc2/manifests"},{"name":"providers-apache-spark/4.8.0rc2","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:09.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-spark/4.8.0rc2","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-spark/4.8.0rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-spark%2F4.8.0rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-spark%2F4.8.0rc2/manifests"},{"name":"providers-ssh/3.11.0rc2","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:09.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-ssh/3.11.0rc2","html_url":"https://github.com/apache/airflow/releases/tag/providers-ssh/3.11.0rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-ssh%2F3.11.0rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-ssh%2F3.11.0rc2/manifests"},{"name":"providers-apache-pinot/4.4.0rc2","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:09.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-pinot/4.4.0rc2","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-pinot/4.4.0rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-pinot%2F4.4.0rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-pinot%2F4.4.0rc2/manifests"},{"name":"providers-sqlite/3.8.0rc1","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:09.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-sqlite/3.8.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-sqlite/3.8.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-sqlite%2F3.8.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-sqlite%2F3.8.0rc1/manifests"},{"name":"providers-teradata/2.1.0rc1","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:09.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-teradata/2.1.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-teradata/2.1.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-teradata%2F2.1.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-teradata%2F2.1.0rc1/manifests"},{"name":"providers-telegram/4.5.0rc1","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:09.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-telegram/4.5.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-telegram/4.5.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-telegram%2F4.5.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-telegram%2F4.5.0rc1/manifests"},{"name":"providers-tabular/1.5.0rc2","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:09.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-tabular/1.5.0rc2","html_url":"https://github.com/apache/airflow/releases/tag/providers-tabular/1.5.0rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-tabular%2F1.5.0rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-tabular%2F1.5.0rc2/manifests"},{"name":"providers-pgvector/1.2.0rc1","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:09.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-pgvector/1.2.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-pgvector/1.2.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-pgvector%2F1.2.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-pgvector%2F1.2.0rc1/manifests"},{"name":"providers-pagerduty/3.7.0rc2","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:09.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-pagerduty/3.7.0rc2","html_url":"https://github.com/apache/airflow/releases/tag/providers-pagerduty/3.7.0rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-pagerduty%2F3.7.0rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-pagerduty%2F3.7.0rc2/manifests"},{"name":"providers-qdrant/1.1.0rc1","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:09.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-qdrant/1.1.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-qdrant/1.1.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-qdrant%2F1.1.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-qdrant%2F1.1.0rc1/manifests"},{"name":"providers-oracle/3.10.0rc1","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:09.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-oracle/3.10.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-oracle/3.10.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-oracle%2F3.10.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-oracle%2F3.10.0rc1/manifests"},{"name":"providers-postgres/5.11.0rc1","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:09.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-postgres/5.11.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-postgres/5.11.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-postgres%2F5.11.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-postgres%2F5.11.0rc1/manifests"},{"name":"providers-samba/4.7.0rc1","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:09.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-samba/4.7.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-samba/4.7.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-samba%2F4.7.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-samba%2F4.7.0rc1/manifests"},{"name":"providers-salesforce/5.7.0rc2","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:09.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-salesforce/5.7.0rc2","html_url":"https://github.com/apache/airflow/releases/tag/providers-salesforce/5.7.0rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-salesforce%2F5.7.0rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-salesforce%2F5.7.0rc2/manifests"},{"name":"providers-slack/8.7.0rc1","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:09.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-slack/8.7.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-slack/8.7.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-slack%2F8.7.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-slack%2F8.7.0rc1/manifests"},{"name":"providers-redis/3.7.0rc2","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:09.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-redis/3.7.0rc2","html_url":"https://github.com/apache/airflow/releases/tag/providers-redis/3.7.0rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-redis%2F3.7.0rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-redis%2F3.7.0rc2/manifests"},{"name":"providers-opsgenie/5.6.0rc2","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:09.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-opsgenie/5.6.0rc2","html_url":"https://github.com/apache/airflow/releases/tag/providers-opsgenie/5.6.0rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-opsgenie%2F5.6.0rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-opsgenie%2F5.6.0rc2/manifests"},{"name":"providers-github/2.6.0rc1","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:09.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-github/2.6.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-github/2.6.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-github%2F2.6.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-github%2F2.6.0rc1/manifests"},{"name":"providers-http/4.11.0rc1","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:09.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-http/4.11.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-http/4.11.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-http%2F4.11.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-http%2F4.11.0rc1/manifests"},{"name":"providers-hashicorp/3.7.0rc2","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:09.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-hashicorp/3.7.0rc2","html_url":"https://github.com/apache/airflow/releases/tag/providers-hashicorp/3.7.0rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-hashicorp%2F3.7.0rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-hashicorp%2F3.7.0rc2/manifests"},{"name":"providers-influxdb/2.5.0rc1","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:09.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-influxdb/2.5.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-influxdb/2.5.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-influxdb%2F2.5.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-influxdb%2F2.5.0rc1/manifests"},{"name":"providers-microsoft-azure/10.1.0rc1","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:09.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-microsoft-azure/10.1.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-microsoft-azure/10.1.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-azure%2F10.1.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-azure%2F10.1.0rc1/manifests"},{"name":"providers-jenkins/3.6.0rc2","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:09.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-jenkins/3.6.0rc2","html_url":"https://github.com/apache/airflow/releases/tag/providers-jenkins/3.6.0rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-jenkins%2F3.6.0rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-jenkins%2F3.6.0rc2/manifests"},{"name":"providers-grpc/3.5.0rc2","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:09.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-grpc/3.5.0rc2","html_url":"https://github.com/apache/airflow/releases/tag/providers-grpc/3.5.0rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-grpc%2F3.5.0rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-grpc%2F3.5.0rc2/manifests"},{"name":"providers-jdbc/4.3.0rc1","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:09.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-jdbc/4.3.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-jdbc/4.3.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-jdbc%2F4.3.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-jdbc%2F4.3.0rc1/manifests"},{"name":"providers-openfaas/3.5.0rc1","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:09.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-openfaas/3.5.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-openfaas/3.5.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-openfaas%2F3.5.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-openfaas%2F3.5.0rc1/manifests"},{"name":"providers-openai/1.2.0rc1","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:09.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-openai/1.2.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-openai/1.2.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-openai%2F1.2.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-openai%2F1.2.0rc1/manifests"},{"name":"providers-microsoft-psrp/2.7.0rc1","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:09.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-microsoft-psrp/2.7.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-microsoft-psrp/2.7.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-psrp%2F2.7.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-psrp%2F2.7.0rc1/manifests"},{"name":"providers-imap/3.6.0rc2","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:09.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-imap/3.6.0rc2","html_url":"https://github.com/apache/airflow/releases/tag/providers-imap/3.6.0rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-imap%2F3.6.0rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-imap%2F3.6.0rc2/manifests"},{"name":"providers-openlineage/1.7.1rc1","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:09.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-openlineage/1.7.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-openlineage/1.7.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-openlineage%2F1.7.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-openlineage%2F1.7.1rc1/manifests"},{"name":"providers-opensearch/1.2.0rc1","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:09.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-opensearch/1.2.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-opensearch/1.2.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-opensearch%2F1.2.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-opensearch%2F1.2.0rc1/manifests"},{"name":"providers-microsoft-mssql/3.7.0rc1","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:09.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-microsoft-mssql/3.7.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-microsoft-mssql/3.7.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-mssql%2F3.7.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-mssql%2F3.7.0rc1/manifests"},{"name":"providers-google/10.18.0rc1","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:09.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-google/10.18.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-google/10.18.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-google%2F10.18.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-google%2F10.18.0rc1/manifests"},{"name":"providers-ftp/3.9.0rc1","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:09.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-ftp/3.9.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-ftp/3.9.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-ftp%2F3.9.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-ftp%2F3.9.0rc1/manifests"},{"name":"providers-vertica/3.8.0rc1","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:09.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-vertica/3.8.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-vertica/3.8.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-vertica%2F3.8.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-vertica%2F3.8.0rc1/manifests"},{"name":"providers-odbc/4.6.0rc1","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:09.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-odbc/4.6.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-odbc/4.6.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-odbc%2F4.6.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-odbc%2F4.6.0rc1/manifests"},{"name":"providers-segment/3.5.0rc2","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:09.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-segment/3.5.0rc2","html_url":"https://github.com/apache/airflow/releases/tag/providers-segment/3.5.0rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-segment%2F3.5.0rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-segment%2F3.5.0rc2/manifests"},{"name":"providers-yandex/3.11.0rc1","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:09.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-yandex/3.11.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-yandex/3.11.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-yandex%2F3.11.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-yandex%2F3.11.0rc1/manifests"},{"name":"providers-weaviate/1.4.0rc1","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:09.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-weaviate/1.4.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-weaviate/1.4.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-weaviate%2F1.4.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-weaviate%2F1.4.0rc1/manifests"},{"name":"providers-neo4j/3.6.0rc1","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:09.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-neo4j/3.6.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-neo4j/3.6.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-neo4j%2F3.6.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-neo4j%2F3.6.0rc1/manifests"},{"name":"providers-dingding/3.5.0rc1","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:09.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-dingding/3.5.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-dingding/3.5.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-dingding%2F3.5.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-dingding%2F3.5.0rc1/manifests"},{"name":"providers-mongo/4.1.0rc1","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:09.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-mongo/4.1.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-mongo/4.1.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-mongo%2F4.1.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-mongo%2F4.1.0rc1/manifests"},{"name":"providers-tableau/4.5.0rc2","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:09.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-tableau/4.5.0rc2","html_url":"https://github.com/apache/airflow/releases/tag/providers-tableau/4.5.0rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-tableau%2F4.5.0rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-tableau%2F4.5.0rc2/manifests"},{"name":"providers-celery/3.7.0rc1","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:08.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-celery/3.7.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-celery/3.7.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-celery%2F3.7.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-celery%2F3.7.0rc1/manifests"},{"name":"providers-presto/5.5.0rc1","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:08.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-presto/5.5.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-presto/5.5.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-presto%2F5.5.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-presto%2F5.5.0rc1/manifests"},{"name":"providers-mysql/5.6.0rc1","sha":"fe4605a10e26f1b8a180979ba5765d1cb7fb0111","kind":"tag","published_at":"2024-05-01T12:04:08.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-mysql/5.6.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-mysql/5.6.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-mysql%2F5.6.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-mysql%2F5.6.0rc1/manifests"},{"name":"constraints-2.9.1rc1","sha":"2d9dc7f892d3438e9acf52a9c1d00cd237c7f1b1","kind":"tag","published_at":"2024-04-30T10:09:48.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/constraints-2.9.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/constraints-2.9.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/constraints-2.9.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/constraints-2.9.1rc1/manifests"},{"name":"2.9.1rc1","sha":"5356cb9f9b989ff48e1f963c19f088b80acb4c2c","kind":"tag","published_at":"2024-04-30T09:54:42.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/2.9.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/2.9.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/2.9.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/2.9.1rc1/manifests"},{"name":"python-client-2.9.0rc1","sha":"e61cb8fa41f34bc5e3140a2c22b24dd110b4c421","kind":"tag","published_at":"2024-04-22T21:31:06.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/python-client-2.9.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/python-client-2.9.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/python-client-2.9.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/python-client-2.9.0rc1/manifests"},{"name":"providers-databricks/6.3.0","sha":"13df6569d6cc131fbf096cedd46dc32b0a6cf6b2","kind":"tag","published_at":"2024-04-21T07:55:14.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-databricks/6.3.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-databricks/6.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-databricks%2F6.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-databricks%2F6.3.0/manifests"},{"name":"providers-cncf-kubernetes/8.1.1","sha":"13df6569d6cc131fbf096cedd46dc32b0a6cf6b2","kind":"tag","published_at":"2024-04-21T07:55:14.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-cncf-kubernetes/8.1.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-cncf-kubernetes/8.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cncf-kubernetes%2F8.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cncf-kubernetes%2F8.1.1/manifests"},{"name":"providers-fab/1.0.4","sha":"13df6569d6cc131fbf096cedd46dc32b0a6cf6b2","kind":"tag","published_at":"2024-04-21T07:55:14.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-fab/1.0.4","html_url":"https://github.com/apache/airflow/releases/tag/providers-fab/1.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-fab%2F1.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-fab%2F1.0.4/manifests"},{"name":"providers-fab/1.0.4rc1","sha":"13df6569d6cc131fbf096cedd46dc32b0a6cf6b2","kind":"tag","published_at":"2024-04-16T12:26:11.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-fab/1.0.4rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-fab/1.0.4rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-fab%2F1.0.4rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-fab%2F1.0.4rc1/manifests"},{"name":"providers-databricks/6.3.0rc3","sha":"13df6569d6cc131fbf096cedd46dc32b0a6cf6b2","kind":"tag","published_at":"2024-04-16T12:26:11.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-databricks/6.3.0rc3","html_url":"https://github.com/apache/airflow/releases/tag/providers-databricks/6.3.0rc3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-databricks%2F6.3.0rc3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-databricks%2F6.3.0rc3/manifests"},{"name":"providers-cncf-kubernetes/8.1.1rc1","sha":"13df6569d6cc131fbf096cedd46dc32b0a6cf6b2","kind":"tag","published_at":"2024-04-16T12:26:11.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-cncf-kubernetes/8.1.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-cncf-kubernetes/8.1.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cncf-kubernetes%2F8.1.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cncf-kubernetes%2F8.1.1rc1/manifests"},{"name":"providers-yandex/3.10.0","sha":"f9dcc82fb690777e0cb4951f5ae5a4bde1e15c54","kind":"tag","published_at":"2024-04-16T07:26:28.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-yandex/3.10.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-yandex/3.10.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-yandex%2F3.10.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-yandex%2F3.10.0/manifests"},{"name":"providers-yandex/3.10.0rc2","sha":"f9dcc82fb690777e0cb4951f5ae5a4bde1e15c54","kind":"tag","published_at":"2024-04-13T20:13:39.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-yandex/3.10.0rc2","html_url":"https://github.com/apache/airflow/releases/tag/providers-yandex/3.10.0rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-yandex%2F3.10.0rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-yandex%2F3.10.0rc2/manifests"},{"name":"providers-databricks/6.3.0rc2","sha":"f9dcc82fb690777e0cb4951f5ae5a4bde1e15c54","kind":"tag","published_at":"2024-04-13T20:13:39.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-databricks/6.3.0rc2","html_url":"https://github.com/apache/airflow/releases/tag/providers-databricks/6.3.0rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-databricks%2F6.3.0rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-databricks%2F6.3.0rc2/manifests"},{"name":"providers-samba/4.6.0","sha":"5fa80b6aea60f93cdada66f160e2b54f723865ca","kind":"tag","published_at":"2024-04-13T18:19:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-samba/4.6.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-samba/4.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-samba%2F4.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-samba%2F4.6.0/manifests"},{"name":"providers-redis/3.6.1","sha":"5fa80b6aea60f93cdada66f160e2b54f723865ca","kind":"tag","published_at":"2024-04-13T18:19:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-redis/3.6.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-redis/3.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-redis%2F3.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-redis%2F3.6.1/manifests"},{"name":"providers-papermill/3.6.2","sha":"5fa80b6aea60f93cdada66f160e2b54f723865ca","kind":"tag","published_at":"2024-04-13T18:19:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-papermill/3.6.2","html_url":"https://github.com/apache/airflow/releases/tag/providers-papermill/3.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-papermill%2F3.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-papermill%2F3.6.2/manifests"},{"name":"providers-sftp/4.9.1","sha":"5fa80b6aea60f93cdada66f160e2b54f723865ca","kind":"tag","published_at":"2024-04-13T18:19:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-sftp/4.9.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-sftp/4.9.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-sftp%2F4.9.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-sftp%2F4.9.1/manifests"},{"name":"providers-weaviate/1.3.4","sha":"5fa80b6aea60f93cdada66f160e2b54f723865ca","kind":"tag","published_at":"2024-04-13T18:19:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-weaviate/1.3.4","html_url":"https://github.com/apache/airflow/releases/tag/providers-weaviate/1.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-weaviate%2F1.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-weaviate%2F1.3.4/manifests"},{"name":"providers-openlineage/1.7.0","sha":"5fa80b6aea60f93cdada66f160e2b54f723865ca","kind":"tag","published_at":"2024-04-13T18:19:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-openlineage/1.7.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-openlineage/1.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-openlineage%2F1.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-openlineage%2F1.7.0/manifests"},{"name":"providers-snowflake/5.4.0","sha":"5fa80b6aea60f93cdada66f160e2b54f723865ca","kind":"tag","published_at":"2024-04-13T18:19:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-snowflake/5.4.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-snowflake/5.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-snowflake%2F5.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-snowflake%2F5.4.0/manifests"},{"name":"providers-slack/8.6.2","sha":"5fa80b6aea60f93cdada66f160e2b54f723865ca","kind":"tag","published_at":"2024-04-13T18:19:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-slack/8.6.2","html_url":"https://github.com/apache/airflow/releases/tag/providers-slack/8.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-slack%2F8.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-slack%2F8.6.2/manifests"},{"name":"providers-microsoft-azure/10.0.0","sha":"5fa80b6aea60f93cdada66f160e2b54f723865ca","kind":"tag","published_at":"2024-04-13T18:19:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-microsoft-azure/10.0.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-microsoft-azure/10.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-azure%2F10.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-azure%2F10.0.0/manifests"},{"name":"providers-odbc/4.5.0","sha":"5fa80b6aea60f93cdada66f160e2b54f723865ca","kind":"tag","published_at":"2024-04-13T18:19:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-odbc/4.5.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-odbc/4.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-odbc%2F4.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-odbc%2F4.5.0/manifests"},{"name":"providers-microsoft-psrp/2.6.1","sha":"5fa80b6aea60f93cdada66f160e2b54f723865ca","kind":"tag","published_at":"2024-04-13T18:19:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-microsoft-psrp/2.6.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-microsoft-psrp/2.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-psrp%2F2.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-psrp%2F2.6.1/manifests"},{"name":"providers-fab/1.0.3","sha":"5fa80b6aea60f93cdada66f160e2b54f723865ca","kind":"tag","published_at":"2024-04-13T18:19:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-fab/1.0.3","html_url":"https://github.com/apache/airflow/releases/tag/providers-fab/1.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-fab%2F1.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-fab%2F1.0.3/manifests"},{"name":"providers-elasticsearch/5.3.4","sha":"5fa80b6aea60f93cdada66f160e2b54f723865ca","kind":"tag","published_at":"2024-04-13T18:19:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-elasticsearch/5.3.4","html_url":"https://github.com/apache/airflow/releases/tag/providers-elasticsearch/5.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-elasticsearch%2F5.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-elasticsearch%2F5.3.4/manifests"},{"name":"providers-http/4.10.1","sha":"5fa80b6aea60f93cdada66f160e2b54f723865ca","kind":"tag","published_at":"2024-04-13T18:19:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-http/4.10.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-http/4.10.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-http%2F4.10.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-http%2F4.10.1/manifests"},{"name":"providers-google/10.17.0","sha":"5fa80b6aea60f93cdada66f160e2b54f723865ca","kind":"tag","published_at":"2024-04-13T18:19:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-google/10.17.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-google/10.17.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-google%2F10.17.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-google%2F10.17.0/manifests"},{"name":"providers-common-io/1.3.1","sha":"5fa80b6aea60f93cdada66f160e2b54f723865ca","kind":"tag","published_at":"2024-04-13T18:19:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-common-io/1.3.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-common-io/1.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-common-io%2F1.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-common-io%2F1.3.1/manifests"},{"name":"providers-ftp/3.8.0","sha":"5fa80b6aea60f93cdada66f160e2b54f723865ca","kind":"tag","published_at":"2024-04-13T18:19:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-ftp/3.8.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-ftp/3.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-ftp%2F3.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-ftp%2F3.8.0/manifests"},{"name":"providers-docker/3.10.0","sha":"5fa80b6aea60f93cdada66f160e2b54f723865ca","kind":"tag","published_at":"2024-04-13T18:19:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-docker/3.10.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-docker/3.10.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-docker%2F3.10.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-docker%2F3.10.0/manifests"},{"name":"providers-dbt-cloud/3.7.1","sha":"5fa80b6aea60f93cdada66f160e2b54f723865ca","kind":"tag","published_at":"2024-04-13T18:19:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-dbt-cloud/3.7.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-dbt-cloud/3.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-dbt-cloud%2F3.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-dbt-cloud%2F3.7.1/manifests"},{"name":"providers-common-sql/1.12.0","sha":"5fa80b6aea60f93cdada66f160e2b54f723865ca","kind":"tag","published_at":"2024-04-13T18:19:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-common-sql/1.12.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-common-sql/1.12.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-common-sql%2F1.12.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-common-sql%2F1.12.0/manifests"},{"name":"providers-cohere/1.1.3","sha":"5fa80b6aea60f93cdada66f160e2b54f723865ca","kind":"tag","published_at":"2024-04-13T18:19:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-cohere/1.1.3","html_url":"https://github.com/apache/airflow/releases/tag/providers-cohere/1.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cohere%2F1.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cohere%2F1.1.3/manifests"},{"name":"providers-celery/3.6.2","sha":"5fa80b6aea60f93cdada66f160e2b54f723865ca","kind":"tag","published_at":"2024-04-13T18:19:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-celery/3.6.2","html_url":"https://github.com/apache/airflow/releases/tag/providers-celery/3.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-celery%2F3.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-celery%2F3.6.2/manifests"},{"name":"providers-cncf-kubernetes/8.1.0","sha":"5fa80b6aea60f93cdada66f160e2b54f723865ca","kind":"tag","published_at":"2024-04-13T18:19:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-cncf-kubernetes/8.1.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-cncf-kubernetes/8.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cncf-kubernetes%2F8.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cncf-kubernetes%2F8.1.0/manifests"},{"name":"providers-alibaba/2.7.3","sha":"5fa80b6aea60f93cdada66f160e2b54f723865ca","kind":"tag","published_at":"2024-04-13T18:19:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-alibaba/2.7.3","html_url":"https://github.com/apache/airflow/releases/tag/providers-alibaba/2.7.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-alibaba%2F2.7.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-alibaba%2F2.7.3/manifests"},{"name":"providers-airbyte/3.7.0","sha":"5fa80b6aea60f93cdada66f160e2b54f723865ca","kind":"tag","published_at":"2024-04-13T18:19:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-airbyte/3.7.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-airbyte/3.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-airbyte%2F3.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-airbyte%2F3.7.0/manifests"},{"name":"providers-amazon/8.20.0","sha":"5fa80b6aea60f93cdada66f160e2b54f723865ca","kind":"tag","published_at":"2024-04-13T18:19:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-amazon/8.20.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-amazon/8.20.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-amazon%2F8.20.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-amazon%2F8.20.0/manifests"},{"name":"providers-apache-spark/4.7.2","sha":"5fa80b6aea60f93cdada66f160e2b54f723865ca","kind":"tag","published_at":"2024-04-13T18:19:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-spark/4.7.2","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-spark/4.7.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-spark%2F4.7.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-spark%2F4.7.2/manifests"},{"name":"providers-apache-beam/5.6.3","sha":"5fa80b6aea60f93cdada66f160e2b54f723865ca","kind":"tag","published_at":"2024-04-13T18:19:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-beam/5.6.3","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-beam/5.6.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-beam%2F5.6.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-beam%2F5.6.3/manifests"},{"name":"providers-apache-hive/8.0.0","sha":"5fa80b6aea60f93cdada66f160e2b54f723865ca","kind":"tag","published_at":"2024-04-13T18:19:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-hive/8.0.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-hive/8.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-hive%2F8.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-hive%2F8.0.0/manifests"},{"name":"providers-apache-cassandra/3.4.2","sha":"5fa80b6aea60f93cdada66f160e2b54f723865ca","kind":"tag","published_at":"2024-04-13T18:19:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-cassandra/3.4.2","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-cassandra/3.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-cassandra%2F3.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-cassandra%2F3.4.2/manifests"},{"name":"providers-http/4.10.1rc1","sha":"5fa80b6aea60f93cdada66f160e2b54f723865ca","kind":"tag","published_at":"2024-04-10T16:10:46.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-http/4.10.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-http/4.10.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-http%2F4.10.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-http%2F4.10.1rc1/manifests"},{"name":"providers-odbc/4.5.0rc1","sha":"5fa80b6aea60f93cdada66f160e2b54f723865ca","kind":"tag","published_at":"2024-04-10T16:10:46.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-odbc/4.5.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-odbc/4.5.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-odbc%2F4.5.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-odbc%2F4.5.0rc1/manifests"},{"name":"providers-sftp/4.9.1rc1","sha":"5fa80b6aea60f93cdada66f160e2b54f723865ca","kind":"tag","published_at":"2024-04-10T16:10:46.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-sftp/4.9.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-sftp/4.9.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-sftp%2F4.9.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-sftp%2F4.9.1rc1/manifests"},{"name":"providers-samba/4.6.0rc2","sha":"5fa80b6aea60f93cdada66f160e2b54f723865ca","kind":"tag","published_at":"2024-04-10T16:10:46.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-samba/4.6.0rc2","html_url":"https://github.com/apache/airflow/releases/tag/providers-samba/4.6.0rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-samba%2F4.6.0rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-samba%2F4.6.0rc2/manifests"},{"name":"providers-yandex/3.9.1rc1","sha":"5fa80b6aea60f93cdada66f160e2b54f723865ca","kind":"tag","published_at":"2024-04-10T16:10:46.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-yandex/3.9.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-yandex/3.9.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-yandex%2F3.9.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-yandex%2F3.9.1rc1/manifests"},{"name":"providers-papermill/3.6.2rc1","sha":"5fa80b6aea60f93cdada66f160e2b54f723865ca","kind":"tag","published_at":"2024-04-10T16:10:46.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-papermill/3.6.2rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-papermill/3.6.2rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-papermill%2F3.6.2rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-papermill%2F3.6.2rc1/manifests"},{"name":"providers-weaviate/1.3.4rc1","sha":"5fa80b6aea60f93cdada66f160e2b54f723865ca","kind":"tag","published_at":"2024-04-10T16:10:46.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-weaviate/1.3.4rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-weaviate/1.3.4rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-weaviate%2F1.3.4rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-weaviate%2F1.3.4rc1/manifests"},{"name":"providers-snowflake/5.4.0rc1","sha":"5fa80b6aea60f93cdada66f160e2b54f723865ca","kind":"tag","published_at":"2024-04-10T16:10:46.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-snowflake/5.4.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-snowflake/5.4.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-snowflake%2F5.4.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-snowflake%2F5.4.0rc1/manifests"},{"name":"providers-microsoft-psrp/2.6.1rc1","sha":"5fa80b6aea60f93cdada66f160e2b54f723865ca","kind":"tag","published_at":"2024-04-10T16:10:46.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-microsoft-psrp/2.6.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-microsoft-psrp/2.6.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-psrp%2F2.6.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-psrp%2F2.6.1rc1/manifests"},{"name":"providers-openlineage/1.7.0rc1","sha":"5fa80b6aea60f93cdada66f160e2b54f723865ca","kind":"tag","published_at":"2024-04-10T16:10:46.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-openlineage/1.7.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-openlineage/1.7.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-openlineage%2F1.7.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-openlineage%2F1.7.0rc1/manifests"},{"name":"providers-docker/3.10.0rc2","sha":"5fa80b6aea60f93cdada66f160e2b54f723865ca","kind":"tag","published_at":"2024-04-10T16:10:46.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-docker/3.10.0rc2","html_url":"https://github.com/apache/airflow/releases/tag/providers-docker/3.10.0rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-docker%2F3.10.0rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-docker%2F3.10.0rc2/manifests"},{"name":"providers-google/10.17.0rc1","sha":"5fa80b6aea60f93cdada66f160e2b54f723865ca","kind":"tag","published_at":"2024-04-10T16:10:46.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-google/10.17.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-google/10.17.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-google%2F10.17.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-google%2F10.17.0rc1/manifests"},{"name":"providers-ftp/3.8.0rc2","sha":"5fa80b6aea60f93cdada66f160e2b54f723865ca","kind":"tag","published_at":"2024-04-10T16:10:46.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-ftp/3.8.0rc2","html_url":"https://github.com/apache/airflow/releases/tag/providers-ftp/3.8.0rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-ftp%2F3.8.0rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-ftp%2F3.8.0rc2/manifests"},{"name":"providers-fab/1.0.3rc1","sha":"5fa80b6aea60f93cdada66f160e2b54f723865ca","kind":"tag","published_at":"2024-04-10T16:10:46.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-fab/1.0.3rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-fab/1.0.3rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-fab%2F1.0.3rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-fab%2F1.0.3rc1/manifests"},{"name":"providers-elasticsearch/5.3.4rc1","sha":"5fa80b6aea60f93cdada66f160e2b54f723865ca","kind":"tag","published_at":"2024-04-10T16:10:46.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-elasticsearch/5.3.4rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-elasticsearch/5.3.4rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-elasticsearch%2F5.3.4rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-elasticsearch%2F5.3.4rc1/manifests"},{"name":"providers-dbt-cloud/3.7.1rc1","sha":"5fa80b6aea60f93cdada66f160e2b54f723865ca","kind":"tag","published_at":"2024-04-10T16:10:46.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-dbt-cloud/3.7.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-dbt-cloud/3.7.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-dbt-cloud%2F3.7.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-dbt-cloud%2F3.7.1rc1/manifests"},{"name":"providers-databricks/6.3.0rc1","sha":"5fa80b6aea60f93cdada66f160e2b54f723865ca","kind":"tag","published_at":"2024-04-10T16:10:46.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-databricks/6.3.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-databricks/6.3.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-databricks%2F6.3.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-databricks%2F6.3.0rc1/manifests"},{"name":"providers-apache-cassandra/3.4.2rc1","sha":"5fa80b6aea60f93cdada66f160e2b54f723865ca","kind":"tag","published_at":"2024-04-10T16:10:46.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-cassandra/3.4.2rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-cassandra/3.4.2rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-cassandra%2F3.4.2rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-cassandra%2F3.4.2rc1/manifests"},{"name":"providers-apache-beam/5.6.3rc1","sha":"5fa80b6aea60f93cdada66f160e2b54f723865ca","kind":"tag","published_at":"2024-04-10T16:10:46.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-beam/5.6.3rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-beam/5.6.3rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-beam%2F5.6.3rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-beam%2F5.6.3rc1/manifests"},{"name":"providers-amazon/8.20.0rc1","sha":"5fa80b6aea60f93cdada66f160e2b54f723865ca","kind":"tag","published_at":"2024-04-10T16:10:46.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-amazon/8.20.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-amazon/8.20.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-amazon%2F8.20.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-amazon%2F8.20.0rc1/manifests"},{"name":"providers-apache-hive/8.0.0rc1","sha":"5fa80b6aea60f93cdada66f160e2b54f723865ca","kind":"tag","published_at":"2024-04-10T16:10:46.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-hive/8.0.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-hive/8.0.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-hive%2F8.0.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-hive%2F8.0.0rc1/manifests"},{"name":"providers-cncf-kubernetes/8.1.0rc1","sha":"5fa80b6aea60f93cdada66f160e2b54f723865ca","kind":"tag","published_at":"2024-04-10T16:10:46.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-cncf-kubernetes/8.1.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-cncf-kubernetes/8.1.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cncf-kubernetes%2F8.1.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cncf-kubernetes%2F8.1.0rc1/manifests"},{"name":"providers-celery/3.6.2rc1","sha":"5fa80b6aea60f93cdada66f160e2b54f723865ca","kind":"tag","published_at":"2024-04-10T16:10:46.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-celery/3.6.2rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-celery/3.6.2rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-celery%2F3.6.2rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-celery%2F3.6.2rc1/manifests"},{"name":"providers-apache-spark/4.7.2rc1","sha":"5fa80b6aea60f93cdada66f160e2b54f723865ca","kind":"tag","published_at":"2024-04-10T16:10:46.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-spark/4.7.2rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-spark/4.7.2rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-spark%2F4.7.2rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-spark%2F4.7.2rc1/manifests"},{"name":"providers-common-sql/1.12.0rc1","sha":"5fa80b6aea60f93cdada66f160e2b54f723865ca","kind":"tag","published_at":"2024-04-10T16:10:46.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-common-sql/1.12.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-common-sql/1.12.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-common-sql%2F1.12.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-common-sql%2F1.12.0rc1/manifests"},{"name":"providers-common-io/1.3.1rc1","sha":"5fa80b6aea60f93cdada66f160e2b54f723865ca","kind":"tag","published_at":"2024-04-10T16:10:46.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-common-io/1.3.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-common-io/1.3.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-common-io%2F1.3.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-common-io%2F1.3.1rc1/manifests"},{"name":"providers-airbyte/3.7.0rc1","sha":"5fa80b6aea60f93cdada66f160e2b54f723865ca","kind":"tag","published_at":"2024-04-10T16:10:46.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-airbyte/3.7.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-airbyte/3.7.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-airbyte%2F3.7.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-airbyte%2F3.7.0rc1/manifests"},{"name":"providers-cohere/1.1.3rc1","sha":"5fa80b6aea60f93cdada66f160e2b54f723865ca","kind":"tag","published_at":"2024-04-10T16:10:46.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-cohere/1.1.3rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-cohere/1.1.3rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cohere%2F1.1.3rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cohere%2F1.1.3rc1/manifests"},{"name":"providers-redis/3.6.1rc1","sha":"5fa80b6aea60f93cdada66f160e2b54f723865ca","kind":"tag","published_at":"2024-04-10T16:10:45.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-redis/3.6.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-redis/3.6.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-redis%2F3.6.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-redis%2F3.6.1rc1/manifests"},{"name":"providers-slack/8.6.2rc1","sha":"5fa80b6aea60f93cdada66f160e2b54f723865ca","kind":"tag","published_at":"2024-04-10T16:10:45.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-slack/8.6.2rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-slack/8.6.2rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-slack%2F8.6.2rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-slack%2F8.6.2rc1/manifests"},{"name":"providers-microsoft-azure/10.0.0rc1","sha":"5fa80b6aea60f93cdada66f160e2b54f723865ca","kind":"tag","published_at":"2024-04-10T16:10:45.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-microsoft-azure/10.0.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-microsoft-azure/10.0.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-azure%2F10.0.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-azure%2F10.0.0rc1/manifests"},{"name":"providers-alibaba/2.7.3rc1","sha":"5fa80b6aea60f93cdada66f160e2b54f723865ca","kind":"tag","published_at":"2024-04-10T16:10:45.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-alibaba/2.7.3rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-alibaba/2.7.3rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-alibaba%2F2.7.3rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-alibaba%2F2.7.3rc1/manifests"},{"name":"2.9.0","sha":"50f22ffe9150e93f7fc08a9dc8a48880daad374b","kind":"tag","published_at":"2024-04-08T09:13:53.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/2.9.0","html_url":"https://github.com/apache/airflow/releases/tag/2.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/2.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/2.9.0/manifests"},{"name":"constraints-2.9.0","sha":"b86d9678fba173a4b453d3115a86ded4c19d50cb","kind":"tag","published_at":"2024-04-08T09:11:42.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/constraints-2.9.0","html_url":"https://github.com/apache/airflow/releases/tag/constraints-2.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/constraints-2.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/constraints-2.9.0/manifests"},{"name":"constraints-2.9.0rc3","sha":"4642ff83ce708c9f279bd8170787855c5be73f31","kind":"tag","published_at":"2024-04-07T05:33:13.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/constraints-2.9.0rc3","html_url":"https://github.com/apache/airflow/releases/tag/constraints-2.9.0rc3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/constraints-2.9.0rc3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/constraints-2.9.0rc3/manifests"},{"name":"2.9.0rc3","sha":"50f22ffe9150e93f7fc08a9dc8a48880daad374b","kind":"tag","published_at":"2024-04-07T05:27:16.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/2.9.0rc3","html_url":"https://github.com/apache/airflow/releases/tag/2.9.0rc3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/2.9.0rc3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/2.9.0rc3/manifests"},{"name":"constraints-2.9.0rc2","sha":"b1ebae4b0c81f20a633c8991696ca21f671f1746","kind":"tag","published_at":"2024-04-04T21:10:40.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/constraints-2.9.0rc2","html_url":"https://github.com/apache/airflow/releases/tag/constraints-2.9.0rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/constraints-2.9.0rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/constraints-2.9.0rc2/manifests"},{"name":"2.9.0rc2","sha":"920921ee39736c96e9cf7c544657ca75c7a6365a","kind":"tag","published_at":"2024-04-04T19:47:27.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/2.9.0rc2","html_url":"https://github.com/apache/airflow/releases/tag/2.9.0rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/2.9.0rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/2.9.0rc2/manifests"},{"name":"providers-fab/1.0.2","sha":"256911aa62ecbc5be1fe4eeefd9c965077feb357","kind":"tag","published_at":"2024-04-03T12:50:21.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-fab/1.0.2","html_url":"https://github.com/apache/airflow/releases/tag/providers-fab/1.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-fab%2F1.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-fab%2F1.0.2/manifests"},{"name":"constraints-2.9.0rc1","sha":"ef3ac934f0ab94fe1bd7b80e81babadb3fa22969","kind":"tag","published_at":"2024-04-03T07:23:41.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/constraints-2.9.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/constraints-2.9.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/constraints-2.9.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/constraints-2.9.0rc1/manifests"},{"name":"2.9.0rc1","sha":"c8c18632891295b33e8edc6a791d1adc2932c56c","kind":"tag","published_at":"2024-04-03T07:15:43.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/2.9.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/2.9.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/2.9.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/2.9.0rc1/manifests"},{"name":"constraints-2.9.0b2","sha":"9afc4ff4c3c018a6ab2dc183478f1333524a60b6","kind":"tag","published_at":"2024-03-27T21:02:33.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/constraints-2.9.0b2","html_url":"https://github.com/apache/airflow/releases/tag/constraints-2.9.0b2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/constraints-2.9.0b2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/constraints-2.9.0b2/manifests"},{"name":"2.9.0b2","sha":"d48b910dc137f0bad166df2387c7ceab59be629a","kind":"tag","published_at":"2024-03-27T20:56:08.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/2.9.0b2","html_url":"https://github.com/apache/airflow/releases/tag/2.9.0b2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/2.9.0b2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/2.9.0b2/manifests"},{"name":"2.8.4","sha":"34ea330b786457ab2ec591395a834e564dc999ec","kind":"tag","published_at":"2024-03-25T20:13:45.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/2.8.4","html_url":"https://github.com/apache/airflow/releases/tag/2.8.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/2.8.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/2.8.4/manifests"},{"name":"constraints-2.8.4","sha":"db4e87ae10c5fb0bdfb311b01f28f94fff9b2978","kind":"tag","published_at":"2024-03-25T20:12:53.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/constraints-2.8.4","html_url":"https://github.com/apache/airflow/releases/tag/constraints-2.8.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/constraints-2.8.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/constraints-2.8.4/manifests"},{"name":"helm-chart/1.13.1","sha":"ae6fec927c8f717d2a8481a6c3afc85a171652c6","kind":"tag","published_at":"2024-03-25T18:11:22.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/helm-chart/1.13.1","html_url":"https://github.com/apache/airflow/releases/tag/helm-chart/1.13.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/helm-chart%2F1.13.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/helm-chart%2F1.13.1/manifests"},{"name":"providers-fab/1.0.2rc1","sha":"256911aa62ecbc5be1fe4eeefd9c965077feb357","kind":"tag","published_at":"2024-03-25T13:43:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-fab/1.0.2rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-fab/1.0.2rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-fab%2F1.0.2rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-fab%2F1.0.2rc1/manifests"},{"name":"constraints-2.9.0b1","sha":"0e2008cc1e125ba95d090011a56f4fa2a414f8a8","kind":"tag","published_at":"2024-03-22T12:14:42.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/constraints-2.9.0b1","html_url":"https://github.com/apache/airflow/releases/tag/constraints-2.9.0b1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/constraints-2.9.0b1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/constraints-2.9.0b1/manifests"},{"name":"helm-chart/1.13.1rc1","sha":"ae6fec927c8f717d2a8481a6c3afc85a171652c6","kind":"tag","published_at":"2024-03-21T18:11:23.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/helm-chart/1.13.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/helm-chart/1.13.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/helm-chart%2F1.13.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/helm-chart%2F1.13.1rc1/manifests"},{"name":"2.9.0b1","sha":"7f78b16870f4844e4bdecbceffc9565b9caedc3a","kind":"tag","published_at":"2024-03-21T09:13:21.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/2.9.0b1","html_url":"https://github.com/apache/airflow/releases/tag/2.9.0b1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/2.9.0b1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/2.9.0b1/manifests"},{"name":"providers-fab/1.0.2b0","sha":"6b7a4e5f9f844d7b53ed1ae74bef448c99826f04","kind":"tag","published_at":"2024-03-20T17:37:26.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-fab/1.0.2b0","html_url":"https://github.com/apache/airflow/releases/tag/providers-fab/1.0.2b0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-fab%2F1.0.2b0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-fab%2F1.0.2b0/manifests"},{"name":"constraints-2.8.4rc1","sha":"db4e87ae10c5fb0bdfb311b01f28f94fff9b2978","kind":"tag","published_at":"2024-03-20T15:17:33.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/constraints-2.8.4rc1","html_url":"https://github.com/apache/airflow/releases/tag/constraints-2.8.4rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/constraints-2.8.4rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/constraints-2.8.4rc1/manifests"},{"name":"2.8.4rc1","sha":"34ea330b786457ab2ec591395a834e564dc999ec","kind":"tag","published_at":"2024-03-20T15:11:08.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/2.8.4rc1","html_url":"https://github.com/apache/airflow/releases/tag/2.8.4rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/2.8.4rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/2.8.4rc1/manifests"},{"name":"2.8.3","sha":"948ec96724995f27a50498bb1a85864c12ba1507","kind":"tag","published_at":"2024-03-11T11:09:23.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/2.8.3","html_url":"https://github.com/apache/airflow/releases/tag/2.8.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/2.8.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/2.8.3/manifests"},{"name":"constraints-2.8.3","sha":"7676553c864ac4363d836412e6f2e3751babf64d","kind":"tag","published_at":"2024-03-11T11:08:46.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/constraints-2.8.3","html_url":"https://github.com/apache/airflow/releases/tag/constraints-2.8.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/constraints-2.8.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/constraints-2.8.3/manifests"},{"name":"providers-amazon/8.19.0","sha":"83316b81584c9e516a8142778fc509f19d95cc3e","kind":"tag","published_at":"2024-03-08T10:41:38.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-amazon/8.19.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-amazon/8.19.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-amazon%2F8.19.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-amazon%2F8.19.0/manifests"},{"name":"providers-apache-druid/3.9.0","sha":"83316b81584c9e516a8142778fc509f19d95cc3e","kind":"tag","published_at":"2024-03-08T10:41:38.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-druid/3.9.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-druid/3.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-druid%2F3.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-druid%2F3.9.0/manifests"},{"name":"providers-apache-beam/5.6.2","sha":"83316b81584c9e516a8142778fc509f19d95cc3e","kind":"tag","published_at":"2024-03-08T10:41:38.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-beam/5.6.2","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-beam/5.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-beam%2F5.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-beam%2F5.6.2/manifests"},{"name":"providers-apache-hdfs/4.3.3","sha":"83316b81584c9e516a8142778fc509f19d95cc3e","kind":"tag","published_at":"2024-03-08T10:41:38.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-hdfs/4.3.3","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-hdfs/4.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-hdfs%2F4.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-hdfs%2F4.3.3/manifests"},{"name":"providers-apache-hive/7.0.1","sha":"83316b81584c9e516a8142778fc509f19d95cc3e","kind":"tag","published_at":"2024-03-08T10:41:38.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-hive/7.0.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-hive/7.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-hive%2F7.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-hive%2F7.0.1/manifests"},{"name":"providers-apache-livy/3.7.3","sha":"83316b81584c9e516a8142778fc509f19d95cc3e","kind":"tag","published_at":"2024-03-08T10:41:38.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-livy/3.7.3","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-livy/3.7.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-livy%2F3.7.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-livy%2F3.7.3/manifests"},{"name":"providers-trino/5.6.3","sha":"83316b81584c9e516a8142778fc509f19d95cc3e","kind":"tag","published_at":"2024-03-08T10:41:38.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-trino/5.6.3","html_url":"https://github.com/apache/airflow/releases/tag/providers-trino/5.6.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-trino%2F5.6.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-trino%2F5.6.3/manifests"},{"name":"providers-telegram/4.4.0","sha":"83316b81584c9e516a8142778fc509f19d95cc3e","kind":"tag","published_at":"2024-03-08T10:41:38.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-telegram/4.4.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-telegram/4.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-telegram%2F4.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-telegram%2F4.4.0/manifests"},{"name":"providers-weaviate/1.3.3","sha":"83316b81584c9e516a8142778fc509f19d95cc3e","kind":"tag","published_at":"2024-03-08T10:41:38.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-weaviate/1.3.3","html_url":"https://github.com/apache/airflow/releases/tag/providers-weaviate/1.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-weaviate%2F1.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-weaviate%2F1.3.3/manifests"},{"name":"providers-smtp/1.6.1","sha":"83316b81584c9e516a8142778fc509f19d95cc3e","kind":"tag","published_at":"2024-03-08T10:41:38.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-smtp/1.6.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-smtp/1.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-smtp%2F1.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-smtp%2F1.6.1/manifests"},{"name":"providers-presto/5.4.2","sha":"83316b81584c9e516a8142778fc509f19d95cc3e","kind":"tag","published_at":"2024-03-08T10:41:38.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-presto/5.4.2","html_url":"https://github.com/apache/airflow/releases/tag/providers-presto/5.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-presto%2F5.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-presto%2F5.4.2/manifests"},{"name":"providers-salesforce/5.6.3","sha":"83316b81584c9e516a8142778fc509f19d95cc3e","kind":"tag","published_at":"2024-03-08T10:41:38.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-salesforce/5.6.3","html_url":"https://github.com/apache/airflow/releases/tag/providers-salesforce/5.6.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-salesforce%2F5.6.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-salesforce%2F5.6.3/manifests"},{"name":"providers-http/4.10.0","sha":"83316b81584c9e516a8142778fc509f19d95cc3e","kind":"tag","published_at":"2024-03-08T10:41:38.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-http/4.10.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-http/4.10.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-http%2F4.10.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-http%2F4.10.0/manifests"},{"name":"providers-mysql/5.5.4","sha":"83316b81584c9e516a8142778fc509f19d95cc3e","kind":"tag","published_at":"2024-03-08T10:41:38.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-mysql/5.5.4","html_url":"https://github.com/apache/airflow/releases/tag/providers-mysql/5.5.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-mysql%2F5.5.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-mysql%2F5.5.4/manifests"},{"name":"providers-microsoft-psrp/2.6.0","sha":"83316b81584c9e516a8142778fc509f19d95cc3e","kind":"tag","published_at":"2024-03-08T10:41:38.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-microsoft-psrp/2.6.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-microsoft-psrp/2.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-psrp%2F2.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-psrp%2F2.6.0/manifests"},{"name":"providers-hashicorp/3.6.4","sha":"83316b81584c9e516a8142778fc509f19d95cc3e","kind":"tag","published_at":"2024-03-08T10:41:38.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-hashicorp/3.6.4","html_url":"https://github.com/apache/airflow/releases/tag/providers-hashicorp/3.6.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-hashicorp%2F3.6.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-hashicorp%2F3.6.4/manifests"},{"name":"providers-postgres/5.10.2","sha":"83316b81584c9e516a8142778fc509f19d95cc3e","kind":"tag","published_at":"2024-03-08T10:41:38.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-postgres/5.10.2","html_url":"https://github.com/apache/airflow/releases/tag/providers-postgres/5.10.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-postgres%2F5.10.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-postgres%2F5.10.2/manifests"},{"name":"providers-microsoft-azure/9.0.1","sha":"83316b81584c9e516a8142778fc509f19d95cc3e","kind":"tag","published_at":"2024-03-08T10:41:38.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-microsoft-azure/9.0.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-microsoft-azure/9.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-azure%2F9.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-azure%2F9.0.1/manifests"},{"name":"providers-apache-pinot/4.3.1","sha":"83316b81584c9e516a8142778fc509f19d95cc3e","kind":"tag","published_at":"2024-03-08T10:41:38.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-pinot/4.3.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-pinot/4.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-pinot%2F4.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-pinot%2F4.3.1/manifests"},{"name":"providers-dbt-cloud/3.7.0","sha":"83316b81584c9e516a8142778fc509f19d95cc3e","kind":"tag","published_at":"2024-03-08T10:41:38.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-dbt-cloud/3.7.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-dbt-cloud/3.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-dbt-cloud%2F3.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-dbt-cloud%2F3.7.0/manifests"},{"name":"providers-opensearch/1.1.2","sha":"83316b81584c9e516a8142778fc509f19d95cc3e","kind":"tag","published_at":"2024-03-08T10:41:38.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-opensearch/1.1.2","html_url":"https://github.com/apache/airflow/releases/tag/providers-opensearch/1.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-opensearch%2F1.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-opensearch%2F1.1.2/manifests"},{"name":"providers-common-sql/1.11.1","sha":"83316b81584c9e516a8142778fc509f19d95cc3e","kind":"tag","published_at":"2024-03-08T10:41:38.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-common-sql/1.11.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-common-sql/1.11.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-common-sql%2F1.11.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-common-sql%2F1.11.1/manifests"},{"name":"providers-google/10.16.0","sha":"83316b81584c9e516a8142778fc509f19d95cc3e","kind":"tag","published_at":"2024-03-08T10:41:38.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-google/10.16.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-google/10.16.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-google%2F10.16.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-google%2F10.16.0/manifests"},{"name":"providers-exasol/4.4.3","sha":"83316b81584c9e516a8142778fc509f19d95cc3e","kind":"tag","published_at":"2024-03-08T10:41:38.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-exasol/4.4.3","html_url":"https://github.com/apache/airflow/releases/tag/providers-exasol/4.4.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-exasol%2F4.4.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-exasol%2F4.4.3/manifests"},{"name":"providers-cncf-kubernetes/8.0.1","sha":"83316b81584c9e516a8142778fc509f19d95cc3e","kind":"tag","published_at":"2024-03-08T10:41:38.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-cncf-kubernetes/8.0.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-cncf-kubernetes/8.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cncf-kubernetes%2F8.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cncf-kubernetes%2F8.0.1/manifests"},{"name":"providers-openlineage/1.6.0","sha":"83316b81584c9e516a8142778fc509f19d95cc3e","kind":"tag","published_at":"2024-03-08T10:41:38.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-openlineage/1.6.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-openlineage/1.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-openlineage%2F1.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-openlineage%2F1.6.0/manifests"},{"name":"providers-docker/3.9.2","sha":"83316b81584c9e516a8142778fc509f19d95cc3e","kind":"tag","published_at":"2024-03-08T10:41:38.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-docker/3.9.2","html_url":"https://github.com/apache/airflow/releases/tag/providers-docker/3.9.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-docker%2F3.9.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-docker%2F3.9.2/manifests"},{"name":"providers-celery/3.6.1","sha":"83316b81584c9e516a8142778fc509f19d95cc3e","kind":"tag","published_at":"2024-03-08T10:41:38.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-celery/3.6.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-celery/3.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-celery%2F3.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-celery%2F3.6.1/manifests"},{"name":"constraints-2.8.3rc1","sha":"7676553c864ac4363d836412e6f2e3751babf64d","kind":"tag","published_at":"2024-03-07T21:01:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/constraints-2.8.3rc1","html_url":"https://github.com/apache/airflow/releases/tag/constraints-2.8.3rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/constraints-2.8.3rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/constraints-2.8.3rc1/manifests"},{"name":"2.8.3rc1","sha":"948ec96724995f27a50498bb1a85864c12ba1507","kind":"tag","published_at":"2024-03-07T20:59:46.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/2.8.3rc1","html_url":"https://github.com/apache/airflow/releases/tag/2.8.3rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/2.8.3rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/2.8.3rc1/manifests"},{"name":"helm-chart/1.13.0","sha":"f7f005f180221a1ba5dc17ef4ff49ee21a46b540","kind":"tag","published_at":"2024-03-05T16:06:17.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/helm-chart/1.13.0","html_url":"https://github.com/apache/airflow/releases/tag/helm-chart/1.13.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/helm-chart%2F1.13.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/helm-chart%2F1.13.0/manifests"},{"name":"providers-docker/3.9.2rc1","sha":"83316b81584c9e516a8142778fc509f19d95cc3e","kind":"tag","published_at":"2024-03-04T21:01:33.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-docker/3.9.2rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-docker/3.9.2rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-docker%2F3.9.2rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-docker%2F3.9.2rc1/manifests"},{"name":"providers-dbt-cloud/3.7.0rc1","sha":"83316b81584c9e516a8142778fc509f19d95cc3e","kind":"tag","published_at":"2024-03-04T21:01:33.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-dbt-cloud/3.7.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-dbt-cloud/3.7.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-dbt-cloud%2F3.7.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-dbt-cloud%2F3.7.0rc1/manifests"},{"name":"providers-exasol/4.4.3rc1","sha":"83316b81584c9e516a8142778fc509f19d95cc3e","kind":"tag","published_at":"2024-03-04T21:01:33.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-exasol/4.4.3rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-exasol/4.4.3rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-exasol%2F4.4.3rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-exasol%2F4.4.3rc1/manifests"},{"name":"providers-common-sql/1.11.1rc1","sha":"83316b81584c9e516a8142778fc509f19d95cc3e","kind":"tag","published_at":"2024-03-04T21:01:33.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-common-sql/1.11.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-common-sql/1.11.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-common-sql%2F1.11.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-common-sql%2F1.11.1rc1/manifests"},{"name":"providers-http/4.10.0rc1","sha":"83316b81584c9e516a8142778fc509f19d95cc3e","kind":"tag","published_at":"2024-03-04T21:01:33.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-http/4.10.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-http/4.10.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-http%2F4.10.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-http%2F4.10.0rc1/manifests"},{"name":"providers-hashicorp/3.6.4rc1","sha":"83316b81584c9e516a8142778fc509f19d95cc3e","kind":"tag","published_at":"2024-03-04T21:01:33.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-hashicorp/3.6.4rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-hashicorp/3.6.4rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-hashicorp%2F3.6.4rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-hashicorp%2F3.6.4rc1/manifests"},{"name":"providers-google/10.16.0rc1","sha":"83316b81584c9e516a8142778fc509f19d95cc3e","kind":"tag","published_at":"2024-03-04T21:01:33.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-google/10.16.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-google/10.16.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-google%2F10.16.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-google%2F10.16.0rc1/manifests"},{"name":"providers-openlineage/1.6.0rc1","sha":"83316b81584c9e516a8142778fc509f19d95cc3e","kind":"tag","published_at":"2024-03-04T21:01:33.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-openlineage/1.6.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-openlineage/1.6.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-openlineage%2F1.6.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-openlineage%2F1.6.0rc1/manifests"},{"name":"providers-mysql/5.5.4rc1","sha":"83316b81584c9e516a8142778fc509f19d95cc3e","kind":"tag","published_at":"2024-03-04T21:01:33.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-mysql/5.5.4rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-mysql/5.5.4rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-mysql%2F5.5.4rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-mysql%2F5.5.4rc1/manifests"},{"name":"providers-opensearch/1.1.2rc1","sha":"83316b81584c9e516a8142778fc509f19d95cc3e","kind":"tag","published_at":"2024-03-04T21:01:33.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-opensearch/1.1.2rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-opensearch/1.1.2rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-opensearch%2F1.1.2rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-opensearch%2F1.1.2rc1/manifests"},{"name":"providers-microsoft-psrp/2.6.0rc2","sha":"83316b81584c9e516a8142778fc509f19d95cc3e","kind":"tag","published_at":"2024-03-04T21:01:33.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-microsoft-psrp/2.6.0rc2","html_url":"https://github.com/apache/airflow/releases/tag/providers-microsoft-psrp/2.6.0rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-psrp%2F2.6.0rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-psrp%2F2.6.0rc2/manifests"},{"name":"providers-microsoft-azure/9.0.1rc1","sha":"83316b81584c9e516a8142778fc509f19d95cc3e","kind":"tag","published_at":"2024-03-04T21:01:33.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-microsoft-azure/9.0.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-microsoft-azure/9.0.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-azure%2F9.0.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-azure%2F9.0.1rc1/manifests"},{"name":"providers-presto/5.4.2rc1","sha":"83316b81584c9e516a8142778fc509f19d95cc3e","kind":"tag","published_at":"2024-03-04T21:01:33.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-presto/5.4.2rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-presto/5.4.2rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-presto%2F5.4.2rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-presto%2F5.4.2rc1/manifests"},{"name":"providers-postgres/5.10.2rc1","sha":"83316b81584c9e516a8142778fc509f19d95cc3e","kind":"tag","published_at":"2024-03-04T21:01:33.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-postgres/5.10.2rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-postgres/5.10.2rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-postgres%2F5.10.2rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-postgres%2F5.10.2rc1/manifests"},{"name":"providers-weaviate/1.3.3rc1","sha":"83316b81584c9e516a8142778fc509f19d95cc3e","kind":"tag","published_at":"2024-03-04T21:01:33.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-weaviate/1.3.3rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-weaviate/1.3.3rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-weaviate%2F1.3.3rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-weaviate%2F1.3.3rc1/manifests"},{"name":"providers-trino/5.6.3rc1","sha":"83316b81584c9e516a8142778fc509f19d95cc3e","kind":"tag","published_at":"2024-03-04T21:01:33.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-trino/5.6.3rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-trino/5.6.3rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-trino%2F5.6.3rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-trino%2F5.6.3rc1/manifests"},{"name":"providers-telegram/4.4.0rc2","sha":"83316b81584c9e516a8142778fc509f19d95cc3e","kind":"tag","published_at":"2024-03-04T21:01:33.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-telegram/4.4.0rc2","html_url":"https://github.com/apache/airflow/releases/tag/providers-telegram/4.4.0rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-telegram%2F4.4.0rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-telegram%2F4.4.0rc2/manifests"},{"name":"providers-smtp/1.6.1rc1","sha":"83316b81584c9e516a8142778fc509f19d95cc3e","kind":"tag","published_at":"2024-03-04T21:01:33.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-smtp/1.6.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-smtp/1.6.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-smtp%2F1.6.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-smtp%2F1.6.1rc1/manifests"},{"name":"providers-salesforce/5.6.3rc1","sha":"83316b81584c9e516a8142778fc509f19d95cc3e","kind":"tag","published_at":"2024-03-04T21:01:33.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-salesforce/5.6.3rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-salesforce/5.6.3rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-salesforce%2F5.6.3rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-salesforce%2F5.6.3rc1/manifests"},{"name":"providers-cncf-kubernetes/8.0.1rc1","sha":"83316b81584c9e516a8142778fc509f19d95cc3e","kind":"tag","published_at":"2024-03-04T21:01:32.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-cncf-kubernetes/8.0.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-cncf-kubernetes/8.0.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cncf-kubernetes%2F8.0.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cncf-kubernetes%2F8.0.1rc1/manifests"},{"name":"providers-celery/3.6.1rc1","sha":"83316b81584c9e516a8142778fc509f19d95cc3e","kind":"tag","published_at":"2024-03-04T21:01:32.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-celery/3.6.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-celery/3.6.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-celery%2F3.6.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-celery%2F3.6.1rc1/manifests"},{"name":"providers-apache-pinot/4.3.1rc1","sha":"83316b81584c9e516a8142778fc509f19d95cc3e","kind":"tag","published_at":"2024-03-04T21:01:32.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-pinot/4.3.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-pinot/4.3.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-pinot%2F4.3.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-pinot%2F4.3.1rc1/manifests"},{"name":"providers-apache-livy/3.7.3rc1","sha":"83316b81584c9e516a8142778fc509f19d95cc3e","kind":"tag","published_at":"2024-03-04T21:01:32.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-livy/3.7.3rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-livy/3.7.3rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-livy%2F3.7.3rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-livy%2F3.7.3rc1/manifests"},{"name":"providers-apache-druid/3.9.0rc1","sha":"83316b81584c9e516a8142778fc509f19d95cc3e","kind":"tag","published_at":"2024-03-04T21:01:32.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-druid/3.9.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-druid/3.9.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-druid%2F3.9.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-druid%2F3.9.0rc1/manifests"},{"name":"providers-apache-beam/5.6.2rc1","sha":"83316b81584c9e516a8142778fc509f19d95cc3e","kind":"tag","published_at":"2024-03-04T21:01:32.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-beam/5.6.2rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-beam/5.6.2rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-beam%2F5.6.2rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-beam%2F5.6.2rc1/manifests"},{"name":"providers-apache-hdfs/4.3.3rc1","sha":"83316b81584c9e516a8142778fc509f19d95cc3e","kind":"tag","published_at":"2024-03-04T21:01:32.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-hdfs/4.3.3rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-hdfs/4.3.3rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-hdfs%2F4.3.3rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-hdfs%2F4.3.3rc1/manifests"},{"name":"providers-amazon/8.19.0rc1","sha":"83316b81584c9e516a8142778fc509f19d95cc3e","kind":"tag","published_at":"2024-03-04T21:01:32.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-amazon/8.19.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-amazon/8.19.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-amazon%2F8.19.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-amazon%2F8.19.0rc1/manifests"},{"name":"providers-apache-hive/7.0.1rc1","sha":"83316b81584c9e516a8142778fc509f19d95cc3e","kind":"tag","published_at":"2024-03-04T21:01:32.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-apache-hive/7.0.1rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-apache-hive/7.0.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-hive%2F7.0.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-apache-hive%2F7.0.1rc1/manifests"},{"name":"helm-chart/1.13.0rc1","sha":"f7f005f180221a1ba5dc17ef4ff49ee21a46b540","kind":"tag","published_at":"2024-03-02T04:14:04.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/helm-chart/1.13.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/helm-chart/1.13.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/helm-chart%2F1.13.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/helm-chart%2F1.13.0rc1/manifests"},{"name":"constraints-2.8.2","sha":"d6962c4c333cd92d73fa46cffa97a40dda67e547","kind":"tag","published_at":"2024-02-27T16:25:47.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/constraints-2.8.2","html_url":"https://github.com/apache/airflow/releases/tag/constraints-2.8.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/constraints-2.8.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/constraints-2.8.2/manifests"},{"name":"providers-teradata/2.0.0","sha":"cef52cbdbb446f4722ba2984512508566d736466","kind":"tag","published_at":"2024-02-27T05:42:18.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-teradata/2.0.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-teradata/2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-teradata%2F2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-teradata%2F2.0.0/manifests"},{"name":"2.8.2","sha":"923e9104accd8bf493f33c5def42de23e2410a26","kind":"tag","published_at":"2024-02-26T06:08:13.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/2.8.2","html_url":"https://github.com/apache/airflow/releases/tag/2.8.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/2.8.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/2.8.2/manifests"},{"name":"constraints-2.8.2rc3","sha":"7676553c864ac4363d836412e6f2e3751babf64d","kind":"tag","published_at":"2024-02-24T15:49:40.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/constraints-2.8.2rc3","html_url":"https://github.com/apache/airflow/releases/tag/constraints-2.8.2rc3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/constraints-2.8.2rc3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/constraints-2.8.2rc3/manifests"},{"name":"2.8.2rc3","sha":"923e9104accd8bf493f33c5def42de23e2410a26","kind":"tag","published_at":"2024-02-24T15:47:44.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/2.8.2rc3","html_url":"https://github.com/apache/airflow/releases/tag/2.8.2rc3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/2.8.2rc3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/2.8.2rc3/manifests"},{"name":"constraints-2.8.2rc2","sha":"5983e2f69deb107c9a6130e0284726603790d385","kind":"tag","published_at":"2024-02-23T07:02:56.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/constraints-2.8.2rc2","html_url":"https://github.com/apache/airflow/releases/tag/constraints-2.8.2rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/constraints-2.8.2rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/constraints-2.8.2rc2/manifests"},{"name":"2.8.2rc2","sha":"5bb0e93166e6749d8a0bb5793ed7037ab27e3d97","kind":"tag","published_at":"2024-02-23T07:01:02.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/2.8.2rc2","html_url":"https://github.com/apache/airflow/releases/tag/2.8.2rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/2.8.2rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/2.8.2rc2/manifests"},{"name":"providers-teradata/2.0.0rc1","sha":"cef52cbdbb446f4722ba2984512508566d736466","kind":"tag","published_at":"2024-02-23T06:05:54.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-teradata/2.0.0rc1","html_url":"https://github.com/apache/airflow/releases/tag/providers-teradata/2.0.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-teradata%2F2.0.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-teradata%2F2.0.0rc1/manifests"},{"name":"constraints-2.8.2rc1","sha":"119f5e40a81373eee02e57c11eacf50d09e57b3f","kind":"tag","published_at":"2024-02-22T08:25:51.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/constraints-2.8.2rc1","html_url":"https://github.com/apache/airflow/releases/tag/constraints-2.8.2rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/constraints-2.8.2rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/constraints-2.8.2rc1/manifests"},{"name":"2.8.2rc1","sha":"2c0a1191479f2f145d1cb90ad350c44def84281e","kind":"tag","published_at":"2024-02-22T07:59:16.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/2.8.2rc1","html_url":"https://github.com/apache/airflow/releases/tag/2.8.2rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/2.8.2rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/2.8.2rc1/manifests"},{"name":"providers-cncf-kubernetes/8.0.0","sha":"fa234e0d229dfebb6284dd851870e64186fb53e2","kind":"tag","published_at":"2024-02-20T19:22:02.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-cncf-kubernetes/8.0.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-cncf-kubernetes/8.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cncf-kubernetes%2F8.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cncf-kubernetes%2F8.0.0/manifests"},{"name":"providers-cncf-kubernetes/8.0.0rc3","sha":"fa234e0d229dfebb6284dd851870e64186fb53e2","kind":"tag","published_at":"2024-02-19T09:22:48.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-cncf-kubernetes/8.0.0rc3","html_url":"https://github.com/apache/airflow/releases/tag/providers-cncf-kubernetes/8.0.0rc3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cncf-kubernetes%2F8.0.0rc3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cncf-kubernetes%2F8.0.0rc3/manifests"},{"name":"providers-common-sql/1.11.0","sha":"75182363a2070145745b98fa040e9bc590e3853b","kind":"tag","published_at":"2024-02-18T15:48:37.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-common-sql/1.11.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-common-sql/1.11.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-common-sql%2F1.11.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-common-sql%2F1.11.0/manifests"},{"name":"providers-amazon/8.18.0","sha":"75182363a2070145745b98fa040e9bc590e3853b","kind":"tag","published_at":"2024-02-18T15:48:37.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-amazon/8.18.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-amazon/8.18.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-amazon%2F8.18.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-amazon%2F8.18.0/manifests"},{"name":"providers-amazon/8.18.0rc2","sha":"75182363a2070145745b98fa040e9bc590e3853b","kind":"tag","published_at":"2024-02-17T07:59:07.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-amazon/8.18.0rc2","html_url":"https://github.com/apache/airflow/releases/tag/providers-amazon/8.18.0rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-amazon%2F8.18.0rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-amazon%2F8.18.0rc2/manifests"},{"name":"providers-common-sql/1.11.0rc3","sha":"75182363a2070145745b98fa040e9bc590e3853b","kind":"tag","published_at":"2024-02-17T07:59:07.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-common-sql/1.11.0rc3","html_url":"https://github.com/apache/airflow/releases/tag/providers-common-sql/1.11.0rc3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-common-sql%2F1.11.0rc3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-common-sql%2F1.11.0rc3/manifests"},{"name":"providers-cncf-kubernetes/8.0.0rc2","sha":"75182363a2070145745b98fa040e9bc590e3853b","kind":"tag","published_at":"2024-02-17T07:59:07.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-cncf-kubernetes/8.0.0rc2","html_url":"https://github.com/apache/airflow/releases/tag/providers-cncf-kubernetes/8.0.0rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cncf-kubernetes%2F8.0.0rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-cncf-kubernetes%2F8.0.0rc2/manifests"},{"name":"providers-microsoft-mssql/3.6.1","sha":"bfb054e9e867b8b9a6a449e43bfba97f645e025e","kind":"tag","published_at":"2024-02-15T15:48:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-microsoft-mssql/3.6.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-microsoft-mssql/3.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-mssql%2F3.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-microsoft-mssql%2F3.6.1/manifests"},{"name":"providers-mongo/4.0.0","sha":"bfb054e9e867b8b9a6a449e43bfba97f645e025e","kind":"tag","published_at":"2024-02-15T15:48:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-mongo/4.0.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-mongo/4.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-mongo%2F4.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-mongo%2F4.0.0/manifests"},{"name":"providers-sftp/4.9.0","sha":"bfb054e9e867b8b9a6a449e43bfba97f645e025e","kind":"tag","published_at":"2024-02-15T15:48:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-sftp/4.9.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-sftp/4.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-sftp%2F4.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-sftp%2F4.9.0/manifests"},{"name":"providers-qdrant/1.0.0","sha":"bfb054e9e867b8b9a6a449e43bfba97f645e025e","kind":"tag","published_at":"2024-02-15T15:48:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-qdrant/1.0.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-qdrant/1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-qdrant%2F1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-qdrant%2F1.0.0/manifests"},{"name":"providers-slack/8.6.1","sha":"bfb054e9e867b8b9a6a449e43bfba97f645e025e","kind":"tag","published_at":"2024-02-15T15:48:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-slack/8.6.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-slack/8.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-slack%2F8.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-slack%2F8.6.1/manifests"},{"name":"providers-postgres/5.10.1","sha":"bfb054e9e867b8b9a6a449e43bfba97f645e025e","kind":"tag","published_at":"2024-02-15T15:48:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-postgres/5.10.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-postgres/5.10.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-postgres%2F5.10.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-postgres%2F5.10.1/manifests"},{"name":"providers-ssh/3.10.1","sha":"bfb054e9e867b8b9a6a449e43bfba97f645e025e","kind":"tag","published_at":"2024-02-15T15:48:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-ssh/3.10.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-ssh/3.10.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-ssh%2F3.10.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-ssh%2F3.10.1/manifests"},{"name":"providers-pagerduty/3.6.2","sha":"bfb054e9e867b8b9a6a449e43bfba97f645e025e","kind":"tag","published_at":"2024-02-15T15:48:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-pagerduty/3.6.2","html_url":"https://github.com/apache/airflow/releases/tag/providers-pagerduty/3.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-pagerduty%2F3.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-pagerduty%2F3.6.2/manifests"},{"name":"providers-sqlite/3.7.1","sha":"bfb054e9e867b8b9a6a449e43bfba97f645e025e","kind":"tag","published_at":"2024-02-15T15:48:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-sqlite/3.7.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-sqlite/3.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-sqlite%2F3.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-sqlite%2F3.7.1/manifests"},{"name":"providers-snowflake/5.3.1","sha":"bfb054e9e867b8b9a6a449e43bfba97f645e025e","kind":"tag","published_at":"2024-02-15T15:48:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-snowflake/5.3.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-snowflake/5.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-snowflake%2F5.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-snowflake%2F5.3.1/manifests"},{"name":"providers-vertica/3.7.1","sha":"bfb054e9e867b8b9a6a449e43bfba97f645e025e","kind":"tag","published_at":"2024-02-15T15:48:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-vertica/3.7.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-vertica/3.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-vertica%2F3.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-vertica%2F3.7.1/manifests"},{"name":"providers-influxdb/2.4.1","sha":"bfb054e9e867b8b9a6a449e43bfba97f645e025e","kind":"tag","published_at":"2024-02-15T15:48:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-influxdb/2.4.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-influxdb/2.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-influxdb%2F2.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-influxdb%2F2.4.1/manifests"},{"name":"providers-trino/5.6.2","sha":"bfb054e9e867b8b9a6a449e43bfba97f645e025e","kind":"tag","published_at":"2024-02-15T15:48:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-trino/5.6.2","html_url":"https://github.com/apache/airflow/releases/tag/providers-trino/5.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-trino%2F5.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-trino%2F5.6.2/manifests"},{"name":"providers-weaviate/1.3.2","sha":"bfb054e9e867b8b9a6a449e43bfba97f645e025e","kind":"tag","published_at":"2024-02-15T15:48:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-weaviate/1.3.2","html_url":"https://github.com/apache/airflow/releases/tag/providers-weaviate/1.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-weaviate%2F1.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-weaviate%2F1.3.2/manifests"},{"name":"providers-http/4.9.1","sha":"bfb054e9e867b8b9a6a449e43bfba97f645e025e","kind":"tag","published_at":"2024-02-15T15:48:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-http/4.9.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-http/4.9.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-http%2F4.9.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-http%2F4.9.1/manifests"},{"name":"providers-tableau/4.4.2","sha":"bfb054e9e867b8b9a6a449e43bfba97f645e025e","kind":"tag","published_at":"2024-02-15T15:48:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-tableau/4.4.2","html_url":"https://github.com/apache/airflow/releases/tag/providers-tableau/4.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-tableau%2F4.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-tableau%2F4.4.2/manifests"},{"name":"providers-oracle/3.9.2","sha":"bfb054e9e867b8b9a6a449e43bfba97f645e025e","kind":"tag","published_at":"2024-02-15T15:48:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-oracle/3.9.2","html_url":"https://github.com/apache/airflow/releases/tag/providers-oracle/3.9.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-oracle%2F3.9.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-oracle%2F3.9.2/manifests"},{"name":"providers-jdbc/4.2.2","sha":"bfb054e9e867b8b9a6a449e43bfba97f645e025e","kind":"tag","published_at":"2024-02-15T15:48:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-jdbc/4.2.2","html_url":"https://github.com/apache/airflow/releases/tag/providers-jdbc/4.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-jdbc%2F4.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-jdbc%2F4.2.2/manifests"},{"name":"providers-yandex/3.9.0","sha":"bfb054e9e867b8b9a6a449e43bfba97f645e025e","kind":"tag","published_at":"2024-02-15T15:48:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-yandex/3.9.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-yandex/3.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-yandex%2F3.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-yandex%2F3.9.0/manifests"},{"name":"providers-mysql/5.5.3","sha":"bfb054e9e867b8b9a6a449e43bfba97f645e025e","kind":"tag","published_at":"2024-02-15T15:48:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-mysql/5.5.3","html_url":"https://github.com/apache/airflow/releases/tag/providers-mysql/5.5.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-mysql%2F5.5.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-mysql%2F5.5.3/manifests"},{"name":"providers-dbt-cloud/3.6.1","sha":"bfb054e9e867b8b9a6a449e43bfba97f645e025e","kind":"tag","published_at":"2024-02-15T15:48:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-dbt-cloud/3.6.1","html_url":"https://github.com/apache/airflow/releases/tag/providers-dbt-cloud/3.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-dbt-cloud%2F3.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-dbt-cloud%2F3.6.1/manifests"},{"name":"providers-hashicorp/3.6.3","sha":"bfb054e9e867b8b9a6a449e43bfba97f645e025e","kind":"tag","published_at":"2024-02-15T15:48:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-hashicorp/3.6.3","html_url":"https://github.com/apache/airflow/releases/tag/providers-hashicorp/3.6.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-hashicorp%2F3.6.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-hashicorp%2F3.6.3/manifests"},{"name":"providers-google/10.15.0","sha":"bfb054e9e867b8b9a6a449e43bfba97f645e025e","kind":"tag","published_at":"2024-02-15T15:48:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-google/10.15.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-google/10.15.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-google%2F10.15.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-google%2F10.15.0/manifests"},{"name":"providers-databricks/6.2.0","sha":"bfb054e9e867b8b9a6a449e43bfba97f645e025e","kind":"tag","published_at":"2024-02-15T15:48:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-databricks/6.2.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-databricks/6.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-databricks%2F6.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-databricks%2F6.2.0/manifests"},{"name":"providers-elasticsearch/5.3.3","sha":"bfb054e9e867b8b9a6a449e43bfba97f645e025e","kind":"tag","published_at":"2024-02-15T15:48:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-elasticsearch/5.3.3","html_url":"https://github.com/apache/airflow/releases/tag/providers-elasticsearch/5.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-elasticsearch%2F5.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-elasticsearch%2F5.3.3/manifests"},{"name":"providers-common-io/1.3.0","sha":"bfb054e9e867b8b9a6a449e43bfba97f645e025e","kind":"tag","published_at":"2024-02-15T15:48:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-common-io/1.3.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-common-io/1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-common-io%2F1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-common-io%2F1.3.0/manifests"},{"name":"providers-celery/3.6.0","sha":"bfb054e9e867b8b9a6a449e43bfba97f645e025e","kind":"tag","published_at":"2024-02-15T15:48:36.000Z","download_url":"https://codeload.github.com/apache/airflow/tar.gz/providers-celery/3.6.0","html_url":"https://github.com/apache/airflow/releases/tag/providers-celery/3.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-celery%2F3.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fairflow/tags/providers-celery%2F3.6.0/manifests"}]},"repo_metadata_updated_at":"2024-10-29T15:51:37.556Z","dependent_packages_count":314,"downloads":18817588,"downloads_period":"last-month","dependent_repos_count":1554,"rankings":{"downloads":0.04677122634155468,"dependent_repos_count":0.27842635916266667,"dependent_packages_count":0.07391687927704524,"stargazers_count":0.12050468904471147,"forks_count":0.05539180531431181,"docker_downloads_count":0.3671999809246763,"average":0.15703515667749438},"purl":"pkg:pypi/apache-airflow","advisories":[{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTg2dnAteDNwci03OXJ4","url":"https://github.com/advisories/GHSA-86vp-x3pr-79rx","title":"Apache Airflow cross-site scripting due to incomplete fix for CVE-2020-13944","description":"The `origin` parameter passed to some of the endpoints like `/trigger` was vulnerable to XSS exploit. This issue affects Apache Airflow versions prior to 1.10.15. This is same as CVE-2020-13944 but the implemented fix in Airflow 1.10.13 did not fix the issue completely.","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2021-04-20T16:40:14.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":0.0,"cvss_vector":null,"references":["https://nvd.nist.gov/vuln/detail/CVE-2020-17515","https://lists.apache.org/thread.html/r2892ef594dbbf54d0939b808626f52f7c2d1584f8aa1d81570847d2a@%3Cannounce.apache.org%3E","https://lists.apache.org/thread.html/r2892ef594dbbf54d0939b808626f52f7c2d1584f8aa1d81570847d2a@%3Cdev.airflow.apache.org%3E","https://lists.apache.org/thread.html/r2892ef594dbbf54d0939b808626f52f7c2d1584f8aa1d81570847d2a@%3Cusers.airflow.apache.org%3E","https://lists.apache.org/thread.html/r4656959c8ed06c1f6202d89aa4e67b35ad7bdba5a666caff3fea888e%40%3Cusers.airflow.apache.org%3E","https://lists.apache.org/thread.html/r4656959c8ed06c1f6202d89aa4e67b35ad7bdba5a666caff3fea888e@%3Cusers.airflow.apache.org%3E","http://www.openwall.com/lists/oss-security/2020/12/11/2","https://lists.apache.org/thread.html/ra8ce70088ba291f358e077cafdb14d174b7a1ce9a9d86d1b332d6367@%3Cusers.airflow.apache.org%3E","http://www.openwall.com/lists/oss-security/2021/05/01/2","https://github.com/apache/airflow/pull/14738","https://github.com/apache/airflow/commit/409c249121bd9c8902fc2ba551b21873ab41f953","https://github.com/apache/airflow/releases/tag/1.10.15","https://github.com/apache/airflow/releases/tag/2.0.2","https://lists.apache.org/thread.html/rc005f4de9d9b0ba943ceb8ff5a21a5c6ff8a9df52632476698d99432@%3Cannounce.apache.org%3E","https://pypi.org/project/apache-airflow","https://github.com/apache/airflow/commit/13336272e32872247fa7d17e964ccd88ec8d1376","https://github.com/apache/airflow/commit/7486153f451e4d2bb1c6fd9cbb5a63430157c99c","https://github.com/apache/airflow/commit/ab8c55878e3e4257d2276226cb17b047ba856686","https://github.com/apache/airflow/commit/c6369beed53d41c0a70415b0d958bf0604124ad7","https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2020-21.yaml","https://github.com/advisories/GHSA-86vp-x3pr-79rx"],"source_kind":"github","identifiers":["GHSA-86vp-x3pr-79rx","CVE-2020-17515"],"repository_url":"https://github.com/apache/airflow","blast_radius":0.0,"packages":[{"versions":[{"first_patched_version":"2.0.2rc1","vulnerable_version_range":"\u003e= 2.0.0b1, \u003c 2.0.2rc1"},{"first_patched_version":"1.10.15rc1","vulnerable_version_range":"\u003c 1.10.15rc1"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2022-12-21T16:13:05.042Z","updated_at":"2024-09-11T17:06:12.000Z","epss_percentage":0.10066,"epss_percentile":0.92653},{"uuid":"GSA_kwCzR0hTQS04ZjU3LXdjbWctNGptaM4AA39V","url":"https://github.com/advisories/GHSA-8f57-wcmg-4jmh","title":"Apache Airflow vulnerable to Exposure of Resource to Wrong Sphere","description":"Apache Airflow, in versions prior to 2.8.0, contains a security vulnerability that allows an authenticated user with limited access to some DAGs, to craft a request that could give the user write access to various DAG resources for DAGs that the user had no access to, thus, enabling the user to clear DAGs they shouldn't.\n\nThis is a missing fix for CVE-2023-42792 in Apache Airflow 2.7.2 \n\nUsers of Apache Airflow are strongly advised to upgrade to version 2.8.0 or newer to mitigate the risk associated with this vulnerability.","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2023-12-21T12:30:27.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":0.0,"cvss_vector":null,"references":["https://nvd.nist.gov/vuln/detail/CVE-2023-48291","https://github.com/apache/airflow/pull/34366","https://lists.apache.org/thread/3nl0h014274yjlt1hd02z0q78ftyz0z3","https://github.com/apache/airflow/commit/4f1b500c47813c54349b7d3e48df0a444fb4826c","http://www.openwall.com/lists/oss-security/2023/12/21/1","https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2023-265.yaml","https://github.com/advisories/GHSA-8f57-wcmg-4jmh"],"source_kind":"github","identifiers":["GHSA-8f57-wcmg-4jmh","CVE-2023-48291"],"repository_url":"https://github.com/apache/airflow","blast_radius":0.0,"packages":[{"versions":[{"first_patched_version":"2.8.0","vulnerable_version_range":"\u003c 2.8.0"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2023-12-21T19:05:58.940Z","updated_at":"2024-11-21T21:35:17.000Z","epss_percentage":0.00068,"epss_percentile":0.21356},{"uuid":"GSA_kwCzR0hTQS02NjZnLXJmYzUtYzlqds4AA2wn","url":"https://github.com/advisories/GHSA-666g-rfc5-c9jv","title":"Apache Airflow Celery provider Insertion of Sensitive Information into Log File vulnerability","description":"Insertion of Sensitive Information into Log File vulnerability in Apache Airflow Celery provider, Apache Airflow.\n\nSensitive information logged as clear text when rediss, amqp, rpc protocols are used as Celery result backend\nNote: the vulnerability is about the information exposed in the logs not about accessing the logs.\n\nThis issue affects Apache Airflow Celery provider: from 3.3.0 through 3.4.0; Apache Airflow: from 1.10.0 through 2.6.3.\n\nUsers are recommended to upgrade Airflow Celery provider to version 3.4.1 and Apache Airlfow to version 2.7.0 which fixes the issue.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2023-10-28T09:30:44.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":0.0,"cvss_vector":null,"references":["https://nvd.nist.gov/vuln/detail/CVE-2023-46215","https://github.com/apache/airflow/pull/34954","https://lists.apache.org/thread/wm1jfmks7r6m7bj0mq4lmw3998svn46n","http://www.openwall.com/lists/oss-security/2023/10/28/1","https://github.com/advisories/GHSA-666g-rfc5-c9jv"],"source_kind":"github","identifiers":["GHSA-666g-rfc5-c9jv","CVE-2023-46215"],"repository_url":"https://github.com/apache/airflow","blast_radius":0.0,"packages":[{"versions":[{"first_patched_version":"2.7.0","vulnerable_version_range":"\u003e= 1.10.0, \u003c 2.7.0"}],"ecosystem":"pypi","package_name":"apache-airflow"},{"versions":[{"first_patched_version":"3.4.1","vulnerable_version_range":"\u003e= 3.3.0, \u003c 3.4.1"}],"ecosystem":"pypi","package_name":"apache-airflow-providers-celery"}],"created_at":"2023-11-08T15:06:16.221Z","updated_at":"2025-02-13T19:20:39.000Z","epss_percentage":0.00144,"epss_percentile":0.35798},{"uuid":"GSA_kwCzR0hTQS1jZmYzLTVxcnAtaHF4N84AA6TU","url":"https://github.com/advisories/GHSA-cff3-5qrp-hqx7","title":"Apache Airflow Improper Preservation of Permissions vulnerability","description":"Improper Preservation of Permissions vulnerability in Apache Airflow. This issue affects Apache Airflow from 2.8.2 through 2.8.3.\n\nAirflow's local file task handler in Airflow incorrectly set permissions for all parent folders of log folder, in default configuration adding write access to Unix group of the folders. In the case Airflow is run with the root user (not recommended) it added group write permission to all folders up to the root of the filesystem.\n\nIf your log files are stored in the home directory, these permission changes might impact your ability to run SSH operations after your home directory becomes group-writeable.\n\nThis issue does not affect users who use or extend Airflow using Official Airflow Docker reference images ( https://hub.docker.com/r/apache/airflow/ ) - those images require to have group write permission set anyway.\n\nYou are affected only if you install Airflow using local installation / virtualenv or other Docker images, but the issue has no impact if docker containers are used as intended, i.e. where Airflow components do not share containers with other applications and users.\n\nAlso you should not be affected if your umask is 002 (group write enabled) - this is the default on many linux systems.\n\nRecommendation for users using Airflow outside of the containers:\n\n  *  if you are using root to run Airflow, change your Airflow user to use non-root\n  *  upgrade Apache Airflow to 2.8.4 or above\n  *  If you prefer not to upgrade, you can change the  https://airflow.apache.org/docs/apache-airflow/stable/configurations-ref.html#file-task-handler-new-folder-permissions  to 0o755 (original value 0o775).\n  *  if you already ran Airflow tasks before and your default umask is 022 (group write disabled) you should stop Airflow components, check permissions of AIRFLOW_HOME/logs in all your components and all parent directories of this directory and remove group write access for all the parent directories","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2024-03-26T18:32:06.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":0.0,"cvss_vector":null,"references":["https://nvd.nist.gov/vuln/detail/CVE-2024-29735","https://github.com/apache/airflow/pull/37310","https://lists.apache.org/thread/8khb1rtbznh100o325fb8xw5wjvtv536","https://github.com/apache/airflow/issues/37200","https://github.com/apache/airflow/commit/aae4a83cdfb3be4afeefd88a7bfa3c4d8d184958","https://airflow.apache.org/docs/apache-airflow/stable/configurations-ref.html#file-task-handler-new-folder-permissions","http://www.openwall.com/lists/oss-security/2024/03/26/2","https://github.com/advisories/GHSA-cff3-5qrp-hqx7"],"source_kind":"github","identifiers":["GHSA-cff3-5qrp-hqx7","CVE-2024-29735"],"repository_url":"https://github.com/apache/airflow","blast_radius":0.0,"packages":[{"versions":[{"first_patched_version":"2.8.4","vulnerable_version_range":"\u003e= 2.8.2, \u003c 2.8.4"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2024-03-27T03:04:38.928Z","updated_at":"2024-05-02T19:01:36.000Z","epss_percentage":0.00114,"epss_percentile":0.31164},{"uuid":"GSA_kwCzR0hTQS0yNTIyLW1yamMtbTY4OM4AA7Kq","url":"https://github.com/advisories/GHSA-2522-mrjc-m688","title":"Apache Airflow: Sensitive configuration for providers displayed when \"non-sensitive-only\" config used","description":"Airflow versions 2.7.0 through 2.8.4 have a vulnerability that allows an authenticated user to see sensitive provider configuration via the \"configuration\" UI page when \"non-sensitive-only\" was set as \"webserver.expose_config\" configuration (The celery provider is the only community provider currently that has sensitive configurations). You should migrate to Airflow 2.9 or change your \"expose_config\" configuration to False as a workaround. This is similar, but different to  CVE-2023-46288 https://github.com/advisories/GHSA-9qqg-mh7c-chfq  which concerned API, not UI configuration page.","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2024-04-18T09:30:44.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":0.0,"cvss_vector":null,"references":["https://nvd.nist.gov/vuln/detail/CVE-2024-31869","https://github.com/apache/airflow/pull/38795","https://lists.apache.org/thread/pz6vg7wcjk901rmsgt86h76g6kfcgtk3","https://github.com/apache/airflow/commit/042c2acaed7c01933d37c2f8434640ce140a4b27","http://www.openwall.com/lists/oss-security/2024/04/17/10","https://github.com/advisories/GHSA-2522-mrjc-m688"],"source_kind":"github","identifiers":["GHSA-2522-mrjc-m688","CVE-2024-31869"],"repository_url":"https://github.com/apache/airflow","blast_radius":0.0,"packages":[{"versions":[{"first_patched_version":"2.9.0","vulnerable_version_range":"\u003e= 2.7.0, \u003c 2.9.0"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2024-04-18T17:04:48.587Z","updated_at":"2025-02-11T19:03:14.000Z","epss_percentage":0.00025,"epss_percentile":0.05227},{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLXc2ajQtM2doMi05ZjVq","url":"https://github.com/advisories/GHSA-w6j4-3gh2-9f5j","title":"Apache Airflow vulnerable to CSRF Attacks","description":"A number of HTTP endpoints in the Airflow webserver (both RBAC and classic) did not have adequate protection and were vulnerable to cross-site request forgery attacks.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2019-04-18T14:27:40.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":8.7,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2019-0229","https://github.com/advisories/GHSA-w6j4-3gh2-9f5j","https://lists.apache.org/thread.html/2de387213d45bc626d27554a1bde7b8c67d08720901f82a50b6f4231@%3Cdev.airflow.apache.org%3E","http://www.openwall.com/lists/oss-security/2019/04/10/6","https://web.archive.org/web/20200227081055/http://www.securityfocus.com/bid/107869","https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2019-215.yaml"],"source_kind":"github","identifiers":["GHSA-w6j4-3gh2-9f5j","CVE-2019-0229"],"repository_url":null,"blast_radius":27.765623825844585,"packages":[{"versions":[{"first_patched_version":"1.10.3","vulnerable_version_range":"\u003c 1.10.3"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2022-12-21T16:13:30.427Z","updated_at":"2024-09-12T20:30:52.000Z","epss_percentage":0.00401,"epss_percentile":0.59549},{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLThwN3YtMmp2ai12NTRy","url":"https://github.com/advisories/GHSA-8p7v-2jvj-v54r","title":"Apache Airflow vulnerable to Stored XSS","description":"A malicious admin user could edit the state of objects in the Airflow metadata database to execute arbitrary javascript on certain page views.","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2019-04-12T20:42:25.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":5.3,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2019-0216","https://github.com/advisories/GHSA-8p7v-2jvj-v54r","https://lists.apache.org/thread.html/2de387213d45bc626d27554a1bde7b8c67d08720901f82a50b6f4231@%3Cdev.airflow.apache.org%3E","http://www.openwall.com/lists/oss-security/2019/04/10/6","https://web.archive.org/web/20200227081055/http://www.securityfocus.com/bid/107869","https://github.com/apache/airflow/commit/73280e489c8a766264f2dd9225c3c899f31be758","https://github.com/apache/airflow/commit/a7d8fe64a15b9c228654441166a5ba85d0a5f8ef","https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2019-214.yaml"],"source_kind":"github","identifiers":["GHSA-8p7v-2jvj-v54r","CVE-2019-0216"],"repository_url":"https://github.com/apache/airflow","blast_radius":16.914690376663945,"packages":[{"versions":[{"first_patched_version":"1.10.3","vulnerable_version_range":"\u003c 1.10.3"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2022-12-21T16:13:30.487Z","updated_at":"2024-09-11T21:29:15.000Z","epss_percentage":0.00704,"epss_percentile":0.70749},{"uuid":"GSA_kwCzR0hTQS1yN3g2LXhmY20tM214ds4AA3Cw","url":"https://github.com/advisories/GHSA-r7x6-xfcm-3mxv","title":"Apache Airflow vulnerable to Exposure of Sensitive Information to an Unauthorized Actor","description":"Apache Airflow, versions before 2.7.3, has a vulnerability that allows an authorized user who has access to read specific DAGs only, to read information about task instances in other DAGs.  This is a different issue than CVE-2023-42663 but leading to similar outcome.\nUsers of Apache Airflow are advised to upgrade to version 2.7.3 or newer to mitigate the risk associated with this vulnerability.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2023-11-12T15:30:20.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":7.1,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2023-42781","https://github.com/apache/airflow/pull/34939","https://lists.apache.org/thread/7dnl8nszdxqyns57f3dw0sloy5dfl9o1","http://www.openwall.com/lists/oss-security/2023/11/12/2","https://github.com/apache/airflow/commit/33ec72948f74f56f2adb5e2d388e60e88e8a3fa3","https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2023-231.yaml","https://github.com/advisories/GHSA-r7x6-xfcm-3mxv"],"source_kind":"github","identifiers":["GHSA-r7x6-xfcm-3mxv","CVE-2023-42781"],"repository_url":"https://github.com/apache/airflow","blast_radius":22.659302202700754,"packages":[{"versions":[{"first_patched_version":"2.7.3","vulnerable_version_range":"\u003c 2.7.3"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2023-11-14T21:06:02.770Z","updated_at":"2024-11-18T16:26:33.000Z","epss_percentage":0.0004,"epss_percentile":0.11696},{"uuid":"GSA_kwCzR0hTQS12Y2Y2LTN3djItNXZjcs4AAzHH","url":"https://github.com/advisories/GHSA-vcf6-3wv2-5vcr","title":"Apache Airflow vulnerable to stored Cross-site Scripting","description":"Task instance details page in the UI is vulnerable to stored cross-site scripting. This issue affects Apache Airflow before 2.6.0.\n\n\n","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2023-05-08T12:30:28.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":5.1,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2023-29247","https://github.com/apache/airflow/pull/30447","https://github.com/apache/airflow/pull/30779","https://lists.apache.org/thread/kqf5lxmko133780clsp827xfsh4xd3fl","https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2023-60.yaml","https://github.com/apache/airflow/commit/46c85ec11d224c133da6c45c1186c9aa498a7e75","https://github.com/apache/airflow/commit/f819dfcb24c597058b7b671f6317e4c84976975e","https://github.com/advisories/GHSA-vcf6-3wv2-5vcr"],"source_kind":"github","identifiers":["GHSA-vcf6-3wv2-5vcr","CVE-2023-29247"],"repository_url":"https://github.com/apache/airflow","blast_radius":16.276400173770966,"packages":[{"versions":[{"first_patched_version":"2.6.0","vulnerable_version_range":"\u003c 2.6.0"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2023-05-08T21:03:20.976Z","updated_at":"2024-09-12T14:08:49.000Z","epss_percentage":0.003,"epss_percentile":0.52916},{"uuid":"GSA_kwCzR0hTQS14Mm1oLThmbWMtcnFnaM4AA1eL","url":"https://github.com/advisories/GHSA-x2mh-8fmc-rqgh","title":"Apache Airflow denial of service vulnerability","description":"Apache Airflow, in versions prior to 2.7.0, contains a security vulnerability that can be exploited by an authenticated user possessing Connection edit privileges. This vulnerability allows the user to access connection information and exploit the test connection feature by sending many requests, leading to a denial of service (DoS) condition on the server. Furthermore, malicious actors can leverage this vulnerability to establish harmful connections with the server.\n\nUsers of Apache Airflow are strongly advised to upgrade to version 2.7.0 or newer to mitigate the risk associated with this vulnerability. Additionally, administrators are encouraged to review and adjust user permissions to restrict access to sensitive functionalities, reducing the attack surface.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2023-08-23T18:30:34.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":7.2,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:H/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2023-37379","https://github.com/apache/airflow/pull/32052","https://lists.apache.org/thread/g5c9vcn27lr14go48thrjpo6f4vw571r","http://www.openwall.com/lists/oss-security/2023/08/23/4","https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2023-152.yaml","https://github.com/apache/airflow/commit/e4c3ecf8ceaefa17525b495e4bcb5b2f41309603","https://github.com/advisories/GHSA-x2mh-8fmc-rqgh"],"source_kind":"github","identifiers":["GHSA-x2mh-8fmc-rqgh","CVE-2023-37379"],"repository_url":"https://github.com/apache/airflow","blast_radius":22.978447304147245,"packages":[{"versions":[{"first_patched_version":"2.7.0b1","vulnerable_version_range":"\u003c 2.7.0b1"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2023-08-24T13:05:31.229Z","updated_at":"2025-02-13T19:11:03.000Z","epss_percentage":0.00178,"epss_percentile":0.40084},{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLXJ2bXEtNHg2Ni1xN2oz","url":"https://github.com/advisories/GHSA-rvmq-4x66-q7j3","title":"Remote code execution (RCE) in Apache Airflow","description":"An issue was found in Apache Airflow versions 1.10.10 and below. A remote code/command injection vulnerability was discovered in one of the example DAGs shipped with Airflow which would allow any authenticated user to run arbitrary commands as the user running airflow worker/scheduler (depending on the executor in use). If you already have examples disabled by setting `load_examples=False` in the config then you are not vulnerable.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2020-07-27T16:57:33.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":8.7,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2020-11978","https://lists.apache.org/thread.html/r7255cf0be3566f23a768e2a04b40fb09e52fcd1872695428ba9afe91%40%3Cusers.airflow.apache.org%3E","http://packetstormsecurity.com/files/162908/Apache-Airflow-1.10.10-Remote-Code-Execution.html","http://packetstormsecurity.com/files/174764/Apache-Airflow-1.10.10-Remote-Code-Execution.html","https://github.com/apache/airflow/commit/2fa51576e1283f5732e38fada686fd248d9c3a1e","https://github.com/apache/airflow/commit/4d8599e8b0520ff4226fbad72f724afae50fdd08","https://github.com/apache/airflow/pull/9143","https://github.com/advisories/GHSA-rvmq-4x66-q7j3","https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2020-14.yaml"],"source_kind":"github","identifiers":["GHSA-rvmq-4x66-q7j3","CVE-2020-11978"],"repository_url":"https://github.com/apache/airflow","blast_radius":27.765623825844585,"packages":[{"versions":[{"first_patched_version":"1.10.11rc1","vulnerable_version_range":"\u003e= 0, \u003c 1.10.11rc1"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2022-12-21T16:13:23.470Z","updated_at":"2024-09-11T19:48:18.000Z","epss_percentage":0.94269,"epss_percentile":0.99925},{"uuid":"GSA_kwCzR0hTQS05MnhnLWdtcnEtNWMzd84AA_W0","url":"https://github.com/advisories/GHSA-92xg-gmrq-5c3w","title":"Apache Airflow vulnerable to Execution with Unnecessary Privileges","description":"Apache Airflow versions before 2.10.1 have a vulnerability that allows DAG authors to add local settings to the DAG folder and get it executed by the scheduler, where the scheduler is not supposed to execute code submitted by the DAG author. \nUsers are advised to upgrade to version 2.10.1 or later, which has fixed the vulnerability.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2024-09-07T09:30:31.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":8.7,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2024-45034","https://github.com/apache/airflow/pull/41672","https://lists.apache.org/thread/b4fcw33vh60yfg9990n5vmc7sy2dcgjx","https://github.com/apache/airflow/commit/03e01e76d2203d37aa645096df195b4328665f6d","https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2024-212.yaml","http://www.openwall.com/lists/oss-security/2024/09/06/3","https://github.com/advisories/GHSA-92xg-gmrq-5c3w"],"source_kind":"github","identifiers":["GHSA-92xg-gmrq-5c3w","CVE-2024-45034"],"repository_url":"https://github.com/apache/airflow","blast_radius":27.765623825844585,"packages":[{"versions":[{"first_patched_version":"2.10.1","vulnerable_version_range":"\u003c 2.10.1"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2024-09-09T19:06:22.283Z","updated_at":"2025-01-21T17:53:30.000Z","epss_percentage":0.00611,"epss_percentile":0.68712},{"uuid":"GSA_kwCzR0hTQS1nNWh2LXI3NDMtdjhwbc4AA9-F","url":"https://github.com/advisories/GHSA-g5hv-r743-v8pm","title":"Apache Airflow has DAG Author Code Execution possibility in airflow-scheduler","description":"Apache Airflow 2.4.0, and versions before 2.9.3, has a vulnerability that allows authenticated DAG authors to craft a doc_md parameter in a way that could execute arbitrary code in the scheduler context, which should be forbidden according to the Airflow Security model. Users should upgrade to version 2.9.3 or later which has removed the vulnerability.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2024-07-17T09:30:49.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":8.7,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2024-39877","https://github.com/apache/airflow/pull/40522","https://lists.apache.org/thread/1xhj9dkp37d6pzn24ll2mf94wbqnb2y1","https://github.com/apache/airflow/commit/8159f6e24704f5e0e3b3217cf79ecf5083dce531","https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2024-190.yaml","http://www.openwall.com/lists/oss-security/2024/07/16/7","https://github.com/advisories/GHSA-g5hv-r743-v8pm"],"source_kind":"github","identifiers":["GHSA-g5hv-r743-v8pm","CVE-2024-39877"],"repository_url":"https://github.com/apache/airflow","blast_radius":27.765623825844585,"packages":[{"versions":[{"first_patched_version":"2.9.3","vulnerable_version_range":"\u003e= 2.4.0, \u003c 2.9.3"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2024-07-17T18:05:52.968Z","updated_at":"2025-01-21T17:58:57.000Z","epss_percentage":0.00125,"epss_percentile":0.32884},{"uuid":"GSA_kwCzR0hTQS1qY2htLWZtNHEtYzJmcM4AAzHG","url":"https://github.com/advisories/GHSA-jchm-fm4q-c2fp","title":"Apache Airflow vulnerable to Privilege Context Switching Error","description":"Privilege Context Switching Error vulnerability in Apache Software Foundation Apache Airflow. This issue affects Apache Airflow: before 2.6.0.","origin":"UNSPECIFIED","severity":"CRITICAL","published_at":"2023-05-08T12:30:29.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":9.3,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2023-25754","https://github.com/apache/airflow/pull/29506","https://lists.apache.org/thread/3y83gr0qb8t49ppfk4fb2yk7md8ltq4v","https://github.com/apache/airflow/releases/tag/2.6.0","https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2023-59.yaml","https://github.com/apache/airflow/commit/18347d36e67894604436f3ef47d273532683b473","https://www.openwall.com/lists/oss-security/2023/05/08/2","http://www.openwall.com/lists/oss-security/2023/05/08/2","https://github.com/advisories/GHSA-jchm-fm4q-c2fp"],"source_kind":"github","identifiers":["GHSA-jchm-fm4q-c2fp","CVE-2023-25754"],"repository_url":"https://github.com/apache/airflow","blast_radius":29.680494434523528,"packages":[{"versions":[{"first_patched_version":"2.6.0b1","vulnerable_version_range":"\u003c 2.6.0b1"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2023-05-11T21:03:21.319Z","updated_at":"2025-02-13T18:54:29.000Z","epss_percentage":0.00227,"epss_percentile":0.45557},{"uuid":"GSA_kwCzR0hTQS1tamZmLXd2ODUtaG1jas4AAz7T","url":"https://github.com/advisories/GHSA-mjff-wv85-hmcj","title":"Apache Airflow vulnerable to exposure of sensitive information","description":"In Apache Airflow, some potentially sensitive values were being shown to the user in certain situations.\n\nThis vulnerability is mitigated by the fact configuration is not shown in the UI by default (only if `[webserver] expose_config` is set to `non-sensitive-only`), and not all uncensored values are actually sentitive.\n\nThis issue affects Apache Airflow: from 2.5.0 before 2.6.2. Users are recommended to update to version 2.6.2 or later.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2023-06-19T09:30:17.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":7.1,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2023-35005","https://github.com/apache/airflow/pull/31788","https://github.com/apache/airflow/pull/31820","https://lists.apache.org/thread/o4f2cxh0054m9tlxpb81c1yhylor5gjd","https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2023-89.yaml","https://github.com/apache/airflow/commit/5679a01919ac9d5153e858f8b1390cbc7915f148","https://github.com/apache/airflow/commit/f6cda8fb63250fc4700658999739c1c3c5f6625c","https://github.com/advisories/GHSA-mjff-wv85-hmcj"],"source_kind":"github","identifiers":["GHSA-mjff-wv85-hmcj","CVE-2023-35005"],"repository_url":"https://github.com/apache/airflow","blast_radius":22.659302202700754,"packages":[{"versions":[{"first_patched_version":"2.6.2rc1","vulnerable_version_range":"\u003e= 2.5.0, \u003c 2.6.2rc1"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2023-06-19T23:03:25.882Z","updated_at":"2024-11-18T16:26:30.000Z","epss_percentage":0.00187,"epss_percentile":0.41087},{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLThmZzQtajU2Mi1tanJj","url":"https://github.com/advisories/GHSA-8fg4-j562-mjrc","title":"Improper Input Validation in Apache Airflow resulting in Remote Code Execution","description":"In Apache Airflow 1.8.2 and earlier, an authenticated user can execute code remotely on the Airflow webserver by creating a special object.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2019-01-25T16:19:01.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":8.7,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2017-15720","https://github.com/advisories/GHSA-8fg4-j562-mjrc","https://lists.apache.org/thread.html/ade4d54ebf614f68dc81a08891755e60ea58ba88e0209233eeea5f57@%3Cdev.airflow.apache.org%3E","https://github.com/apache/airflow/commit/04cacdd0a7526927137b452f38c3e894a5d2ce4a","https://github.com/apache/airflow/commit/daa281c0364609d6812921123cf47e4118b40484","https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2019-147.yaml"],"source_kind":"github","identifiers":["GHSA-8fg4-j562-mjrc","CVE-2017-15720"],"repository_url":"https://github.com/apache/airflow","blast_radius":27.765623825844585,"packages":[{"versions":[{"first_patched_version":"1.9.0","vulnerable_version_range":"\u003c= 1.8.2"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2022-12-21T16:13:31.829Z","updated_at":"2024-09-09T21:31:29.000Z","epss_percentage":0.00364,"epss_percentile":0.57613},{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTc3cmMteDg0cS1wdjRm","url":"https://github.com/advisories/GHSA-77rc-x84q-pv4f","title":"Improper Certificate Validation in Apache Airflow","description":"The LDAP auth backend (airflow.contrib.auth.backends.ldap_auth) prior to Apache Airflow 1.10.1 was misconfigured and contained improper checking of exceptions which disabled server certificate checking.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2019-01-25T16:19:19.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":8.7,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2018-20245","https://github.com/advisories/GHSA-77rc-x84q-pv4f","https://lists.apache.org/thread.html/b549c7573b342a6e457e5a3225c33054244343927bbfb2a4cdc4cf73@%3Cdev.airflow.apache.org%3E","https://github.com/apache/airflow/commit/28abf87bd173cc4cedc57f553118470e5745a968","https://github.com/apache/airflow/commit/66d0d05ea0802aec407e0ef5435a962080db0926","https://github.com/apache/airflow/commit/d8d0e8c59203f793f81d47d5adb1362df0b5d8d1","https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2019-143.yaml"],"source_kind":"github","identifiers":["GHSA-77rc-x84q-pv4f","CVE-2018-20245"],"repository_url":"https://github.com/apache/airflow","blast_radius":27.765623825844585,"packages":[{"versions":[{"first_patched_version":"1.10.1","vulnerable_version_range":"\u003c 1.10.1"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2022-12-21T16:13:31.798Z","updated_at":"2024-09-04T20:53:36.000Z","epss_percentage":0.00359,"epss_percentile":0.57029},{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTY4d3YtcmpybS01NzZw","url":"https://github.com/advisories/GHSA-68wv-rjrm-576p","title":"Cross-Site Request Forgery (CSRF) in Apache Airflow","description":"In Apache Airflow 1.8.2 and earlier, a CSRF vulnerability allowed for a remote command injection on a default install of Airflow.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2019-01-25T16:19:14.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":8.7,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2017-17835","https://github.com/advisories/GHSA-68wv-rjrm-576p","https://lists.apache.org/thread.html/ade4d54ebf614f68dc81a08891755e60ea58ba88e0209233eeea5f57@%3Cdev.airflow.apache.org%3E","https://github.com/apache/airflow/commit/673026c740411cc6447aede8c6a816460fe03a59","https://github.com/apache/airflow/commit/c9dc9263986c1a55520ba44b6e5b0fcbd6c48712","https://github.com/apache/airflow/commit/dca5e7d116b5c8b103df13f89f061757c13c41ae","https://github.com/apache/airflow/commit/6aca2c2d395952341ab1b201c59011920b5a5c77","https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2019-148.yaml"],"source_kind":"github","identifiers":["GHSA-68wv-rjrm-576p","CVE-2017-17835"],"repository_url":"https://github.com/apache/airflow","blast_radius":27.765623825844585,"packages":[{"versions":[{"first_patched_version":"1.9.0","vulnerable_version_range":"\u003c= 1.8.2"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2022-12-21T16:13:31.808Z","updated_at":"2024-09-11T19:59:02.000Z","epss_percentage":0.00243,"epss_percentile":0.47588},{"uuid":"GSA_kwCzR0hTQS1xOGg5LXBxY3gtNTlod84AAunZ","url":"https://github.com/advisories/GHSA-q8h9-pqcx-59hw","title":"Apache Airflow exposes arbitrary file content","description":"In Apache Airflow prior to 2.3.4, an insecure umask was configured for numerous Airflow components when running with the `--daemon` flag which could result in a race condition giving world-writable files in the Airflow home directory and allowing local users to expose arbitrary file contents via the webserver.","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2022-09-03T00:00:25.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":5.7,"cvss_vector":"CVSS:4.0/AV:L/AC:L/AT:P/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2022-38170","https://lists.apache.org/thread/zn8mbbb1j2od5nc9zhrvb7rpsrg1vvzv","http://www.openwall.com/lists/oss-security/2022/09/02/3","http://www.openwall.com/lists/oss-security/2022/09/02/12","https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2022-261.yaml","http://www.openwall.com/lists/oss-security/2022/09/21/2","https://github.com/apache/airflow/commit/b6a2cd1aa34f69a36ea127e4f7f5ba87f4aca420","https://github.com/apache/airflow/commit/bf01d10cd348e679916034de1befb79ec6e46ff8","https://github.com/apache/airflow/commit/c14ea8f0f34944d2ecfa9021d167602e8b2b8b90","https://github.com/advisories/GHSA-q8h9-pqcx-59hw"],"source_kind":"github","identifiers":["GHSA-q8h9-pqcx-59hw","CVE-2022-38170"],"repository_url":"https://github.com/apache/airflow","blast_radius":18.191270782449905,"packages":[{"versions":[{"first_patched_version":"2.3.4","vulnerable_version_range":"\u003c 2.3.4"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2022-12-21T16:11:59.143Z","updated_at":"2024-09-11T20:00:44.000Z","epss_percentage":0.00119,"epss_percentile":0.31989},{"uuid":"GSA_kwCzR0hTQS03d3FmLWgzNnctNDdtY84AAwAE","url":"https://github.com/advisories/GHSA-7wqf-h36w-47mc","title":"OS Command Injection in Apache Airflow","description":"Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection') vulnerability in Apache Airflow Pinot Provider, Apache Airflow allows an attacker to control commands executed in the task execution context, without write access to DAG files. This issue affects Apache Airflow Pinot Provider versions prior to 4.0.0. It also impacts any Apache Airflow versions prior to 2.3.0 in case Apache Airflow Pinot Provider is installed (Apache Airflow Pinot Provider 4.0.0 can only be installed for Airflow 2.3.0+). Note that you need to manually install the Pinot Provider version 4.0.0 in order to get rid of the vulnerability on top of Airflow 2.3.0+ version.","origin":"UNSPECIFIED","severity":"CRITICAL","published_at":"2022-11-22T12:30:22.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":0.0,"cvss_vector":null,"references":["https://nvd.nist.gov/vuln/detail/CVE-2022-38649","https://github.com/apache/airflow/pull/27641","https://lists.apache.org/thread/033o1gbc4ly6dpd2xf1o201v56fbl4dz","https://github.com/apache/airflow/commit/1d4fd5c6eacab0b88f8660f9d780174434393f1a","https://github.com/advisories/GHSA-7wqf-h36w-47mc"],"source_kind":"github","identifiers":["GHSA-7wqf-h36w-47mc","CVE-2022-38649"],"repository_url":"https://github.com/apache/airflow","blast_radius":0.0,"packages":[{"versions":[{"first_patched_version":"2.3.0","vulnerable_version_range":"\u003c 2.3.0"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2022-12-21T16:11:48.832Z","updated_at":"2024-03-06T22:53:39.000Z","epss_percentage":0.01757,"epss_percentile":0.81669},{"uuid":"GSA_kwCzR0hTQS1ydjI1LTl3Z2oteGc3Nc4AAWPs","url":"https://github.com/advisories/GHSA-rv25-9wgj-xg75","title":"Apache Airflow Reflected Cross-site Scripting vulnerability in 404 Endpoint","description":"It was noticed an XSS in certain 404 pages that could be exploited to perform an XSS attack. Chrome will detect this as a reflected XSS attempt and prevent the page from loading. However Firefox and other browsers don't, and are vulnerable to this attack. Mitigation: The fix for this is to upgrade to Apache Airflow 1.9.0 or above.","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2022-05-14T02:57:27.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":5.3,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2017-12614","https://lists.apache.org/thread.html/2c72480c76619c5e7793f0d213c34082f0598eaa4d212172f068940f@%3Cdev.airflow.apache.org%3E","https://github.com/apache/airflow/commit/e1a2d74c0045c9231f7a5365c956b8e048dd6af3","https://devhub.checkmarx.com/cve-details/cve-2017-12614","https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2018-45.yaml","https://github.com/advisories/GHSA-rv25-9wgj-xg75"],"source_kind":"github","identifiers":["GHSA-rv25-9wgj-xg75","CVE-2017-12614"],"repository_url":"https://github.com/apache/airflow","blast_radius":16.914690376663945,"packages":[{"versions":[{"first_patched_version":"1.9.0","vulnerable_version_range":"\u003c 1.9.0"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2024-02-23T21:05:04.168Z","updated_at":"2024-09-10T21:49:46.000Z","epss_percentage":0.02255,"epss_percentile":0.83612},{"uuid":"GSA_kwCzR0hTQS01MmdtLXFtZzMtcjRxcM4AA8CD","url":"https://github.com/advisories/GHSA-52gm-qmg3-r4qp","title":"Apache Airflow: XSS vulnerability in Task Instance Log/Log Details","description":"Apache Airflow version 2.9.0 has a vulnerability that allows an authenticated attacker to inject malicious data into the task instance logs. \nUsers are recommended to upgrade to version 2.9.1, which fixes this issue.","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2024-05-14T18:31:00.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":0.0,"cvss_vector":null,"references":["https://nvd.nist.gov/vuln/detail/CVE-2024-32077","https://github.com/apache/airflow/pull/38882","https://lists.apache.org/thread/gsjmnrqb3m5fzp0vgpty1jxcywo91v77","https://github.com/apache/airflow/commit/87acf61f574daf47ce9e03a986e352a2c727f4ce","http://www.openwall.com/lists/oss-security/2024/05/14/1","https://github.com/advisories/GHSA-52gm-qmg3-r4qp"],"source_kind":"github","identifiers":["GHSA-52gm-qmg3-r4qp","CVE-2024-32077"],"repository_url":"https://github.com/apache/airflow","blast_radius":0.0,"packages":[{"versions":[{"first_patched_version":"2.9.1","vulnerable_version_range":"= 2.9.0"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2024-05-24T06:05:29.081Z","updated_at":"2025-02-13T18:59:35.000Z","epss_percentage":0.00546,"epss_percentile":0.66655},{"uuid":"GSA_kwCzR0hTQS12bTVtLXFtcngtZnc4d84AA4qc","url":"https://github.com/advisories/GHSA-vm5m-qmrx-fw8w","title":"Apache Airflow: Bypass permission verification to read code of other dags","description":"Apache Airflow, versions before 2.8.1, have a vulnerability that allows an authenticated user to access the source code of a DAG to which they don't have access. This vulnerability is considered low since it requires an authenticated user to exploit it. Users are recommended to upgrade to version 2.8.1, which fixes this issue.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2024-01-24T15:30:30.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":7.1,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2023-50944","https://github.com/apache/airflow/pull/36257","https://lists.apache.org/thread/92krb5mpcq8qrw4t4j5oooqw7hgd8q7h","http://www.openwall.com/lists/oss-security/2024/01/24/5","https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2024-14.yaml","https://github.com/apache/airflow/commit/8d76538d6e105947272b000581c6fabec20146b1","https://github.com/advisories/GHSA-vm5m-qmrx-fw8w"],"source_kind":"github","identifiers":["GHSA-vm5m-qmrx-fw8w","CVE-2023-50944"],"repository_url":"https://github.com/apache/airflow","blast_radius":22.659302202700754,"packages":[{"versions":[{"first_patched_version":"2.8.1rc1","vulnerable_version_range":"\u003e= 0, \u003c 2.8.1rc1"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2024-01-24T22:06:05.412Z","updated_at":"2025-02-13T19:33:14.000Z","epss_percentage":0.0008,"epss_percentile":0.24804},{"uuid":"GSA_kwCzR0hTQS1mOWZxLTc4Y2gtNHdtas4AAvr3","url":"https://github.com/advisories/GHSA-f9fq-78ch-4wmj","title":"Apache Airflow Open Redirect vulnerability","description":"In Apache Airflow versions prior to 2.4.2, there was an open redirect in the webserver's `/confirm` endpoint.","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2022-11-02T19:00:32.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":5.3,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2022-43985","https://github.com/apache/airflow/pull/27143","https://lists.apache.org/thread/m13y9s5kw92fw9l8j4qd85h0txp4kfcq","https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2022-42971.yaml","https://github.com/apache/airflow/commit/9fb4814d29d934cef3b02fb3b2547f9fb76aaa97","https://github.com/advisories/GHSA-f9fq-78ch-4wmj"],"source_kind":"github","identifiers":["GHSA-f9fq-78ch-4wmj","CVE-2022-43985"],"repository_url":"https://github.com/apache/airflow","blast_radius":16.914690376663945,"packages":[{"versions":[{"first_patched_version":"2.4.2rc1","vulnerable_version_range":"\u003c 2.4.2rc1"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2022-12-21T16:11:53.360Z","updated_at":"2024-09-11T21:14:42.000Z","epss_percentage":0.00417,"epss_percentile":0.60829},{"uuid":"GSA_kwCzR0hTQS02djZ3LWg4bTYtN212Ms4AA5qK","url":"https://github.com/advisories/GHSA-6v6w-h8m6-7mv2","title":"Apache Airflow: DAG Code and Import Error Permissions Ignored","description":"Apache Airflow, versions before 2.8.2, has a vulnerability that allows authenticated users to view DAG code and import errors of DAGs they do not have permission to view through the API and the UI.\n\nUsers of Apache Airflow are recommended to upgrade to version 2.8.2 or newer to mitigate the risk associated with this vulnerability","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2024-02-29T12:31:06.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":5.1,"cvss_vector":"CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2024-27906","https://github.com/apache/airflow/pull/37290","https://github.com/apache/airflow/pull/37468","https://lists.apache.org/thread/on4f7t5sqr3vfgp1pvkck79wv7mq9st5","http://www.openwall.com/lists/oss-security/2024/02/29/1","https://github.com/apache/airflow/commit/08d25607abe8593ecb90a84e338896bb79692d7b","https://github.com/apache/airflow/commit/0a95299691e2d6a9b874adfae94d246a7f681ec9","https://github.com/apache/airflow/commit/2adbe882e68df0e2b1084bc869616bb01e416aa7","https://github.com/apache/airflow/commit/2cb6027280bcf5e2b561f3ee7f55980f6ec4cc3a","https://github.com/apache/airflow/commit/90255d9d44a649025f588497f6c82177dad48326","https://github.com/apache/airflow/commit/9c4defa08268322b9db80123a22d7b56b2063446","https://github.com/apache/airflow/commit/a7fa258ba1c69a18e0f620499625f6026768dc24","https://github.com/apache/airflow/commit/bc2646be043f71b4d1ab7eefd2af65a60bf919f2","https://github.com/apache/airflow/commit/d944eb0de216d9e1d125fae5ce4af7440154deb4","https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2024-245.yaml","https://github.com/advisories/GHSA-6v6w-h8m6-7mv2"],"source_kind":"github","identifiers":["GHSA-6v6w-h8m6-7mv2","CVE-2024-27906"],"repository_url":"https://github.com/apache/airflow","blast_radius":16.276400173770966,"packages":[{"versions":[{"first_patched_version":"2.8.2","vulnerable_version_range":"\u003c= 2.8.1"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2024-03-01T00:04:50.166Z","updated_at":"2025-05-06T18:00:52.000Z","epss_percentage":0.00042,"epss_percentile":0.12253},{"uuid":"GSA_kwCzR0hTQS05eHBqLTYybW0tMjRoMs4AA9GF","url":"https://github.com/advisories/GHSA-9xpj-62mm-24h2","title":"Apache Airflow does not return the \"Cache-Control\" header for dynamic content","description":"Use of Web Browser Cache Containing Sensitive Information vulnerability in Apache Airflow. \n\nAirflow did not return \"Cache-Control\" header for dynamic content, which in case of some browsers could result in potentially storing sensitive data in local cache of the browser.\n\nThis issue affects Apache Airflow: before 2.9.2.\n\nUsers are recommended to upgrade to version 2.9.2, which fixes the issue.\n\n","origin":"UNSPECIFIED","severity":"LOW","published_at":"2024-06-14T09:31:17.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":0.0,"cvss_vector":null,"references":["https://nvd.nist.gov/vuln/detail/CVE-2024-25142","https://github.com/apache/airflow/pull/39550","https://lists.apache.org/thread/cg1j28lk0fhzthk0of1g7vy7p2n1j7nr","https://github.com/apache/airflow/commit/94eb647de692a4d9555b02dce85974da5d4c04e3","https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2024-195.yaml","http://www.openwall.com/lists/oss-security/2024/06/13/1","https://github.com/advisories/GHSA-9xpj-62mm-24h2"],"source_kind":"github","identifiers":["GHSA-9xpj-62mm-24h2","CVE-2024-25142"],"repository_url":"https://github.com/apache/airflow","blast_radius":0.0,"packages":[{"versions":[{"first_patched_version":"2.9.2","vulnerable_version_range":"\u003c 2.9.2"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2024-06-17T22:05:36.831Z","updated_at":"2025-01-21T17:57:47.000Z","epss_percentage":0.00059,"epss_percentile":0.18565},{"uuid":"GSA_kwCzR0hTQS01cnA0LTc0OXAtdngyNs4AAu_Y","url":"https://github.com/advisories/GHSA-5rp4-749p-vx26","title":"Apache Airflow vulnerable to Use of Externally-Controlled Format String","description":"In Apache Airflow 2.3.0 through 2.3.4, part of a url was unnecessarily formatted, allowing for possible information extraction.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2022-09-22T22:40:27.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":8.7,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2022-40604","https://github.com/apache/airflow/pull/26337","https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2022-279.yaml","https://lists.apache.org/thread/z20x8m16fnhxdkoollv53w1ybsts687t","https://github.com/apache/airflow/commit/18386026c28939fa6d91d198c5489c295a05dcd2","https://github.com/apache/airflow/commit/6f24836e5ee56c452947aa87f84a21dd4f8eb87c","https://github.com/advisories/GHSA-5rp4-749p-vx26"],"source_kind":"github","identifiers":["GHSA-5rp4-749p-vx26","CVE-2022-40604"],"repository_url":"https://github.com/apache/airflow","blast_radius":27.765623825844585,"packages":[{"versions":[{"first_patched_version":"2.4.0rc1","vulnerable_version_range":"\u003e= 2.3.0, \u003c 2.4.0rc1"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2022-12-21T16:11:57.317Z","updated_at":"2024-09-11T18:30:26.000Z","epss_percentage":0.00404,"epss_percentile":0.60033},{"uuid":"GSA_kwCzR0hTQS1mdncyLTJwZjctNzd2d84AAv2h","url":"https://github.com/advisories/GHSA-fvw2-2pf7-77vw","title":"Apache Airflow subject to Exposure of Sensitive Information","description":"A vulnerability in UI of Apache Airflow allows an attacker to view unmasked secrets in rendered template values for tasks which were not executed (for example when they were depending on past and previous instances of the task failed). This issue affects Apache Airflow prior to 2.3.1.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2022-11-14T12:00:15.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":8.7,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2022-27949","https://github.com/apache/airflow/pull/22754","https://lists.apache.org/thread/n38oc5obb48600fsvnbopxcs0jpbp65p","http://www.openwall.com/lists/oss-security/2022/11/14/3","https://github.com/apache/airflow/commit/09be0c5c7e847dda1d0be5776f8d5e327ff2281a","https://github.com/apache/airflow/commit/1cbb0ad26dd17f218c6ab1c2ae59b262c443a443","https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2022-42981.yaml","https://github.com/advisories/GHSA-fvw2-2pf7-77vw"],"source_kind":"github","identifiers":["GHSA-fvw2-2pf7-77vw","CVE-2022-27949"],"repository_url":"https://github.com/apache/airflow","blast_radius":27.765623825844585,"packages":[{"versions":[{"first_patched_version":"2.3.1","vulnerable_version_range":"\u003c 2.3.1"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2022-12-21T16:11:50.290Z","updated_at":"2024-09-11T19:38:55.000Z","epss_percentage":0.00163,"epss_percentile":0.38379},{"uuid":"GSA_kwCzR0hTQS0zaDRtLW01NXYtZ3g0bc4AA0pL","url":"https://github.com/advisories/GHSA-3h4m-m55v-gx4m","title":"Apache Airflow Improper Input Validation vulnerability","description":"Apache Airflow, versions before 2.6.3, has a vulnerability where an authenticated user can use crafted input to make the current request hang. It is recommended to upgrade to a version that is not affected","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2023-07-12T12:31:36.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":7.1,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2023-36543","https://github.com/apache/airflow/pull/32060","https://lists.apache.org/thread/tokfs980504ylgk3cv3hjlnrtbv4tng4","https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2023-106.yaml","https://github.com/apache/airflow/commit/116e607ddcb32480e57c342f48226545ac6fc315","https://github.com/advisories/GHSA-3h4m-m55v-gx4m"],"source_kind":"github","identifiers":["GHSA-3h4m-m55v-gx4m","CVE-2023-36543"],"repository_url":"https://github.com/apache/airflow","blast_radius":22.659302202700754,"packages":[{"versions":[{"first_patched_version":"2.6.3","vulnerable_version_range":"\u003c 2.6.3"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2023-07-12T18:04:03.787Z","updated_at":"2024-11-18T16:26:31.000Z","epss_percentage":0.00531,"epss_percentile":0.65986},{"uuid":"GSA_kwCzR0hTQS1jMzkyLXdocGMtdmZwcs4AA_Wx","url":"https://github.com/advisories/GHSA-c392-whpc-vfpr","title":"Apache Airflow vulnerable to Improper Encoding or Escaping of Output","description":"Example DAG: example_inlet_event_extra.py shipped with Apache Airflow version 2.10.0 has a vulnerability that allows an authenticated attacker with only DAG trigger permission to execute arbitrary commands. If you used that example as the base of your DAGs - please review if you have not copied the dangerous example; see  https://github.com/apache/airflow/pull/41873  for more information. We recommend against exposing the example DAGs in your deployment. If you must expose the example DAGs, upgrade Airflow to version 2.10.1 or later.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2024-09-07T09:30:31.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":8.7,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2024-45498","https://github.com/apache/airflow/pull/41873","https://lists.apache.org/thread/tl7lzczcqdmqj2pcpbvtjdpd2tb9561n","https://github.com/apache/airflow/commit/09ec2616568f8a18e0d5fe408110fae06ddf748f","https://www.openwall.com/lists/oss-security/2024/09/06/2","https://github.com/advisories/GHSA-c392-whpc-vfpr"],"source_kind":"github","identifiers":["GHSA-c392-whpc-vfpr","CVE-2024-45498"],"repository_url":"https://github.com/apache/airflow","blast_radius":27.765623825844585,"packages":[{"versions":[{"first_patched_version":"2.10.1","vulnerable_version_range":"= 2.10.0"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2024-09-09T19:06:22.249Z","updated_at":"2025-06-04T21:16:03.000Z","epss_percentage":0.0115,"epss_percentile":0.77467},{"uuid":"GSA_kwCzR0hTQS1qODU3LTJwd20tamptbc4ABBF-","url":"https://github.com/advisories/GHSA-j857-2pwm-jjmm","title":"Apache Airflow vulnerable to Insertion of Sensitive Information Into Sent Data","description":"Airflow versions before 2.10.3 have a vulnerability that allows authenticated users with audit log access to see sensitive values in audit logs which they should not see. When sensitive variables were set via airflow CLI, values of those variables appeared in the audit log and were stored unencrypted in the Airflow database. While this risk is limited to users with audit log access, it is recommended to upgrade to Airflow 2.10.3 or a later version, which addresses this issue. Users who previously used the CLI to set secret variables should manually delete entries with those variables from the log table.","origin":"UNSPECIFIED","severity":"LOW","published_at":"2024-11-08T15:31:12.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":2.3,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/E:U","references":["https://nvd.nist.gov/vuln/detail/CVE-2024-50378","https://github.com/apache/airflow/pull/43123","https://lists.apache.org/thread/17rxys384lzfd6nhm3fztzgvk47zy7jb","https://github.com/advisories/GHSA-j857-2pwm-jjmm"],"source_kind":"github","identifiers":["GHSA-j857-2pwm-jjmm","CVE-2024-50378"],"repository_url":"https://github.com/apache/airflow","blast_radius":7.340337333269258,"packages":[{"versions":[{"first_patched_version":"2.10.3","vulnerable_version_range":"\u003c 2.10.3"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2024-11-08T19:06:34.969Z","updated_at":"2024-11-08T18:23:52.000Z","epss_percentage":0.00091,"epss_percentile":0.27111},{"uuid":"GSA_kwCzR0hTQS00NXI2LWozY2MtNm14eM4AAwAC","url":"https://github.com/advisories/GHSA-45r6-j3cc-6mxx","title":"OS Command Injection in Apache Airflow","description":"Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection') vulnerability in Apache Airflow Spark Provider, Apache Airflow allows an attacker to read arbtrary files in the task execution context, without write access to DAG files. This issue affects Spark Provider versions prior to 4.0.0. It also impacts any Apache Airflow versions prior to 2.3.0 in case Spark Provider is installed (Spark Provider 4.0.0 can only be installed for Airflow 2.3.0+). Note that you need to manually install the Spark Provider version 4.0.0 in order to get rid of the vulnerability on top of Airflow 2.3.0+ version that has lower version of the Spark Provider installed).","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2022-11-22T12:30:22.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":0.0,"cvss_vector":null,"references":["https://nvd.nist.gov/vuln/detail/CVE-2022-40954","https://github.com/apache/airflow/pull/27646","https://lists.apache.org/thread/0tmdlnmjs5t4gsx5fy73tb6zd3jztq45","https://github.com/advisories/GHSA-45r6-j3cc-6mxx"],"source_kind":"github","identifiers":["GHSA-45r6-j3cc-6mxx","CVE-2022-40954"],"repository_url":"https://github.com/apache/airflow","blast_radius":0.0,"packages":[{"versions":[{"first_patched_version":"2.3.0","vulnerable_version_range":"\u003c 2.3.0"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2022-12-21T16:11:48.816Z","updated_at":"2023-08-17T05:02:21.000Z","epss_percentage":0.00445,"epss_percentile":0.6241},{"uuid":"GSA_kwCzR0hTQS1yZzk0LTg0eGotN2dxM84AAv3Z","url":"https://github.com/advisories/GHSA-rg94-84xj-7gq3","title":"Apache Airflow Contains Open Redirect","description":"In Apache Airflow versions prior to 2.4.3, there was an open redirect in the webserver's `/login` endpoint.","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2022-11-15T12:00:15.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":0.0,"cvss_vector":null,"references":["https://nvd.nist.gov/vuln/detail/CVE-2022-45402","https://github.com/apache/airflow/pull/27576","https://lists.apache.org/thread/nf4xrkoo6c81g6fdn4vj8k9x2686o9nh","http://www.openwall.com/lists/oss-security/2022/11/15/1","https://github.com/apache/airflow/commit/f0f67e8bc9dcb9444cfc5b88ee075191785469b7","https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2022-42984.yaml","https://github.com/advisories/GHSA-rg94-84xj-7gq3"],"source_kind":"github","identifiers":["GHSA-rg94-84xj-7gq3","CVE-2022-45402"],"repository_url":"https://github.com/apache/airflow","blast_radius":0.0,"packages":[{"versions":[{"first_patched_version":"2.4.3","vulnerable_version_range":"\u003c 2.4.3"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2022-12-21T16:11:50.167Z","updated_at":"2024-09-03T21:15:05.000Z","epss_percentage":0.0841,"epss_percentile":0.91848},{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTdteDUteDM3Mi14aDg3","url":"https://github.com/advisories/GHSA-7mx5-x372-xh87","title":"Incorrect Session Validation in Apache Airflow","description":"Incorrect Session Validation in Apache Airflow Webserver versions prior to 1.10.14 with default config allows a malicious airflow user on site A where they log in normally, to access unauthorized Airflow Webserver on Site B through the session from Site A. This does not affect users who have changed the default value for `[webserver] secret_key` config.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2021-04-20T16:40:27.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":8.3,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2020-17526","https://lists.apache.org/thread.html/rbeeb73a6c741f2f9200d83b9c2220610da314810c4e8c9cf881d47ef%40%3Cusers.airflow.apache.org%3E","http://www.openwall.com/lists/oss-security/2020/12/21/1","https://lists.apache.org/thread.html/r466759f377651f0a690475d5a52564d0e786e82c08d5a5730a4f8352@%3Cannounce.apache.org%3E","https://github.com/apache/airflow/commit/97b2735d65e95c4633966667b6db3908540f3937","https://github.com/apache/airflow/commit/9e01476a50b9be27c4b1e6c6e24d36f290629195","https://github.com/apache/airflow/commit/dfa7b26ddaca80ee8fd9915ee9f6eac50fac77f6","https://github.com/apache/airflow/commit/fe6d00a54f83468e296777d3b83b65a2ae7169ec","https://github.com/apache/airflow/commit/2f3b1c780472afd4c8a93633e6633feb7083792e","https://github.com/apache/airflow/commit/6b065840323f9a4fc8e372b458d26e419e4fa99b","https://github.com/apache/airflow/commit/a8900fa5f2b8963e9f57ba4ae5520a5d339aeaad","https://github.com/advisories/GHSA-7mx5-x372-xh87","https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2020-22.yaml"],"source_kind":"github","identifiers":["GHSA-7mx5-x372-xh87","CVE-2020-17526"],"repository_url":"https://github.com/apache/airflow","blast_radius":26.489043420058632,"packages":[{"versions":[{"first_patched_version":"1.10.14","vulnerable_version_range":"\u003c 1.10.14"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2022-12-21T16:13:07.992Z","updated_at":"2024-09-11T21:25:19.000Z","epss_percentage":0.90407,"epss_percentile":0.99573},{"uuid":"GSA_kwCzR0hTQS00amgyLTNjODUtcTY3aM0llQ","url":"https://github.com/advisories/GHSA-4jh2-3c85-q67h","title":"Improper Privilege Management in apache-airflow","description":"In Apache Airflow prior to 2.2.0. This CVE applies to a specific case where a User who has \"can_create\" permissions on DAG Runs can create Dag Runs for dags that they don't have \"edit\" permissions for.","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2022-01-28T21:55:34.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":0.0,"cvss_vector":null,"references":["https://nvd.nist.gov/vuln/detail/CVE-2021-45230","https://lists.apache.org/thread/m778ojn0k595rwco4ht9wjql89mjoxnl","https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2022-11.yaml","https://github.com/advisories/GHSA-4jh2-3c85-q67h"],"source_kind":"github","identifiers":["GHSA-4jh2-3c85-q67h","CVE-2021-45230"],"repository_url":null,"blast_radius":0.0,"packages":[{"versions":[{"first_patched_version":"2.2.0","vulnerable_version_range":"\u003c 2.2.0"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2022-12-21T16:12:37.608Z","updated_at":"2024-09-03T21:38:44.000Z","epss_percentage":0.02047,"epss_percentile":0.82783},{"uuid":"GSA_kwCzR0hTQS05cXFnLW1oN2MtY2hmcc4AA2oC","url":"https://github.com/advisories/GHSA-9qqg-mh7c-chfq","title":"Apache Airflow vulnerable to Exposure of Sensitive Information","description":"Exposure of Sensitive Information to an Unauthorized Actor vulnerability in Apache Airflow. This issue affects Apache Airflow from 2.4.0 to 2.7.0.\n\nSensitive configuration information has been exposed to authenticated users with the ability to read configuration via Airflow REST API for configuration even when the expose_config option is set to non-sensitive-only. The expose_config option is False by default. It is recommended to upgrade to a version that is not affected if you set expose_config to non-sensitive-only configuration. This is a different error than CVE-2023-45348 which allows authenticated user to retrieve individual configuration values in 2.7.* by specially crafting their request (solved in 2.7.2).\n\nUsers are recommended to upgrade to version 2.7.2, which fixes the issue and additionally fixes CVE-2023-45348.","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2023-10-23T21:30:58.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":5.3,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2023-46288","https://github.com/apache/airflow/pull/32261","https://lists.apache.org/thread/yw4vzm0c5lqkwm0bxv6qy03yfd1od4nw","https://github.com/apache/airflow/commit/4a525e85e31b26d413c986c86d181114bb37bd06","https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2023-218.yaml","http://www.openwall.com/lists/oss-security/2024/04/17/10","https://github.com/advisories/GHSA-9qqg-mh7c-chfq"],"source_kind":"github","identifiers":["GHSA-9qqg-mh7c-chfq","CVE-2023-46288"],"repository_url":"https://github.com/apache/airflow","blast_radius":16.914690376663945,"packages":[{"versions":[{"first_patched_version":"2.7.2","vulnerable_version_range":"\u003e= 2.4.0, \u003c 2.7.2"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2023-10-24T03:05:48.060Z","updated_at":"2024-09-11T19:38:18.000Z","epss_percentage":0.00259,"epss_percentile":0.49211},{"uuid":"GSA_kwCzR0hTQS1mcHh4LXh2NGMtZ3hxcM4AA2cj","url":"https://github.com/advisories/GHSA-fpxx-xv4c-gxqp","title":"Apache Airflow vulnerable to sensitive information exposure when expose-config is set to non-sensitive-only","description":"Apache Airflow, versions 2.7.0 and 2.7.1, is affected by a vulnerability that allows an authenticated user to retrieve sensitive configuration information when the `expose_config` option is set to `non-sensitive-only`. The `expose_config` option is `False` by default. It is recommended to upgrade to a version that is not affected.","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2023-10-14T12:30:23.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":0.0,"cvss_vector":null,"references":["https://nvd.nist.gov/vuln/detail/CVE-2023-45348","https://github.com/apache/airflow/pull/34712","https://lists.apache.org/thread/sy4l5d6tn58hr8r61r2fkt1f0qock9z9","https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2023-204.yaml","http://www.openwall.com/lists/oss-security/2023/10/23/2","https://github.com/apache/airflow/commit/a4a0b5dd3d0ce05311c70bb9a32b66a650dbc0b4","https://github.com/advisories/GHSA-fpxx-xv4c-gxqp"],"source_kind":"github","identifiers":["GHSA-fpxx-xv4c-gxqp","CVE-2023-45348"],"repository_url":"https://github.com/apache/airflow","blast_radius":0.0,"packages":[{"versions":[{"first_patched_version":"2.7.2","vulnerable_version_range":"\u003e= 2.7.0, \u003c 2.7.2"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2023-10-17T03:05:47.861Z","updated_at":"2024-03-06T23:47:02.000Z","epss_percentage":0.00212,"epss_percentile":0.44115},{"uuid":"GSA_kwCzR0hTQS1qM3c4LTJwMmgtbXJyOc4AA2ci","url":"https://github.com/advisories/GHSA-j3w8-2p2h-mrr9","title":"Apache Airflow vulnerable to privilege escalation","description":"Apache Airflow, in versions prior to 2.7.2, contains a security vulnerability that allows an authenticated user with limited access to some DAGs, to craft a request that could give the user write access to various DAG resources for DAGs that the user had no access to, thus, enabling the user to clear DAGs they shouldn't.\n\nUsers of Apache Airflow are strongly advised to upgrade to version 2.7.2 or newer to mitigate the risk associated with this vulnerability.","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2023-10-14T12:30:23.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":0.0,"cvss_vector":null,"references":["https://nvd.nist.gov/vuln/detail/CVE-2023-42792","https://github.com/apache/airflow/pull/34366","https://lists.apache.org/thread/1spbo9nkn49fc2hnxqm9tf6mgqwp9tjq","http://www.openwall.com/lists/oss-security/2023/12/21/1","https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2023-203.yaml","https://github.com/advisories/GHSA-j3w8-2p2h-mrr9"],"source_kind":"github","identifiers":["GHSA-j3w8-2p2h-mrr9","CVE-2023-42792"],"repository_url":"https://github.com/apache/airflow","blast_radius":0.0,"packages":[{"versions":[{"first_patched_version":"2.7.2","vulnerable_version_range":"\u003c 2.7.2"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2023-10-17T03:05:47.875Z","updated_at":"2024-09-03T21:34:02.000Z","epss_percentage":0.00313,"epss_percentile":0.53899},{"uuid":"GSA_kwCzR0hTQS0zMndyLXFxdzYtNW1mcM4AA2cg","url":"https://github.com/advisories/GHSA-32wr-qqw6-5mfp","title":"Apache Airflow vulnerable to sensitive information exposure","description":"Apache Airflow, versions before 2.7.2, has a vulnerability that allows an authorized user with access to read specific DAGs _only_ to read information about task instances in other DAGs. Users of Apache Airflow are advised to upgrade to version 2.7.2 or newer to mitigate the risk associated with this vulnerability.","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2023-10-14T12:30:23.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":0.0,"cvss_vector":null,"references":["https://nvd.nist.gov/vuln/detail/CVE-2023-42663","https://github.com/apache/airflow/pull/34315","https://lists.apache.org/thread/xj86cvfkxgd0cyqfmz6mh1bsfc61c6o9","https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2023-197.yaml","http://www.openwall.com/lists/oss-security/2023/11/12/2","https://github.com/advisories/GHSA-32wr-qqw6-5mfp"],"source_kind":"github","identifiers":["GHSA-32wr-qqw6-5mfp","CVE-2023-42663"],"repository_url":"https://github.com/apache/airflow","blast_radius":0.0,"packages":[{"versions":[{"first_patched_version":"2.7.2","vulnerable_version_range":"\u003e= 0, \u003c 2.7.2"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2023-10-17T03:05:47.903Z","updated_at":"2025-02-13T19:18:25.000Z","epss_percentage":0.00215,"epss_percentile":0.44344},{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLWhoeDktcDY5di1jeDJq","url":"https://github.com/advisories/GHSA-hhx9-p69v-cx2j","title":"Authentication bypass in Apache Airflow","description":"The previous default setting for Airflow's Experimental API was to allow all API requests without authentication, but this poses security risks to users who miss this fact. From Airflow 1.10.11 the default has been changed to deny all requests by default and is documented at https://airflow.apache.org/docs/1.10.11/security.html#api-authentication. Note this change fixes it for new installs but existing users need to change their config to default `[api]auth_backend = airflow.api.auth.backend.deny_all` as mentioned in the Updating Guide: https://github.com/apache/airflow/blob/1.10.11/UPDATING.md#experimental-api-will-deny-all-request-by-default","origin":"UNSPECIFIED","severity":"CRITICAL","published_at":"2021-04-30T17:34:13.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":9.3,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2020-13927","https://airflow.apache.org/docs/apache-airflow/1.10.11/security.html#api-authentication","https://github.com/apache/airflow/releases/tag/1.10.11","https://lists.apache.org/thread.html/r23a81b247aa346ff193670be565b2b8ea4b17ddbc7a35fc099c1aadd%40%3Cdev.airflow.apache.org%3E","http://packetstormsecurity.com/files/162908/Apache-Airflow-1.10.10-Remote-Code-Execution.html","http://packetstormsecurity.com/files/174764/Apache-Airflow-1.10.10-Remote-Code-Execution.html","https://github.com/apache/airflow/commit/180bca4f993b7b778a8d2c65d3d357652218922b","https://github.com/apache/airflow/commit/9e305d6b810a2a21e2591a80a80ec41acb3afed0","https://github.com/apache/airflow/pull/9611","https://github.com/advisories/GHSA-hhx9-p69v-cx2j","https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2020-18.yaml"],"source_kind":"github","identifiers":["GHSA-hhx9-p69v-cx2j","CVE-2020-13927"],"repository_url":"https://github.com/apache/airflow","blast_radius":29.680494434523528,"packages":[{"versions":[{"first_patched_version":"1.10.11","vulnerable_version_range":"\u003c 1.10.11"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2022-12-21T16:13:06.780Z","updated_at":"2024-09-11T16:57:40.000Z","epss_percentage":0.941,"epss_percentile":0.99892},{"uuid":"GSA_kwCzR0hTQS1oNjNyLTl4eGYtZjJjN84AAvr2","url":"https://github.com/advisories/GHSA-h63r-9xxf-f2c7","title":"Apache Airflow Cross-site Scripting vulnerability","description":"In Apache Airflow versions prior to 2.4.2, the \"Trigger DAG with config\" screen was susceptible to XSS attacks via the `origin` query argument.","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2022-11-02T19:00:33.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":5.3,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2022-43982","https://github.com/apache/airflow/pull/27143","https://lists.apache.org/thread/vqnvdrfsw9z7v7c46qh3psjgr7wy959l","https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2022-42970.yaml","https://github.com/apache/airflow/commit/9fb4814d29d934cef3b02fb3b2547f9fb76aaa97","https://github.com/advisories/GHSA-h63r-9xxf-f2c7"],"source_kind":"github","identifiers":["GHSA-h63r-9xxf-f2c7","CVE-2022-43982"],"repository_url":"https://github.com/apache/airflow","blast_radius":16.914690376663945,"packages":[{"versions":[{"first_patched_version":"2.4.2rc1","vulnerable_version_range":"\u003c 2.4.2rc1"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2022-12-21T16:11:53.353Z","updated_at":"2024-09-11T19:49:45.000Z","epss_percentage":0.00843,"epss_percentile":0.73651},{"uuid":"GSA_kwCzR0hTQS1oNTc0LTY2NDYtdmZ4eM4AA6AB","url":"https://github.com/advisories/GHSA-h574-6646-vfxx","title":"Apache Airflow: Ignored Airflow Permission","description":"Apache Airflow, versions 2.8.0 through 2.8.2, has a vulnerability that allows an authenticated user with limited permissions to access resources such as variables, connections, etc from the UI which they do not have permission to access. \n\nUsers of Apache Airflow are recommended to upgrade to version 2.8.3 or newer to mitigate the risk associated with this vulnerability\n","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2024-03-14T09:31:05.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":0.0,"cvss_vector":null,"references":["https://nvd.nist.gov/vuln/detail/CVE-2024-28746","https://github.com/apache/airflow/pull/37881","https://lists.apache.org/thread/b4pffc7w7do6qgk4jjbyxvdz5odrvny7","https://github.com/apache/airflow/commit/89e7f3e7bdf2126bbbcd959dc10d65ef92773cca","https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2024-46.yaml","http://www.openwall.com/lists/oss-security/2024/03/13/5","https://github.com/advisories/GHSA-h574-6646-vfxx"],"source_kind":"github","identifiers":["GHSA-h574-6646-vfxx","CVE-2024-28746"],"repository_url":"https://github.com/apache/airflow","blast_radius":0.0,"packages":[{"versions":[{"first_patched_version":"2.8.3rc1","vulnerable_version_range":"\u003e= 2.8.0, \u003c 2.8.3rc1"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2024-03-21T20:04:43.217Z","updated_at":"2024-05-02T19:01:56.000Z","epss_percentage":0.00051,"epss_percentile":0.16026},{"uuid":"GSA_kwCzR0hTQS02NXh3LXBjcXctaGpyaM0vEA","url":"https://github.com/advisories/GHSA-65xw-pcqw-hjrh","title":"Apache Airflow Cross-site Scripting Vulnerability","description":"It was discovered that the \"Trigger DAG with config\" screen was susceptible to XSS attacks via the `origin` query argument. This issue affects Apache Airflow versions 2.2.3 and below.","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2022-02-26T00:00:45.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":5.3,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2021-45229","https://lists.apache.org/thread/phx76cgtmhwwdy780rvwhobx8qoy4bnk","https://github.com/apache/airflow/commit/628aa1f99c865d97d0b1c7c76e630e43a7b8d319","https://github.com/advisories/GHSA-65xw-pcqw-hjrh","https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2022-29.yaml"],"source_kind":"github","identifiers":["GHSA-65xw-pcqw-hjrh","CVE-2021-45229"],"repository_url":"https://github.com/apache/airflow","blast_radius":16.914690376663945,"packages":[{"versions":[{"first_patched_version":"2.2.4rc1","vulnerable_version_range":"\u003e= 0, \u003c 2.2.4rc1"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2022-12-21T16:12:34.827Z","updated_at":"2024-09-12T19:18:01.000Z","epss_percentage":0.04716,"epss_percentile":0.88817},{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLWozOGMtMjVmai1tcjg0","url":"https://github.com/advisories/GHSA-j38c-25fj-mr84","title":"Stored XSS in Apache Airflow","description":"An issue was found in Apache Airflow versions 1.10.10 and below. A stored XSS vulnerability was discovered in the Chart pages of the the \"classic\" UI.","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2020-07-27T16:57:34.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":5.3,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2020-9485","https://lists.apache.org/thread.html/r7255cf0be3566f23a768e2a04b40fb09e52fcd1872695428ba9afe91%40%3Cusers.airflow.apache.org%3E","https://github.com/advisories/GHSA-j38c-25fj-mr84","https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2020-23.yaml"],"source_kind":"github","identifiers":["GHSA-j38c-25fj-mr84","CVE-2020-9485"],"repository_url":null,"blast_radius":16.914690376663945,"packages":[{"versions":[{"first_patched_version":"1.10.11","vulnerable_version_range":"\u003c 1.10.11"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2022-12-21T16:13:23.436Z","updated_at":"2024-09-11T21:12:52.000Z","epss_percentage":0.02134,"epss_percentile":0.82638},{"uuid":"GSA_kwCzR0hTQS14dnc5LTNtaG0teGpxcc4AA0pJ","url":"https://github.com/advisories/GHSA-xvw9-3mhm-xjqq","title":"Apache Airflow information disclosure vulnerability","description":"Apache Airflow, versions before 2.6.3, is affected by a vulnerability that allows an unauthorized actor to gain access to sensitive information in Connection edit view. This vulnerability is considered low since it requires someone with access to Connection resources specifically updating the connection to exploit it. Users should upgrade to version 2.6.3 or later which has removed the vulnerability.\n","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2023-07-12T12:31:35.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":7.1,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2022-46651","https://github.com/apache/airflow/pull/32309","https://lists.apache.org/thread/n45h3y82og125rnlgt6rbm9szfb6q24d","https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2023-103.yaml","https://github.com/apache/airflow/commit/d01248382fe45a5f5a7fdeed4082a80c5f814ad8","https://github.com/advisories/GHSA-xvw9-3mhm-xjqq"],"source_kind":"github","identifiers":["GHSA-xvw9-3mhm-xjqq","CVE-2022-46651"],"repository_url":"https://github.com/apache/airflow","blast_radius":22.659302202700754,"packages":[{"versions":[{"first_patched_version":"2.6.3","vulnerable_version_range":"\u003c 2.6.3"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2023-07-12T18:04:03.937Z","updated_at":"2024-11-18T16:26:31.000Z","epss_percentage":0.00109,"epss_percentile":0.30469},{"uuid":"GSA_kwCzR0hTQS01ZmY4LTc2MzktNnY2Z84AAum7","url":"https://github.com/advisories/GHSA-5ff8-7639-6v6g","title":"Apache Airflow Session Fixation vulnerability","description":"In Apache Airflow versions 2.2.4 through 2.3.3, the `database` webserver session backend was susceptible to session fixation.","origin":"UNSPECIFIED","severity":"CRITICAL","published_at":"2022-09-03T00:00:25.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":9.3,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2022-38054","https://lists.apache.org/thread/rsd3h89xdp16rg0ltovx3m7q3ypkxsbb","http://www.openwall.com/lists/oss-security/2022/09/02/1","https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2022-263.yaml","https://github.com/advisories/GHSA-5ff8-7639-6v6g"],"source_kind":"github","identifiers":["GHSA-5ff8-7639-6v6g","CVE-2022-38054"],"repository_url":null,"blast_radius":29.680494434523528,"packages":[{"versions":[{"first_patched_version":"2.3.4rc1","vulnerable_version_range":"\u003e= 2.2.4, \u003c 2.3.4rc1"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2022-12-21T16:11:59.362Z","updated_at":"2024-09-11T20:06:22.000Z","epss_percentage":0.00619,"epss_percentile":0.68905},{"uuid":"GSA_kwCzR0hTQS0zcThyLWYzcGotM2djNM4AAvNL","url":"https://github.com/advisories/GHSA-3q8r-f3pj-3gc4","title":"Apache Airflow may allow authenticated users who have been deactivated to continue using the UI or API","description":"In Apache Airflow, prior to version 2.4.1, deactivating a user wouldn't prevent an already authenticated user from being able to continue using the UI or API.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2022-10-07T18:16:01.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":8.6,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2022-41672","https://github.com/apache/airflow/pull/26635","https://lists.apache.org/thread/ohf3pvd3dftb8zb01yngbn1jtkq5m08y","https://github.com/apache/airflow/commit/12bfb571a895a28a58d3189b0fc10cfc1b89e24c","https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2022-42983.yaml","https://github.com/advisories/GHSA-3q8r-f3pj-3gc4"],"source_kind":"github","identifiers":["GHSA-3q8r-f3pj-3gc4","CVE-2022-41672"],"repository_url":"https://github.com/apache/airflow","blast_radius":27.446478724398098,"packages":[{"versions":[{"first_patched_version":"2.4.1rc1","vulnerable_version_range":"\u003c 2.4.1rc1"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2022-12-21T16:11:55.744Z","updated_at":"2024-09-11T18:26:18.000Z","epss_percentage":0.00221,"epss_percentile":0.44884},{"uuid":"GSA_kwCzR0hTQS1qNDgyLTQ3eGYtcDI1Y84AA9-G","url":"https://github.com/advisories/GHSA-j482-47xf-p25c","title":"Apache Airflow Potential Cross-site Scripting Vulnerability","description":"Apache Airflow versions before 2.9.3 have a vulnerability that allows an authenticated attacker to inject a malicious link when installing a provider. Users are recommended to upgrade to version 2.9.3, which fixes this issue.\n","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2024-07-17T09:30:48.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":5.1,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2024-39863","https://github.com/apache/airflow/pull/40475","https://lists.apache.org/thread/gxkvs279f1mbvckv5q65worr6how20o3","https://github.com/apache/airflow/commit/f18f48492dc69f392e45567580b6ddb0c070ea58","https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2024-189.yaml","http://www.openwall.com/lists/oss-security/2024/07/16/6","https://github.com/advisories/GHSA-j482-47xf-p25c"],"source_kind":"github","identifiers":["GHSA-j482-47xf-p25c","CVE-2024-39863"],"repository_url":"https://github.com/apache/airflow","blast_radius":16.276400173770966,"packages":[{"versions":[{"first_patched_version":"2.9.3","vulnerable_version_range":"\u003c 2.9.3"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2024-07-17T18:05:53.006Z","updated_at":"2025-06-11T01:09:53.496Z","epss_percentage":0.0019,"epss_percentile":0.41502},{"uuid":"GSA_kwCzR0hTQS1jNzMyLXh2djgtZzk0Y84AAxHL","url":"https://github.com/advisories/GHSA-c732-xvv8-g94c","title":"Command Injection in Apache Airflow and Apache Airflow MySQL Provider","description":"Improper Neutralization of Special Elements used in a Command ('Command Injection') vulnerability in Apache Software Foundation Apache Airflow, Apache Software Foundation Apache Airflow MySQL Provider.This issue affects Apache Airflow: before 2.5.1; Apache Airflow MySQL Provider: before 4.0.0.","origin":"UNSPECIFIED","severity":"CRITICAL","published_at":"2023-01-21T15:30:18.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":0.0,"cvss_vector":null,"references":["https://nvd.nist.gov/vuln/detail/CVE-2023-22884","https://github.com/apache/airflow/pull/28811","https://lists.apache.org/thread/0l0j3nt0t7fzrcjl2ch0jgj6c58kxs5h","https://github.com/advisories/GHSA-c732-xvv8-g94c"],"source_kind":"github","identifiers":["GHSA-c732-xvv8-g94c","CVE-2023-22884"],"repository_url":"https://github.com/apache/airflow","blast_radius":0.0,"packages":[{"versions":[{"first_patched_version":"4.0.0","vulnerable_version_range":"\u003c 4.0.0"}],"ecosystem":"pypi","package_name":"apache-airflow-providers-mysql"},{"versions":[{"first_patched_version":"2.5.1","vulnerable_version_range":"\u003c 2.5.1"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2023-01-31T06:03:08.622Z","updated_at":"2023-02-01T09:17:23.000Z","epss_percentage":0.6394,"epss_percentile":0.98288},{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTZyM3AtZmN2bS14aDdj","url":"https://github.com/advisories/GHSA-6r3p-fcvm-xh7c","title":"SSRF vulnerability in Apache Airflow","description":"In Apache Airflow versions prior to 1.10.13, the Charts and Query View of the old (Flask-admin based) UI were vulnerable for SSRF attack.","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2020-12-17T21:00:58.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":6.9,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2020-17513","https://lists.apache.org/thread.html/rb3647269f07cc2775ca6568cbfd4994d862c842a58120d2aba9c658a%40%3Cusers.airflow.apache.org%3E","https://github.com/apache/airflow/commit/b606b871226d649913a37fd074eeae5d86ebc3a1","https://github.com/advisories/GHSA-6r3p-fcvm-xh7c","https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2020-20.yaml"],"source_kind":"github","identifiers":["GHSA-6r3p-fcvm-xh7c","CVE-2020-17513"],"repository_url":"https://github.com/apache/airflow","blast_radius":22.02101199980778,"packages":[{"versions":[{"first_patched_version":"1.10.13","vulnerable_version_range":"\u003c 1.10.13"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2022-12-21T16:13:12.491Z","updated_at":"2024-09-11T21:08:14.000Z","epss_percentage":0.01226,"epss_percentile":0.7815},{"uuid":"GSA_kwCzR0hTQS01OTM4LTc5aGcteGgzcc4AA39c","url":"https://github.com/advisories/GHSA-5938-79hg-xh3q","title":"Apache Airflow Improper Access Control vulnerability","description":"Apache Airflow, versions before 2.8.0, is affected by a vulnerability that allows an authenticated user without the variable edit permission, to update a variable.\nThis flaw compromises the integrity of variable management, potentially leading to unauthorized data modification.\nUsers are recommended to upgrade to 2.8.0, which fixes this issue.","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2023-12-21T12:30:28.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":0.0,"cvss_vector":null,"references":["https://nvd.nist.gov/vuln/detail/CVE-2023-50783","https://github.com/apache/airflow/pull/33932","https://lists.apache.org/thread/rs7cr3yp726mb89s1m844hy9pq7frgcn","https://github.com/apache/airflow/commit/0e1c106d7cd0703125528a691088e42e17c99929","http://www.openwall.com/lists/oss-security/2023/12/21/4","https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2023-267.yaml","https://github.com/advisories/GHSA-5938-79hg-xh3q"],"source_kind":"github","identifiers":["GHSA-5938-79hg-xh3q","CVE-2023-50783"],"repository_url":"https://github.com/apache/airflow","blast_radius":0.0,"packages":[{"versions":[{"first_patched_version":"2.8.0","vulnerable_version_range":"\u003c 2.8.0"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2023-12-21T19:05:58.967Z","updated_at":"2024-11-21T21:36:42.000Z","epss_percentage":0.00031,"epss_percentile":0.07311},{"uuid":"GSA_kwCzR0hTQS0yaDg0LTNjcnEtdmdmas4AA0pT","url":"https://github.com/advisories/GHSA-2h84-3crq-vgfj","title":"Apache Airflow Incorrect Authorization vulnerability","description":"Apache Airflow, versions before 2.6.3, is affected by a vulnerability that allows unauthorized read access to a DAG through the URL. It is recommended to upgrade to a version that is not affected","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2023-07-12T12:31:36.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":7.1,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2023-35908","https://github.com/apache/airflow/pull/32014","https://lists.apache.org/thread/vsflptk5dt30vrfggn96nx87d7zr6yvw","https://github.com/apache/airflow/commit/ac65b82eeeeaa670e09a83c7da65cbac7e89f8db","https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2023-119.yaml","https://github.com/apache/airflow/commit/c78e16588ee399f6eaf60425eb1ad7fa6d3fe352","https://github.com/advisories/GHSA-2h84-3crq-vgfj"],"source_kind":"github","identifiers":["GHSA-2h84-3crq-vgfj","CVE-2023-35908"],"repository_url":"https://github.com/apache/airflow","blast_radius":22.659302202700754,"packages":[{"versions":[{"first_patched_version":"2.6.3","vulnerable_version_range":"\u003c 2.6.3"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2023-07-12T18:04:03.878Z","updated_at":"2024-11-18T16:26:31.000Z","epss_percentage":0.00138,"epss_percentile":0.34972},{"uuid":"GSA_kwCzR0hTQS13cGc4LW1mNmgtZ205Ms4AA11i","url":"https://github.com/advisories/GHSA-wpg8-mf6h-gm92","title":"Apache Airflow Incorrect Authorization vulnerability","description":"Apache Airflow, versions before 2.7.1, is affected by a vulnerability that allows authenticated and DAG-view authorized Users to modify some DAG run detail values when submitting notes. This could have them alter details such as configuration parameters, start date, etc.\n\nUsers should upgrade to version 2.7.1 or later which has removed the vulnerability.","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2023-09-12T18:58:34.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":5.3,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2023-40611","https://github.com/apache/airflow/pull/33413","https://github.com/apache/airflow/commit/b7a46c970d638028a4a7643ad000dcee951fb9ef","https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2023-170.yaml","https://lists.apache.org/thread/8y9xk1s3j4qr36yzqn8ogbn9fl7pxrn0","http://www.openwall.com/lists/oss-security/2023/11/12/1","https://github.com/apache/airflow/commit/2a0106e4edf67c5905ebfcb82a6008662ae0f7ad","https://github.com/advisories/GHSA-wpg8-mf6h-gm92"],"source_kind":"github","identifiers":["GHSA-wpg8-mf6h-gm92","CVE-2023-40611"],"repository_url":"https://github.com/apache/airflow","blast_radius":16.914690376663945,"packages":[{"versions":[{"first_patched_version":"2.7.1","vulnerable_version_range":"\u003e= 0, \u003c 2.7.1"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2023-09-12T19:06:05.122Z","updated_at":"2025-02-13T19:11:47.000Z","epss_percentage":0.00092,"epss_percentile":0.273},{"uuid":"GSA_kwCzR0hTQS01ZjM1LXBxMzQtYzg3cc4AA1eK","url":"https://github.com/advisories/GHSA-5f35-pq34-c87q","title":"Apache Airflow missing Certificate Validation","description":"Apache Airflow SMTP Provider before 1.3.0, Apache Airflow IMAP Provider before 3.3.0, and Apache Airflow before 2.7.0 are affected by the Validation of OpenSSL Certificate vulnerability.\n\nThe default SSL context with SSL library did not check a server's X.509 certificate.  Instead, the code accepted any certificate, which could result in the disclosure of mail server credentials or mail contents when the client connects to an attacker in a MITM position.\n\nUsers are strongly advised to upgrade to Apache Airflow version 2.7.0 or newer, Apache Airflow IMAP Provider version 3.3.0 or newer, and Apache Airflow SMTP Provider version 1.3.0 or newer to mitigate the risk associated with this vulnerability","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2023-08-23T18:30:34.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":0.0,"cvss_vector":null,"references":["https://nvd.nist.gov/vuln/detail/CVE-2023-39441","https://github.com/apache/airflow/pull/33070","https://github.com/apache/airflow/pull/33075","https://github.com/apache/airflow/pull/33108","https://lists.apache.org/thread/xzp4wgjg2b1o6ylk2595df8bstlbo1lb","http://www.openwall.com/lists/oss-security/2023/08/23/2","https://github.com/apache/airflow/commit/38fc9cd823feafd8ec61d5d5c7eddb9e9162f755","https://github.com/apache/airflow/commit/3bd8f020e8b7bdeb7f618bdbdfb3557f117b29d3","https://github.com/apache/airflow/commit/dbacacbd4d476da757de148a4e747924c34fd7fe","https://github.com/advisories/GHSA-5f35-pq34-c87q"],"source_kind":"github","identifiers":["GHSA-5f35-pq34-c87q","CVE-2023-39441"],"repository_url":"https://github.com/apache/airflow","blast_radius":0.0,"packages":[{"versions":[{"first_patched_version":"2.7.0","vulnerable_version_range":"\u003c 2.7.0"}],"ecosystem":"pypi","package_name":"apache-airflow"},{"versions":[{"first_patched_version":"3.3.0","vulnerable_version_range":"\u003c 3.3.0"}],"ecosystem":"pypi","package_name":"apache-airflow-providers-imap"},{"versions":[{"first_patched_version":"1.3.0","vulnerable_version_range":"\u003c 1.3.0"}],"ecosystem":"pypi","package_name":"apache-airflow-providers-smtp"}],"created_at":"2023-08-24T13:05:31.216Z","updated_at":"2024-03-06T23:29:25.000Z","epss_percentage":0.0024,"epss_percentile":0.47403},{"uuid":"GSA_kwCzR0hTQS1oNmc1LXdxcXItM213M84AAyIE","url":"https://github.com/advisories/GHSA-h6g5-wqqr-3mw3","title":"Sensitive Information in Error Messages in Apache Airflow","description":"Generation of Error Message Containing Sensitive Information vulnerability in Apache Software Foundation Apache Airflow.This issue affects Apache Airflow: before 2.5.2. The traceback contains information that might be useful for a potential attacker to better target their attack (Python/Airflow version, node name). This information should not be shown if traceback is shown to unauthenticated user.","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2023-03-15T12:30:19.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":6.9,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2023-25695","https://github.com/apache/airflow/pull/29501","https://lists.apache.org/thread/z8w6ckzs61ql365tv4d19k82o67r15p2","https://github.com/apache/airflow/commit/965e76d9ed00ef354a834739ac46f24068630951","https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2023-2.yaml","https://github.com/advisories/GHSA-h6g5-wqqr-3mw3"],"source_kind":"github","identifiers":["GHSA-h6g5-wqqr-3mw3","CVE-2023-25695"],"repository_url":"https://github.com/apache/airflow","blast_radius":22.02101199980778,"packages":[{"versions":[{"first_patched_version":"2.5.2rc1","vulnerable_version_range":"\u003c 2.5.2rc1"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2023-03-16T15:03:13.969Z","updated_at":"2024-09-11T20:02:37.000Z","epss_percentage":0.00307,"epss_percentile":0.5335},{"uuid":"GSA_kwCzR0hTQS1nZ3dyLTR2cjgtZzd3ds4AA0pO","url":"https://github.com/advisories/GHSA-ggwr-4vr8-g7wv","title":"Apache Airflow Path Traversal vulnerability","description":"Apache Airflow, versions before 2.6.3, is affected by a vulnerability that allows an attacker to perform unauthorized file access outside the intended directory structure by manipulating the run_id parameter. This vulnerability is considered low since it requires an authenticated user to exploit it. It is recommended to upgrade to a version that is not affected","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2023-07-12T12:31:36.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":7.1,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2023-22887","https://github.com/apache/airflow/pull/32293","https://lists.apache.org/thread/rxddqs76r6rkxsg1n24d029zys67qwwo","https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2023-104.yaml","https://github.com/apache/airflow/commit/05bd90f563649f2e9c8f0c85cf5838315a665a02","https://github.com/apache/airflow/commit/8ff7dfbd9e76aa40b04adeb231df3820606f5ba3","https://github.com/advisories/GHSA-ggwr-4vr8-g7wv"],"source_kind":"github","identifiers":["GHSA-ggwr-4vr8-g7wv","CVE-2023-22887"],"repository_url":"https://github.com/apache/airflow","blast_radius":22.659302202700754,"packages":[{"versions":[{"first_patched_version":"2.6.3","vulnerable_version_range":"\u003c 2.6.3"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2023-07-12T18:04:03.825Z","updated_at":"2024-11-18T16:26:31.000Z","epss_percentage":0.00413,"epss_percentile":0.6059},{"uuid":"GSA_kwCzR0hTQS1wbTg3LTI0d3Etcjh3Oc4AA1eM","url":"https://github.com/advisories/GHSA-pm87-24wq-r8w9","title":"Apache Airflow Session Fixation vulnerability","description":"The session fixation vulnerability allowed the authenticated user to continue accessing Airflow webserver even after the password of the user has been reset by the admin - up until the expiry of the session of the user. Other than manually cleaning the session database (for database session backend), or changing the secure_key and restarting the webserver, there were no mechanisms to force-logout the user (and all other users with that).\n\nWith this fix implemented, when using the database session backend, the existing sessions of the user are invalidated when the password of the user is reset. When using the securecookie session backend, the sessions are NOT invalidated and still require changing the secure key and restarting the webserver (and logging out all other users), but the user resetting the password is informed about it with a flash message warning displayed in the UI. Documentation is also updated explaining this behaviour.\n\nUsers of Apache Airflow are advised to upgrade to version 2.7.0 or newer to mitigate the risk associated with this vulnerability.\n","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2023-08-23T18:30:34.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":8.6,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2023-40273","https://github.com/apache/airflow/pull/33347","https://lists.apache.org/thread/9rdmv8ln4y4ncbyrlmjrsj903x4l80nj","https://github.com/apache/airflow/commit/2caa186935151683076b74357daad83d2538a3f6","https://www.openwall.com/lists/oss-security/2023/08/23/1","https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2023-158.yaml","https://github.com/apache/airflow/commit/f5d8201ea7935d17cecaf25fc90d4ef0ccdd627b","https://github.com/advisories/GHSA-pm87-24wq-r8w9"],"source_kind":"github","identifiers":["GHSA-pm87-24wq-r8w9","CVE-2023-40273"],"repository_url":"https://github.com/apache/airflow","blast_radius":27.446478724398098,"packages":[{"versions":[{"first_patched_version":"2.7.0rc2","vulnerable_version_range":"\u003c 2.7.0rc2"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2023-08-23T21:05:33.266Z","updated_at":"2024-09-11T20:05:40.000Z","epss_percentage":0.00256,"epss_percentile":0.4894},{"uuid":"GSA_kwCzR0hTQS0yNjl4LXBnNWMtNXhnbc4AA1D-","url":"https://github.com/advisories/GHSA-269x-pg5c-5xgm","title":"Apache Airflow Execution with Unnecessary Privileges","description":"Execution with Unnecessary Privileges, : Exposure of Sensitive Information to an Unauthorized Actor vulnerability in Apache Software Foundation Apache Airflow.The \"Run Task\" feature enables authenticated user to bypass some of the restrictions put in place. It allows to execute code in the webserver context as well as allows to bypas limitation of access the user has to certain DAGs. The \"Run Task\" feature is considered dangerous and it has been removed entirely in Airflow 2.6.0.\n\nThis issue affects Apache Airflow: before 2.6.0.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2023-08-05T09:30:16.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":8.7,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2023-39508","https://github.com/apache/airflow/pull/29706","https://lists.apache.org/thread/j2nkjd0zqvtqk85s6ywpx3c35pvzyx15","https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2023-134.yaml","https://github.com/apache/airflow/commit/101d59c4b88ab979d305b8d96f612c27c8a44aa8","http://seclists.org/fulldisclosure/2023/Jul/43","https://github.com/advisories/GHSA-269x-pg5c-5xgm"],"source_kind":"github","identifiers":["GHSA-269x-pg5c-5xgm","CVE-2023-39508"],"repository_url":"https://github.com/apache/airflow","blast_radius":27.765623825844585,"packages":[{"versions":[{"first_patched_version":"2.6.0b1","vulnerable_version_range":"\u003c 2.6.0b1"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2023-08-09T15:05:38.123Z","updated_at":"2025-02-13T19:10:17.000Z","epss_percentage":0.00413,"epss_percentile":0.60565},{"uuid":"GSA_kwCzR0hTQS02eHdmLXh2ZjMtdjQ1Oc4AA5rU","url":"https://github.com/advisories/GHSA-6xwf-xvf3-v459","title":"Apache Airflow: Incorrect Default Permissions in audit logs for Ops and Viewers users","description":"Apache Airflow, versions before 2.8.2, has a vulnerability that allows authenticated Ops and Viewers users to view all information on audit logs, including dag names and usernames they were not permitted to view. With 2.8.2 and newer, Ops and Viewer users do not have audit log permission by default, they need to be explicitly granted permissions to see the logs. Only admin users have audit log permission by default.\n\nUsers of Apache Airflow are recommended to upgrade to version 2.8.2 or newer to mitigate the risk associated with this vulnerability","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2024-03-01T12:30:53.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":5.1,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2024-26280","https://github.com/apache/airflow/pull/37501","https://lists.apache.org/thread/knskxxxml95091rsnpxkpo1jjp8rj0fh","https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2024-42.yaml","https://github.com/apache/airflow/commit/1a96407cd2d76616c1137de288f092d4f3b097fa","https://github.com/apache/airflow/commit/7f10998c17ab9d725bc8671deb4c12d672bfba99","https://github.com/apache/airflow/commit/8324c87e05741e5a673c43b315619a3788bacc2e","https://github.com/apache/airflow/commit/8463ee4f25114a6c5fb2408d6026afe94bdf106d","https://github.com/apache/airflow/commit/f2ea8a3e1753012bfe0d529c9c8be66cf55ca28f","https://github.com/apache/airflow/commit/f4b9cc74976b7df1acbc3c63471b5751b3e2c40c","http://www.openwall.com/lists/oss-security/2024/03/01/1","https://github.com/advisories/GHSA-6xwf-xvf3-v459"],"source_kind":"github","identifiers":["GHSA-6xwf-xvf3-v459","CVE-2024-26280"],"repository_url":"https://github.com/apache/airflow","blast_radius":16.276400173770966,"packages":[{"versions":[{"first_patched_version":"2.8.2","vulnerable_version_range":"\u003c 2.8.2"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2024-03-01T22:04:33.501Z","updated_at":"2024-11-01T21:32:53.000Z","epss_percentage":0.00098,"epss_percentile":0.28395},{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLWZmdzMtNm1wNi1qbXZq","url":"https://github.com/advisories/GHSA-ffw3-6mp6-jmvj","title":"Improper Access Control in Apache Airflow","description":"Improper Access Control on Configurations Endpoint for the Stable API of Apache Airflow allows users with Viewer or User role to get Airflow Configurations including sensitive information even when `[webserver] expose_config` is set to `False` in `airflow.cfg`. This allowed a privilege escalation attack. This issue affects Apache Airflow 2.0.0.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2021-04-07T21:05:57.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":7.1,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2021-26559","https://github.com/apache/airflow/blob/486b76438c0679682cf98cb88ed39c4b161cbcc8/CHANGELOG.txt","https://lists.apache.org/thread.html/r3b3787700279ec361308cbefb7c2cce2acb26891a12ce864e4a13c8d%40%3Cusers.airflow.apache.org%3E","https://lists.apache.org/thread.html/rd142565996d7ee847b9c14b8a9921dcf80bc6bc160e3d9dca6dfc2f8@%3Cannounce.apache.org%3E","http://www.openwall.com/lists/oss-security/2021/02/17/1","https://github.com/apache/airflow/commit/3909232fafd09ac72b49010ecdfd6ea48f06d5cf","https://github.com/apache/airflow/commit/5e35926c7eda0dfa11a9623e4bf5f60c2bd6b3f6","https://github.com/advisories/GHSA-ffw3-6mp6-jmvj","https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2021-2.yaml"],"source_kind":"github","identifiers":["GHSA-ffw3-6mp6-jmvj","CVE-2021-26559"],"repository_url":"https://github.com/apache/airflow","blast_radius":22.659302202700754,"packages":[{"versions":[{"first_patched_version":"2.0.1rc1","vulnerable_version_range":"= 2.0.0"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2022-12-21T16:13:08.831Z","updated_at":"2024-11-18T16:26:11.000Z","epss_percentage":0.00297,"epss_percentile":0.52626},{"uuid":"GSA_kwCzR0hTQS02bTlyLTd3cngteG1yNs4AA39d","url":"https://github.com/advisories/GHSA-6m9r-7wrx-xmr6","title":"Apache Airflow Cross-Site Request Forgery vulnerability","description":"Apache Airflow, version 2.7.0 through 2.7.3, has a vulnerability that allows an attacker to trigger a DAG in a GET request without CSRF validation. As a result, it was possible for a malicious website opened in the same browser - by the user who also had Airflow UI opened - to trigger the execution of DAGs without the user's consent.\nUsers are advised to upgrade to version 2.8.0 or later which is not affected","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2023-12-21T12:30:28.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":0.0,"cvss_vector":null,"references":["https://nvd.nist.gov/vuln/detail/CVE-2023-49920","https://github.com/apache/airflow/pull/36026","https://lists.apache.org/thread/mnwd2vcfw3gms6ft6kl951vfbqrxsnjq","https://github.com/apache/airflow/commit/f5d802791fa5f6b13b635f06a1ea2eccc22a9ba7","http://www.openwall.com/lists/oss-security/2023/12/21/3","https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2023-266.yaml","https://github.com/advisories/GHSA-6m9r-7wrx-xmr6"],"source_kind":"github","identifiers":["GHSA-6m9r-7wrx-xmr6","CVE-2023-49920"],"repository_url":"https://github.com/apache/airflow","blast_radius":0.0,"packages":[{"versions":[{"first_patched_version":"2.8.0","vulnerable_version_range":"\u003e= 2.7.0, \u003c 2.8.0"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2023-12-21T19:05:58.954Z","updated_at":"2024-11-21T21:36:17.000Z","epss_percentage":0.0017,"epss_percentile":0.39171},{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLWZoMzctY3g4My1xNTQy","url":"https://github.com/advisories/GHSA-fh37-cx83-q542","title":"Improper Authentication in Apache Airflow","description":"The lineage endpoint of the deprecated Experimental API was not protected by authentication in Airflow 2.0.0. This allowed unauthenticated users to hit that endpoint. This is low-severity issue as the attacker needs to be aware of certain parameters to pass to that endpoint and even after can just get some metadata about a DAG and a Task. This issue only affects Apache Airflow 2.0.0.","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2021-06-18T18:30:11.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":6.9,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2021-26697","https://github.com/apache/airflow/commit/21cedff205e7d62675949fda2aa4616d77232b76","https://lists.apache.org/thread.html/r36111262a59219a3e2704c71e97cf84937dae5ba7a1da99499e5d8f9@%3Cannounce.apache.org%3E","https://lists.apache.org/thread.html/re21fec81baea7a6d73b0b5d31efd07cc02c61f832e297f65bb19b519%40%3Cusers.airflow.apache.org%3E","https://lists.apache.org/thread.html/re21fec81baea7a6d73b0b5d31efd07cc02c61f832e297f65bb19b519@%3Cdev.airflow.apache.org%3E","https://lists.apache.org/thread.html/re21fec81baea7a6d73b0b5d31efd07cc02c61f832e297f65bb19b519@%3Cusers.airflow.apache.org%3E","http://www.openwall.com/lists/oss-security/2021/02/17/2","https://github.com/apache/airflow/commit/24a54242d56058846c7978130b3f37ca045d5142","https://github.com/apache/airflow/commit/93957e917ff4cfb0be11aef088bd9527cf728a04","https://github.com/advisories/GHSA-fh37-cx83-q542","https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2021-3.yaml"],"source_kind":"github","identifiers":["GHSA-fh37-cx83-q542","CVE-2021-26697"],"repository_url":"https://github.com/apache/airflow","blast_radius":22.02101199980778,"packages":[{"versions":[{"first_patched_version":"2.0.1rc1","vulnerable_version_range":"= 2.0.0"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2022-12-21T16:13:04.647Z","updated_at":"2024-09-12T20:10:22.000Z","epss_percentage":0.02431,"epss_percentile":0.83716},{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLXE0cDMtcXc1Yy1taHBj","url":"https://github.com/advisories/GHSA-q4p3-qw5c-mhpc","title":"Multiple stored XSS in RBAC Admin screens in Apache Airflow","description":"An issue was found in Apache Airflow versions 1.10.10 and below. It was discovered that many of the admin management screens in the new/RBAC UI handled escaping incorrectly, allowing authenticated users with appropriate permissions to create stored XSS attacks.","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2020-07-27T16:57:25.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":5.1,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2020-11983","https://lists.apache.org/thread.html/r7255cf0be3566f23a768e2a04b40fb09e52fcd1872695428ba9afe91%40%3Cusers.airflow.apache.org%3E","https://github.com/advisories/GHSA-q4p3-qw5c-mhpc","https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2020-17.yaml"],"source_kind":"github","identifiers":["GHSA-q4p3-qw5c-mhpc","CVE-2020-11983"],"repository_url":null,"blast_radius":16.276400173770966,"packages":[{"versions":[{"first_patched_version":"1.10.11","vulnerable_version_range":"\u003c 1.10.11"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2022-12-21T16:13:23.445Z","updated_at":"2024-09-11T19:55:59.000Z","epss_percentage":0.00411,"epss_percentile":0.60484},{"uuid":"GSA_kwCzR0hTQS0zdjdnLTRwZzMtN3I2as0vDg","url":"https://github.com/advisories/GHSA-3v7g-4pg3-7r6j","title":"OS Command injection in Apache Airflow","description":"In Apache Airflow, prior to version 2.2.4, some example DAGs did not properly sanitize user-provided params, making them susceptible to OS Command Injection from the web UI.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2022-02-26T00:00:44.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":8.7,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2022-24288","https://lists.apache.org/thread/dbw5ozcmr0h0lhs0yjph7xdc64oht23t","https://github.com/advisories/GHSA-3v7g-4pg3-7r6j","https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2022-30.yaml"],"source_kind":"github","identifiers":["GHSA-3v7g-4pg3-7r6j","CVE-2022-24288"],"repository_url":null,"blast_radius":27.765623825844585,"packages":[{"versions":[{"first_patched_version":"2.2.4","vulnerable_version_range":"\u003c 2.2.4"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2022-12-21T16:12:34.819Z","updated_at":"2024-09-12T14:06:31.000Z","epss_percentage":0.92442,"epss_percentile":0.99717},{"uuid":"GSA_kwCzR0hTQS00Zmc1LWo0bW0td2ZwZ84AAu_X","url":"https://github.com/advisories/GHSA-4fg5-j4mm-wfpg","title":"Apache Airflow contains open redirect","description":"In Apache Airflow 2.3.0 through 2.3.4, there was an open redirect in the webserver's `/confirm` endpoint.","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2022-09-22T22:39:52.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":5.3,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:L/VI:L/VA:N/SC:L/SI:L/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2022-40754","https://github.com/apache/airflow/pull/26409","https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2022-280.yaml","https://lists.apache.org/thread/cn098dcp5x3c402xrb06p3l7nz5goffm","https://github.com/apache/airflow/commit/56e7555c42f013f789a4b718676ff09b4a9d5135","https://github.com/apache/airflow/commit/3871f00230b7064e6234aa65b8a00ee2b6d33e4c","https://github.com/advisories/GHSA-4fg5-j4mm-wfpg"],"source_kind":"github","identifiers":["GHSA-4fg5-j4mm-wfpg","CVE-2022-40754"],"repository_url":"https://github.com/apache/airflow","blast_radius":16.914690376663945,"packages":[{"versions":[{"first_patched_version":"2.4.0rc1","vulnerable_version_range":"\u003e= 2.3.0, \u003c 2.4.0rc1"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2022-12-21T16:11:57.323Z","updated_at":"2024-09-11T18:29:21.000Z","epss_percentage":0.00463,"epss_percentile":0.63098},{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTlncWctM2Z4ci05aHY3","url":"https://github.com/advisories/GHSA-9gqg-3fxr-9hv7","title":"Apache Airflow vulnerable to XSS","description":"In Apache Airflow 1.8.2 and earlier, an experimental Airflow feature displayed authenticated cookies, as well as passwords to databases used by Airflow. An attacker who has limited access to airflow, weather it be via XSS or by leaving a machine unlocked can exfil all credentials from the system.","origin":"UNSPECIFIED","severity":"CRITICAL","published_at":"2019-01-25T16:19:09.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":9.3,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2017-17836","https://github.com/advisories/GHSA-9gqg-3fxr-9hv7","https://lists.apache.org/thread.html/ade4d54ebf614f68dc81a08891755e60ea58ba88e0209233eeea5f57@%3Cdev.airflow.apache.org%3E","https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2019-149.yaml"],"source_kind":"github","identifiers":["GHSA-9gqg-3fxr-9hv7","CVE-2017-17836"],"repository_url":null,"blast_radius":29.680494434523528,"packages":[{"versions":[{"first_patched_version":"1.9.0","vulnerable_version_range":"\u003c= 1.8.2"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2022-12-21T16:13:31.818Z","updated_at":"2024-09-12T20:12:26.000Z","epss_percentage":0.00578,"epss_percentile":0.67524},{"uuid":"GSA_kwCzR0hTQS1jZ3gyLXJybXItang0M84AA2ch","url":"https://github.com/advisories/GHSA-cgx2-rrmr-jx43","title":"Apache Airflow vulnerable to sensitive information exposure when users list warnings for all DAGs","description":"Apache Airflow, versions prior to 2.7.2, contains a security vulnerability that allows authenticated users of Airflow to list warnings for all DAGs, even if the user had no permission to see those DAGs. It would reveal the dag_ids and the stack-traces of import errors for those DAGs with import errors. Users of Apache Airflow are advised to upgrade to version 2.7.2 or newer to mitigate the risk associated with this vulnerability.\n\n","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2023-10-14T12:30:23.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":0.0,"cvss_vector":null,"references":["https://nvd.nist.gov/vuln/detail/CVE-2023-42780","https://github.com/apache/airflow/pull/34355","https://lists.apache.org/thread/h5tvsvov8j55wojt5sojdprs05oby34d","https://github.com/apache/airflow/commit/cf4eb3fb9b5cf4a8369b890e39523d4c05eed161","https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2023-202.yaml","https://github.com/advisories/GHSA-cgx2-rrmr-jx43"],"source_kind":"github","identifiers":["GHSA-cgx2-rrmr-jx43","CVE-2023-42780"],"repository_url":"https://github.com/apache/airflow","blast_radius":0.0,"packages":[{"versions":[{"first_patched_version":"2.7.2","vulnerable_version_range":"\u003c 2.7.2"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2023-10-17T03:05:47.819Z","updated_at":"2024-09-03T21:33:12.000Z","epss_percentage":0.0011,"epss_percentile":0.30477},{"uuid":"GSA_kwCzR0hTQS1ybWYyLXB3ZnEtaDc1as4AAwAD","url":"https://github.com/advisories/GHSA-rmf2-pwfq-h75j","title":"OS Command Injection in Apache Airflow","description":"Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection') vulnerability in Apache Airflow Pig Provider, Apache Airflow allows an attacker to control commands executed in the task execution context, without write access to DAG files. This issue affects Pig Provider versions prior to 4.0.0. It also impacts any Apache Airflow versions prior to 2.3.0 in case Pig Provider is installed (Pig Provider 4.0.0 can only be installed for Airflow 2.3.0+). Note that you need to manually install the Pig Provider version 4.0.0 in order to get rid of the vulnerability on top of Airflow 2.3.0+ version.","origin":"UNSPECIFIED","severity":"CRITICAL","published_at":"2022-11-22T12:30:22.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":0.0,"cvss_vector":null,"references":["https://nvd.nist.gov/vuln/detail/CVE-2022-40189","https://github.com/apache/airflow/pull/27644","https://lists.apache.org/thread/yxnfzfw2w9pj5s785k3rlyly4y44sd15","https://github.com/advisories/GHSA-rmf2-pwfq-h75j"],"source_kind":"github","identifiers":["GHSA-rmf2-pwfq-h75j","CVE-2022-40189"],"repository_url":"https://github.com/apache/airflow","blast_radius":0.0,"packages":[{"versions":[{"first_patched_version":"2.3.0","vulnerable_version_range":"\u003c 2.3.0"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2022-12-21T16:11:48.824Z","updated_at":"2023-02-01T05:08:23.000Z","epss_percentage":0.01624,"epss_percentile":0.80961},{"uuid":"GSA_kwCzR0hTQS1oODhmLXI3Y3ctOGZ2M84AAp4C","url":"https://github.com/advisories/GHSA-h88f-r7cw-8fv3","title":"Missing Authentication for Critical Function in Apache Airflow","description":"The variable import endpoint was not protected by authentication in Airflow \u003e=2.0.0, \u003c2.1.3. This allowed unauthenticated users to hit that endpoint to add/modify Airflow variables used in DAGs, potentially resulting in a denial of service, information disclosure or remote code execution. This issue affects Apache Airflow \u003e=2.0.0, \u003c2.1.3.","origin":"UNSPECIFIED","severity":"CRITICAL","published_at":"2022-05-24T19:14:00.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":9.3,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2021-38540","https://lists.apache.org/thread.html/rac2ed9118f64733e47b4f1e82ddc8c8020774698f13328ca742b03a2@%3Cannounce.apache.org%3E","https://lists.apache.org/thread.html/rb34c3dd1a815456355217eef34060789f771b6f77c3a3dec77de2064%40%3Cusers.airflow.apache.org%3E","https://github.com/apache/airflow/commit/bcec1df703cd4a01520a90c3f801cca6f97d9bfd","https://github.com/advisories/GHSA-h88f-r7cw-8fv3","https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2021-326.yaml"],"source_kind":"github","identifiers":["GHSA-h88f-r7cw-8fv3","CVE-2021-38540"],"repository_url":"https://github.com/apache/airflow","blast_radius":29.680494434523528,"packages":[{"versions":[{"first_patched_version":"2.1.3","vulnerable_version_range":"\u003e= 2.0.0, \u003c 2.1.3"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2022-12-21T16:11:57.648Z","updated_at":"2024-09-11T19:50:18.000Z","epss_percentage":0.90036,"epss_percentile":0.99553},{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTk5Y3YtOGN2di02NjZj","url":"https://github.com/advisories/GHSA-99cv-8cvv-666c","title":"Apache Airflow vulnerable to Stored XSS","description":"In Apache Airflow before 1.10.2, a malicious admin user could edit the state of objects in the Airflow metadata database to execute arbitrary javascript on certain page views.","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2019-03-06T17:35:58.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":5.1,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2018-20244","https://github.com/advisories/GHSA-99cv-8cvv-666c","https://lists.apache.org/thread.html/2de387213d45bc626d27554a1bde7b8c67d08720901f82a50b6f4231@%3Cdev.airflow.apache.org%3E","https://lists.apache.org/thread.html/f656fddf9c49293b3ec450437c46709eb01a12d1645136b2f1b8573b@%3Cdev.airflow.apache.org%3E","http://www.openwall.com/lists/oss-security/2019/04/10/6","https://github.com/apache/airflow/commit/27a4a888e946728d9bb33b78ec604e08d4a93f89","https://github.com/apache/airflow/commit/3ff94c7da60fbb24bf99eb6192c7386e8ab4c4c9","https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2019-142.yaml"],"source_kind":"github","identifiers":["GHSA-99cv-8cvv-666c","CVE-2018-20244"],"repository_url":"https://github.com/apache/airflow","blast_radius":16.276400173770966,"packages":[{"versions":[{"first_patched_version":"1.10.2","vulnerable_version_range":"\u003c 1.10.2"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2022-12-21T16:13:30.990Z","updated_at":"2025-06-11T01:11:55.893Z","epss_percentage":0.00897,"epss_percentile":0.74501},{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLWN2Y3EtZ21jMy1xNm04","url":"https://github.com/advisories/GHSA-cvcq-gmc3-q6m8","title":"Apache Airflow logs passwords in plaintext","description":"In Airflow versions prior to 1.10.13, when creating a user using airflow CLI, the password gets logged in plain text in the Log table in Airflow Metadatase. The same happenes when creating a Connection with a password field.","origin":"UNSPECIFIED","severity":"LOW","published_at":"2020-12-17T21:00:56.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":2.4,"cvss_vector":"CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:A/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2020-17511","https://github.com/apache/airflow/commit/4e32546faf227a6497ce8b282fff7450cae6f665","https://lists.apache.org/thread.html/ree782a29d927b96bf0b39fb92e2f1f09ea3112a985f7a08ce93765ac%40%3Cusers.airflow.apache.org%3E","https://github.com/advisories/GHSA-cvcq-gmc3-q6m8","https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2020-262.yaml"],"source_kind":"github","identifiers":["GHSA-cvcq-gmc3-q6m8","CVE-2020-17511"],"repository_url":"https://github.com/apache/airflow","blast_radius":7.659482434715748,"packages":[{"versions":[{"first_patched_version":"1.10.13","vulnerable_version_range":"\u003c 1.10.13"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2022-12-21T16:13:12.500Z","updated_at":"2024-09-11T18:13:20.000Z","epss_percentage":0.00181,"epss_percentile":0.40478},{"uuid":"GSA_kwCzR0hTQS1jM2M2LWYyd3cteGZyMs4AA4qZ","url":"https://github.com/advisories/GHSA-c3c6-f2ww-xfr2","title":"Apache Airflow: pickle deserialization vulnerability in XComs","description":"Apache Airflow, versions before 2.8.1, have a vulnerability that allows a potential attacker to poison the XCom data by bypassing the protection of \"enable_xcom_pickling=False\" configuration setting resulting in poisoned data after XCom deserialization. This vulnerability is considered low since it requires a DAG author to exploit it. Users are recommended to upgrade to version 2.8.1 or later, which fixes this issue.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2024-01-24T15:30:30.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":8.7,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2023-50943","https://github.com/apache/airflow/pull/36255","https://lists.apache.org/thread/fx278v0twqzxkcts70tc04cp3f8p56pn","http://www.openwall.com/lists/oss-security/2024/01/24/4","https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2024-13.yaml","https://github.com/apache/airflow/commit/2c4c5bc604e9ab0cc1e98f7bee7d31d566579462","https://github.com/advisories/GHSA-c3c6-f2ww-xfr2"],"source_kind":"github","identifiers":["GHSA-c3c6-f2ww-xfr2","CVE-2023-50943"],"repository_url":"https://github.com/apache/airflow","blast_radius":27.765623825844585,"packages":[{"versions":[{"first_patched_version":"2.8.1rc1","vulnerable_version_range":"\u003e= 0, \u003c 2.8.1rc1"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2024-01-24T21:06:13.159Z","updated_at":"2025-02-13T19:33:15.000Z","epss_percentage":0.00161,"epss_percentile":0.37919},{"uuid":"GSA_kwCzR0hTQS01OTQ2LThwMzgtdmZmcM4AA0pU","url":"https://github.com/advisories/GHSA-5946-8p38-vffp","title":"Apache Airflow Improper Input Validation vulnerability","description":"Apache Airflow, versions before 2.6.3, is affected by a vulnerability that allows an attacker to cause a service disruption by manipulating the run_id parameter. This vulnerability is considered low since it requires an authenticated user to exploit it. It is recommended to upgrade to a version that is not affected","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2023-07-12T12:31:36.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":7.1,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2023-22888","https://github.com/apache/airflow/pull/32293","https://lists.apache.org/thread/dnlht2hvm7k81k5tgjtsfmk27c76kq7z","https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2023-105.yaml","https://github.com/apache/airflow/commit/05bd90f563649f2e9c8f0c85cf5838315a665a02","https://github.com/advisories/GHSA-5946-8p38-vffp"],"source_kind":"github","identifiers":["GHSA-5946-8p38-vffp","CVE-2023-22888"],"repository_url":"https://github.com/apache/airflow","blast_radius":22.659302202700754,"packages":[{"versions":[{"first_patched_version":"2.6.3","vulnerable_version_range":"\u003c 2.6.3"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2023-07-21T06:03:41.606Z","updated_at":"2024-11-18T16:26:31.000Z","epss_percentage":0.00133,"epss_percentile":0.34447},{"uuid":"GSA_kwCzR0hTQS13N2NwLWc4djctcjU0bc4AA-2D","url":"https://github.com/advisories/GHSA-w7cp-g8v7-r54m","title":"Apache Airflow Cross-site Scripting Vulnerability","description":"Apache Airflow, versions before 2.10.0, have a vulnerability that allows the developer of a malicious provider to execute a cross-site scripting attack when clicking on a provider documentation link. This would require the provider to be installed on the web server and the user to click the provider link.\nUsers should upgrade to 2.10.0 or later, which fixes this vulnerability.","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2024-08-21T18:31:27.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":5.3,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2024-41937","https://github.com/apache/airflow/pull/40933","https://lists.apache.org/thread/lwlmgg6hqfmkpvw5py4w53hxyl37jl6d","https://github.com/apache/airflow/commit/f1852c2ab28b155e196569780013fbb61a4a1f98","https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2024-181.yaml","http://www.openwall.com/lists/oss-security/2024/08/21/3","https://github.com/advisories/GHSA-w7cp-g8v7-r54m"],"source_kind":"github","identifiers":["GHSA-w7cp-g8v7-r54m","CVE-2024-41937"],"repository_url":"https://github.com/apache/airflow","blast_radius":16.914690376663945,"packages":[{"versions":[{"first_patched_version":"2.10.0","vulnerable_version_range":"\u003c 2.10.0"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2024-08-21T21:05:46.241Z","updated_at":"2025-01-21T18:00:49.000Z","epss_percentage":0.01469,"epss_percentile":0.79967},{"uuid":"GSA_kwCzR0hTQS1weGNoLXdyN20tcnd4as4AA39U","url":"https://github.com/advisories/GHSA-pxch-wr7m-rwxj","title":"Apache Airflow has a stored cross-site scripting vulnerability","description":"Apache Airflow, versions 2.6.0 through 2.7.3 has a stored XSS vulnerability that allows a DAG author to add an unbounded and not-sanitized javascript in the parameter description field of the DAG. This Javascript can be executed on the client side of any of the user who looks at the tasks in the browser sandbox. While this issue does not allow to exit the browser sandbox or manipulation of the server-side data - more than the DAG author already has, it allows to modify what the user looking at the DAG details sees in the browser - which opens up all kinds of possibilities of misleading other users.\n\nUsers of Apache Airflow are recommended to upgrade to version 2.8.0 or newer to mitigate the risk associated with this vulnerability","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2023-12-21T12:30:27.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":0.0,"cvss_vector":null,"references":["https://nvd.nist.gov/vuln/detail/CVE-2023-47265","https://github.com/apache/airflow/pull/35460","https://lists.apache.org/thread/128f3zl375vb1qv93k82zhnwkpl233pr","https://github.com/apache/airflow/commit/0b995602e6e5894ee31625a4dd0e6aa255d2a651","http://www.openwall.com/lists/oss-security/2023/12/21/2","https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2023-264.yaml","https://github.com/advisories/GHSA-pxch-wr7m-rwxj"],"source_kind":"github","identifiers":["GHSA-pxch-wr7m-rwxj","CVE-2023-47265"],"repository_url":"https://github.com/apache/airflow","blast_radius":0.0,"packages":[{"versions":[{"first_patched_version":"2.8.0b1","vulnerable_version_range":"\u003e= 2.6.0, \u003c= 2.7.3"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2023-12-21T19:05:58.927Z","updated_at":"2025-02-13T19:30:01.000Z","epss_percentage":0.00143,"epss_percentile":0.3581},{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTk3NnItcWZqai1jMjR3","url":"https://github.com/advisories/GHSA-976r-qfjj-c24w","title":"Command injection via Celery broker in Apache Airflow","description":"An issue was found in Apache Airflow versions 1.10.10 and below. When using CeleryExecutor, if an attacker can connect to the broker (Redis, RabbitMQ) directly, it is possible to inject commands, resulting in the celery worker running arbitrary commands.","origin":"UNSPECIFIED","severity":"CRITICAL","published_at":"2020-07-27T16:57:33.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":9.3,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2020-11981","https://lists.apache.org/thread.html/r7255cf0be3566f23a768e2a04b40fb09e52fcd1872695428ba9afe91%40%3Cusers.airflow.apache.org%3E","https://github.com/apache/airflow/commit/afa4b11fddfdbadb048f742cf66d5c21c675a5c8","https://web.archive.org/web/20220427031325/https://issues.apache.org/jira/browse/AIRFLOW-6351","https://github.com/apache/airflow/commit/1dda6fdde7c6bcaf0d6534786beeeba868006dd2","https://github.com/advisories/GHSA-976r-qfjj-c24w","https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2020-15.yaml"],"source_kind":"github","identifiers":["GHSA-976r-qfjj-c24w","CVE-2020-11981"],"repository_url":"https://github.com/apache/airflow","blast_radius":29.680494434523528,"packages":[{"versions":[{"first_patched_version":"1.10.11rc1","vulnerable_version_range":"\u003e= 0, \u003c 1.10.11rc1"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2022-12-21T16:12:32.628Z","updated_at":"2024-09-11T21:13:37.000Z","epss_percentage":0.90015,"epss_percentile":0.99548},{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLW02aDItang5di01OHc2","url":"https://github.com/advisories/GHSA-m6h2-jx9v-58w6","title":"Missing Authorization in Apache Airflow","description":"If remote logging is not used, the worker (in the case of CeleryExecutor) or the scheduler (in the case of LocalExecutor) runs a Flask logging server and is listening on a specific port and also binds on 0.0.0.0 by default. This logging server had no authentication and allows reading log files of DAG jobs. This issue affects Apache Airflow \u003c 2.1.2.","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2021-08-30T16:25:57.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":5.3,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2021-35936","https://lists.apache.org/thread.html/r53d6bd7b0a66f92ddaf1313282f10fec802e71246606dd30c16536df%40%3Cusers.airflow.apache.org%3E","https://github.com/apache/airflow/commit/27265516d2b897585f5019ecd820cfe5471fd351","https://github.com/apache/airflow/commit/7a5bb88ad78d600fbb1676a55752597928115bd8","https://github.com/apache/airflow/commit/d772f38f843b9add5319a01cf51a844145b01f63","https://github.com/apache/airflow/compare/2.1.1...2.1.2","https://github.com/advisories/GHSA-m6h2-jx9v-58w6","https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2021-122.yaml"],"source_kind":"github","identifiers":["GHSA-m6h2-jx9v-58w6","CVE-2021-35936"],"repository_url":"https://github.com/apache/airflow","blast_radius":16.914690376663945,"packages":[{"versions":[{"first_patched_version":"2.1.2","vulnerable_version_range":"\u003c 2.1.2"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2022-12-21T16:12:48.881Z","updated_at":"2024-09-11T19:51:04.000Z","epss_percentage":0.00116,"epss_percentile":0.31539},{"uuid":"GSA_kwCzR0hTQS1tanFoLXY1ZjItZzJtd84AA11j","url":"https://github.com/advisories/GHSA-mjqh-v5f2-g2mw","title":"Apache Airflow information exposure vulnerability","description":"Apache Airflow, versions before 2.7.1, is affected by a vulnerability that allows authenticated users who have access to see the task/dag in the UI, to craft a URL, which could lead to unmasking the secret configuration of the task that otherwise would be masked in the UI.\n\nUsers are strongly advised to upgrade to version 2.7.1 or later which has removed the vulnerability.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2023-09-12T19:25:08.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":7.1,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2023-40712","https://github.com/apache/airflow/pull/33512","https://github.com/apache/airflow/pull/33516","https://github.com/apache/airflow/commit/4390524a41fdfd2d57f1d2dc98ad7b4009c8399e","https://github.com/apache/airflow/commit/d9814eb3a2fc1dbbb885a0a2c1b7a23ce1cfa148","https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2023-171.yaml","https://lists.apache.org/thread/jw1yv4lt6hpowqbb0x4o3tdp0jhx2bts","https://github.com/advisories/GHSA-mjqh-v5f2-g2mw"],"source_kind":"github","identifiers":["GHSA-mjqh-v5f2-g2mw","CVE-2023-40712"],"repository_url":"https://github.com/apache/airflow","blast_radius":22.659302202700754,"packages":[{"versions":[{"first_patched_version":"2.7.1","vulnerable_version_range":"\u003e= 0, \u003c 2.7.1"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2023-09-12T20:05:59.502Z","updated_at":"2024-11-18T16:26:33.000Z","epss_percentage":0.00102,"epss_percentile":0.29073},{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTRwd3EtZmo4OS02cmpj","url":"https://github.com/advisories/GHSA-4pwq-fj89-6rjc","title":"Apache Airflow Cross-site Scripting ","description":"In Apache Airflow \u003c 1.10.12, the `origin` parameter passed to some of the endpoints like `/trigger` and was vulnerable to a XSS exploit.","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2021-06-18T18:29:54.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":5.3,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2020-13944","https://github.com/apache/airflow/commit/5c2bb7b0b0e717b11f093910b443243330ad93ca","https://lists.apache.org/thread.html/r2892ef594dbbf54d0939b808626f52f7c2d1584f8aa1d81570847d2a@%3Cannounce.apache.org%3E","https://lists.apache.org/thread.html/r2892ef594dbbf54d0939b808626f52f7c2d1584f8aa1d81570847d2a@%3Cdev.airflow.apache.org%3E","https://lists.apache.org/thread.html/r2892ef594dbbf54d0939b808626f52f7c2d1584f8aa1d81570847d2a@%3Cusers.airflow.apache.org%3E","https://lists.apache.org/thread.html/r4656959c8ed06c1f6202d89aa4e67b35ad7bdba5a666caff3fea888e@%3Cusers.airflow.apache.org%3E","https://lists.apache.org/thread.html/r97e1b60ca508a86be58c43f405c0c8ff00ba467ba0bee68704ae7e3e%40%3Cdev.airflow.apache.org%3E","https://lists.apache.org/thread.html/ra8ce70088ba291f358e077cafdb14d174b7a1ce9a9d86d1b332d6367@%3Cusers.airflow.apache.org%3E","http://www.openwall.com/lists/oss-security/2020/12/11/2","http://www.openwall.com/lists/oss-security/2021/05/01/2","https://lists.apache.org/thread.html/rc005f4de9d9b0ba943ceb8ff5a21a5c6ff8a9df52632476698d99432@%3Cannounce.apache.org%3E","https://github.com/advisories/GHSA-4pwq-fj89-6rjc","https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2020-19.yaml"],"source_kind":"github","identifiers":["GHSA-4pwq-fj89-6rjc","CVE-2020-13944"],"repository_url":"https://github.com/apache/airflow","blast_radius":16.914690376663945,"packages":[{"versions":[{"first_patched_version":"1.10.12","vulnerable_version_range":"\u003c 1.10.12"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2022-12-21T16:13:05.794Z","updated_at":"2024-09-11T20:04:09.000Z","epss_percentage":0.17045,"epss_percentile":0.94613},{"uuid":"GSA_kwCzR0hTQS1obTlyLTdmODQtMjVjOc4AA3Cv","url":"https://github.com/advisories/GHSA-hm9r-7f84-25c9","title":"Apache Airflow allows authenticated and DAG-view authorized users to modify some DAG run detail values when submitting notes","description":"Apache Airflow, versions before 2.7.3, is affected by a vulnerability that allows authenticated and DAG-view authorized Users to modify some DAG run detail values when submitting notes. This could have them alter details such as configuration parameters, start date, etc.  Users should upgrade to version 2.7.3 or later which has removed the vulnerability.","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2023-11-12T15:30:20.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":5.3,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2023-47037","https://github.com/apache/airflow/pull/33413","https://lists.apache.org/thread/04y4vrw1t2xl030gswtctc4nt1w90cb0","http://www.openwall.com/lists/oss-security/2023/11/12/1","https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2023-232.yaml","https://github.com/apache/airflow/commit/b7a46c970d638028a4a7643ad000dcee951fb9ef","https://github.com/apache/airflow/commit/2a0106e4edf67c5905ebfcb82a6008662ae0f7ad","https://github.com/advisories/GHSA-hm9r-7f84-25c9"],"source_kind":"github","identifiers":["GHSA-hm9r-7f84-25c9","CVE-2023-47037"],"repository_url":"https://github.com/apache/airflow","blast_radius":16.914690376663945,"packages":[{"versions":[{"first_patched_version":"2.7.3","vulnerable_version_range":"\u003c 2.7.3"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2023-11-13T21:06:01.086Z","updated_at":"2025-02-13T19:21:05.000Z","epss_percentage":0.00062,"epss_percentile":0.19761},{"uuid":"GSA_kwCzR0hTQS02cHczLThoOXctMzJnY84AAv2i","url":"https://github.com/advisories/GHSA-6pw3-8h9w-32gc","title":"Apache Airflow vulnerable to OS Command Injection via example DAGs","description":"A vulnerability in Example Dags of Apache Airflow allows an attacker with UI access who can trigger DAGs, to execute arbitrary commands via manually provided run_id parameter. This issue affects Apache Airflow versions prior to 2.4.0.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2022-11-14T12:00:15.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":8.7,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2022-40127","https://github.com/apache/airflow/pull/25960","https://lists.apache.org/thread/cf132hgm6jvzvsbpsozl3plf1r4cwysy","http://www.openwall.com/lists/oss-security/2022/11/14/2","https://github.com/apache/airflow/commit/372e699c2d1e11f7087b5340454d0a0a6a56fbf5","https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2022-42982.yaml","https://github.com/advisories/GHSA-6pw3-8h9w-32gc"],"source_kind":"github","identifiers":["GHSA-6pw3-8h9w-32gc","CVE-2022-40127"],"repository_url":"https://github.com/apache/airflow","blast_radius":27.765623825844585,"packages":[{"versions":[{"first_patched_version":"2.4.0","vulnerable_version_range":"\u003c 2.4.0"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2022-12-21T16:11:50.283Z","updated_at":"2024-09-11T19:39:25.000Z","epss_percentage":0.93468,"epss_percentile":0.99812},{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTN4eHYtcDc4ci00ZmM2","url":"https://github.com/advisories/GHSA-3xxv-p78r-4fc6","title":"Cross-site Scripting in Apache Airflow","description":"The \"origin\" parameter passed to some of the endpoints like '/trigger' was vulnerable to XSS exploit. This issue affects Apache Airflow versions \u003c1.10.15 in 1.x series and affects 2.0.0 and 2.0.1 and 2.x series. This is the same as CVE-2020-13944 \u0026 CVE-2020-17515 but the implemented fix did not fix the issue completely. Update to Airflow 1.10.15 or 2.0.2. Please also update your Python version to the latest available PATCH releases of the installed MINOR versions, example update to Python 3.6.13 if you are on Python 3.6. (Those contain the fix for CVE-2021-23336 https://nvd.nist.gov/vuln/detail/CVE-2021-23336).","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2021-06-18T18:43:42.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":5.3,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2021-28359","https://lists.apache.org/thread.html/ra8ce70088ba291f358e077cafdb14d174b7a1ce9a9d86d1b332d6367%40%3Cusers.airflow.apache.org%3E","https://lists.apache.org/thread.html/rc005f4de9d9b0ba943ceb8ff5a21a5c6ff8a9df52632476698d99432@%3Cannounce.apache.org%3E","https://github.com/apache/airflow/commit/2fef2ab1bf0f8c727a503940c9c65fd5be208386","https://github.com/advisories/GHSA-3xxv-p78r-4fc6","https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2021-4.yaml"],"source_kind":"github","identifiers":["GHSA-3xxv-p78r-4fc6","CVE-2021-28359"],"repository_url":"https://github.com/apache/airflow","blast_radius":16.914690376663945,"packages":[{"versions":[{"first_patched_version":"2.0.2","vulnerable_version_range":"\u003e= 2.0.0a1, \u003c 2.0.2"},{"first_patched_version":"1.10.15","vulnerable_version_range":"\u003c 1.10.15"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2022-12-21T16:13:01.605Z","updated_at":"2024-09-12T14:00:38.000Z","epss_percentage":0.02315,"epss_percentile":0.83984},{"uuid":"GSA_kwCzR0hTQS1tZzJ4LW1nZ2otNjk1Nc4AA4qb","url":"https://github.com/advisories/GHSA-mg2x-mggj-6955","title":"Apache Airflow CNCF Kubernetes provider, Apache Airflow: Kubernetes configuration file saved without encryption in the Metadata and logged as plain text in the Triggerer service","description":"Since version 5.2.0, when using deferrable mode with the path of a Kubernetes configuration file for authentication, the Airflow worker serializes this configuration file as a dictionary and sends it to the triggerer by storing it in metadata without any encryption. Additionally, if used with an Airflow version between 2.3.0 and 2.6.0, the configuration dictionary will be logged as plain text in the triggerer service without masking. This allows anyone with access to the metadata or triggerer log to obtain the configuration file and use it to access the Kubernetes cluster.\n\nThis behavior was changed in version 7.0.0, which stopped serializing the file contents and started providing the file path instead to read the contents into the trigger. Users are recommended to upgrade to version 7.0.0, which fixes this issue.","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2024-01-24T15:30:30.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":0.0,"cvss_vector":null,"references":["https://nvd.nist.gov/vuln/detail/CVE-2023-51702","https://github.com/apache/airflow/pull/29498","https://github.com/apache/airflow/pull/30110","https://github.com/apache/airflow/pull/36492","https://lists.apache.org/thread/89x3q6lz5pykrkr1fkr04k4rfn9pvnv9","http://www.openwall.com/lists/oss-security/2024/01/24/3","https://github.com/advisories/GHSA-mg2x-mggj-6955"],"source_kind":"github","identifiers":["GHSA-mg2x-mggj-6955","CVE-2023-51702"],"repository_url":"https://github.com/apache/airflow","blast_radius":0.0,"packages":[{"versions":[{"first_patched_version":"7.0.0","vulnerable_version_range":"\u003e= 5.2.0, \u003c 7.0.0"}],"ecosystem":"pypi","package_name":"apache-airflow-providers-cncf-kubernetes"},{"versions":[{"first_patched_version":"2.6.1","vulnerable_version_range":"\u003e= 2.3.0, \u003c 2.6.1"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2024-01-24T22:06:05.393Z","updated_at":"2024-01-31T14:55:47.000Z","epss_percentage":0.00047,"epss_percentile":0.14017},{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTlnMnctNWYzdi1tZm1t","url":"https://github.com/advisories/GHSA-9g2w-5f3v-mfmm","title":"Insecure default config of Celery worker in Apache Airflow","description":"An issue was found in Apache Airflow versions 1.10.10 and below. When using CeleryExecutor, if an attack can connect to the broker (Redis, RabbitMQ) directly, it was possible to insert a malicious payload directly to the broker which could lead to a deserialization attack (and thus remote code execution) on the Worker.","origin":"UNSPECIFIED","severity":"CRITICAL","published_at":"2020-07-27T16:57:33.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":9.3,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2020-11982","https://lists.apache.org/thread.html/r7255cf0be3566f23a768e2a04b40fb09e52fcd1872695428ba9afe91%40%3Cusers.airflow.apache.org%3E","https://github.com/apache/airflow/pull/13612","https://github.com/apache/airflow/pull/7205","https://github.com/advisories/GHSA-9g2w-5f3v-mfmm","https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2020-16.yaml"],"source_kind":"github","identifiers":["GHSA-9g2w-5f3v-mfmm","CVE-2020-11982"],"repository_url":"https://github.com/apache/airflow","blast_radius":29.680494434523528,"packages":[{"versions":[{"first_patched_version":"1.10.11","vulnerable_version_range":"\u003c 1.10.11"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2022-12-21T16:13:23.461Z","updated_at":"2024-09-11T19:46:43.000Z","epss_percentage":0.05094,"epss_percentile":0.89284},{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLXJqdmctcTU3di1tampj","url":"https://github.com/advisories/GHSA-rjvg-q57v-mjjc","title":"XSS in Apache Airflow","description":"In Apache Airflow before 1.10.5 when running with the \"classic\" UI, a malicious admin user could edit the state of objects in the Airflow metadata database to execute arbitrary javascript on certain page views. The new \"RBAC\" UI is unaffected.","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2020-05-06T19:51:02.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":4.6,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:A/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2019-12398","https://github.com/apache/airflow/blob/1.10.5/CHANGELOG.txt","https://lists.apache.org/thread.html/r72487ad6b23d18689896962782f8c93032afe5c72a6bfd23b253352b%40%3Cusers.airflow.apache.org%3E","https://lists.apache.org/thread.html/r72487ad6b23d18689896962782f8c93032afe5c72a6bfd23b253352b@%3Cdev.airflow.apache.org%3E","http://www.openwall.com/lists/oss-security/2020/01/14/2","https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2020-162.yaml","https://github.com/advisories/GHSA-rjvg-q57v-mjjc"],"source_kind":"github","identifiers":["GHSA-rjvg-q57v-mjjc","CVE-2019-12398"],"repository_url":"https://github.com/apache/airflow","blast_radius":14.680674666538517,"packages":[{"versions":[{"first_patched_version":"1.10.5","vulnerable_version_range":"\u003c 1.10.5"}],"ecosystem":"pypi","package_name":"apache-airflow"}],"created_at":"2022-12-21T16:13:24.967Z","updated_at":"2024-09-03T21:36:38.000Z","epss_percentage":0.0067,"epss_percentile":0.70071}],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/apache-airflow","docker_dependents_count":255,"docker_downloads_count":358903212,"usage_url":"https://repos.ecosyste.ms/usage/pypi/apache-airflow","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/apache-airflow/dependencies","status":null,"funding_links":[],"critical":true,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/apache-airflow/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/apache-airflow/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/apache-airflow/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/apache-airflow/related_packages","maintainers":[{"uuid":"Apache Airflow","login":"Apache Airflow","name":null,"email":null,"url":null,"packages_count":53,"html_url":"https://pypi.org/user/Apache Airflow/","role":null,"created_at":"2023-06-14T04:06:05.297Z","updated_at":"2023-06-14T04:06:05.297Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/Apache%20Airflow/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":691846,"maintainers_count":293489,"namespaces_count":0,"keywords_count":229052,"github":"pypi","metadata":{"funded_packages_count":49048},"icon_url":"https://github.com/pypi.png","created_at":"2022-04-04T15:19:23.364Z","updated_at":"2025-06-10T05:59:11.825Z","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":60,"unique_repositories_count_past_30_days":10,"recent_issues":[{"uuid":"4227240413","node_id":"PR_kwDOO-I9t87Q6zQs","number":12,"state":"open","title":"chore(deps): bump the pip group across 25 directories with 13 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-08T19:52:43.000Z","updated_at":"2026-04-08T19:52:48.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"pip","update_count":13,"packages":[{"name":"requests","old_version":"2.31.0","new_version":"2.33.0","repository_url":"https://github.com/psf/requests"},{"name":"flask","old_version":"2.2.5","new_version":"3.1.3","repository_url":"https://github.com/pallets/flask"},{"name":"pyopenssl","old_version":"23.2.0","new_version":"26.0.0","repository_url":"https://github.com/pyca/pyopenssl"},{"name":"werkzeug","old_version":"2.2.3","new_version":"3.1.6","repository_url":"https://github.com/pallets/werkzeug"},{"name":"apache-airflow","old_version":"2.6.3","new_version":"3.2.0b1","repository_url":"https://github.com/apache/airflow"},{"name":"black","old_version":"23.1a1","new_version":"26.3.1","repository_url":"https://github.com/psf/black"},{"name":"cryptography","old_version":"40.0.2","new_version":"46.0.7","repository_url":"https://github.com/pyca/cryptography"},{"name":"google-cloud-aiplatform","old_version":"1.27.1","new_version":"1.133.0","repository_url":"https://github.com/googleapis/python-aiplatform"},{"name":"protobuf","old_version":"4.23.4","new_version":"5.29.6","repository_url":"https://github.com/protocolbuffers/protobuf"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pip group with 1 update in the /alloydb/notebooks directory: [nbconvert](https://github.com/jupyter/nbconvert).\nBumps the pip group with 1 update in the /aml-ai directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 1 update in the /auth/service-to-service directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 1 update in the /bigquery/continuous-queries directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 4 updates in the /cloud-media-livestream/keypublisher directory: [requests](https://github.com/psf/requests), [flask](https://github.com/pallets/flask), [pyopenssl](https://github.com/pyca/pyopenssl) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 2 updates in the /cloud_scheduler/snippets directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 1 update in the /cloud_tasks/http_queues directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 9 updates in the /composer/2022_airflow_summit directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [requests](https://github.com/psf/requests) | `2.31.0` | `2.33.0` |\n| [flask](https://github.com/pallets/flask) | `2.2.5` | `3.1.3` |\n| [pyopenssl](https://github.com/pyca/pyopenssl) | `23.2.0` | `26.0.0` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `2.2.3` | `3.1.6` |\n| [apache-airflow](https://github.com/apache/airflow) | `2.6.3` | `3.2.0b1` |\n| [black](https://github.com/psf/black) | `23.1a1` | `26.3.1` |\n| [cryptography](https://github.com/pyca/cryptography) | `40.0.2` | `46.0.7` |\n| [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) | `1.27.1` | `1.133.0` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `4.23.4` | `5.29.6` |\n\nBumps the pip group with 5 updates in the /composer/airflow_1_samples directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [flask](https://github.com/pallets/flask) | `1.1.2` | `3.1.3` |\n| [pyopenssl](https://github.com/pyca/pyopenssl) | `20.0.0` | `26.0.0` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `0.16.1` | `3.1.6` |\n| [cryptography](https://github.com/pyca/cryptography) | `3.2.1` | `46.0.7` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `3.14.0` | `5.29.6` |\n\nBumps the pip group with 9 updates in the /composer/cicd_sample directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [requests](https://github.com/psf/requests) | `2.31.0` | `2.33.0` |\n| [flask](https://github.com/pallets/flask) | `2.2.5` | `3.1.3` |\n| [pyopenssl](https://github.com/pyca/pyopenssl) | `23.2.0` | `26.0.0` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `2.2.3` | `3.1.6` |\n| [apache-airflow](https://github.com/apache/airflow) | `2.6.3` | `3.2.0b1` |\n| [black](https://github.com/psf/black) | `23.1a1` | `26.3.1` |\n| [cryptography](https://github.com/pyca/cryptography) | `40.0.2` | `46.0.7` |\n| [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) | `1.27.1` | `1.133.0` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `4.23.4` | `5.29.6` |\n\nBumps the pip group with 1 update in the /composer/rest directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 1 update in the /compute/auth directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 1 update in the /compute/client_library directory: [black](https://github.com/psf/black).\nBumps the pip group with 2 updates in the /compute/encryption directory: [requests](https://github.com/psf/requests) and [cryptography](https://github.com/pyca/cryptography).\nBumps the pip group with 1 update in the /compute/metadata directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 1 update in the /compute/oslogin directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 3 updates in the /dataflow/gemma directory: [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform), [protobuf](https://github.com/protocolbuffers/protobuf) and [keras](https://github.com/keras-team/keras).\nBumps the pip group with 1 update in the /dataflow/gemma-flex-template directory: [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform).\nBumps the pip group with 3 updates in the /dataflow/run-inference directory: [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform), [torch](https://github.com/pytorch/pytorch) and [transformers](https://github.com/huggingface/transformers).\nBumps the pip group with 2 updates in the /datastore/cloud-ndb directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 2 updates in the /dialogflow directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 2 updates in the /dialogflow-cx directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 2 updates in the /gemma2 directory: [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) and [protobuf](https://github.com/protocolbuffers/protobuf).\nBumps the pip group with 4 updates in the /iap directory: [requests](https://github.com/psf/requests), [flask](https://github.com/pallets/flask), [werkzeug](https://github.com/pallets/werkzeug) and [cryptography](https://github.com/pyca/cryptography).\nBumps the pip group with 1 update in the /media_cdn directory: [cryptography](https://github.com/pyca/cryptography).\n\nUpdates `nbconvert` from 7.16.6 to 7.17.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jupyter/nbconvert/releases\"\u003enbconvert's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.17.0\u003c/h2\u003e\n\u003ch2\u003e7.17.0\u003c/h2\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbconvert/compare/v7.16.6...c9ac1d1040459ed1ff9eb34e9918ce5a87cf9d71\"\u003eFull Changelog\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eEnhancements made\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for arbitrary browser arguments \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2227\"\u003e#2227\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugs fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix QtPNGExporter returning empty bytes on macOS \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2264\"\u003e#2264\u003c/a\u003e (\u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/QuLogic\"\u003e\u003ccode\u003e@​QuLogic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix CVE-2025-53000: Secure Inkscape Windows path (registry first + block CWD) \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2261\"\u003e#2261\u003c/a\u003e (\u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/mberlanda\"\u003e\u003ccode\u003e@​mberlanda\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/salmankadaya\"\u003e\u003ccode\u003e@​salmankadaya\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/th3gowtham\"\u003e\u003ccode\u003e@​th3gowtham\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix get_export_names and get_exporter default args \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2228\"\u003e#2228\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePyPA-Compliant Summary \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2226\"\u003e#2226\u003c/a\u003e (\u003ca href=\"https://github.com/hackowitz-af\"\u003e\u003ccode\u003e@​hackowitz-af\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMaintenance and upkeep improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eavoid cov environment on free-threaded Pythons \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2267\"\u003e#2267\u003c/a\u003e (\u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate pre-commit, and fix all issues. \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2238\"\u003e#2238\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop test on 3.9, test on 3.13, 3.14, 3.14t \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2237\"\u003e#2237\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the actions group across 1 directory with 2 updates \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2231\"\u003e#2231\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003e@flaky.flaky\u003c/code\u003e decorate with pytest marker \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2229\"\u003e#2229\u003c/a\u003e (\u003ca href=\"https://github.com/mgorny\"\u003e\u003ccode\u003e@​mgorny\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate to mermaid 11.10.0 \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2224\"\u003e#2224\u003c/a\u003e (\u003ca href=\"https://github.com/bollwyvl\"\u003e\u003ccode\u003e@​bollwyvl\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.8, fix the CI tests \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2221\"\u003e#2221\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse \u003ccode\u003eintersphinx_registry\u003c/code\u003e \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2232\"\u003e#2232\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors to this release\u003c/h3\u003e\n\u003cp\u003eThe following people contributed discussions, new ideas, code and documentation contributions, and review.\nSee \u003ca href=\"https://github-activity.readthedocs.io/en/latest/use/#how-does-this-tool-define-contributions-in-the-reports\"\u003eour definition of contributors\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbconvert/graphs/contributors?from=2025-01-28\u0026amp;to=2026-01-29\u0026amp;type=c\"\u003eGitHub contributors page for this release\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/bollwyvl\"\u003e\u003ccode\u003e@​bollwyvl\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Abollwyvl+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3ACarreau+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ah3pdesign+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/hackowitz-af\"\u003e\u003ccode\u003e@​hackowitz-af\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ahackowitz-af+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Akrassowski+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/mberlanda\"\u003e\u003ccode\u003e@​mberlanda\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Amberlanda+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/mgorny\"\u003e\u003ccode\u003e@​mgorny\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Amgorny+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Aminrk+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/MSeal\"\u003e\u003ccode\u003e@​MSeal\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3AMSeal+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/QuLogic\"\u003e\u003ccode\u003e@​QuLogic\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3AQuLogic+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/salmankadaya\"\u003e\u003ccode\u003e@​salmankadaya\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Asalmankadaya+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ashreve+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/th3gowtham\"\u003e\u003ccode\u003e@​th3gowtham\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ath3gowtham+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e)\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jupyter/nbconvert/blob/main/CHANGELOG.md\"\u003enbconvert's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.17.0\u003c/h2\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbconvert/compare/v7.16.6...c9ac1d1040459ed1ff9eb34e9918ce5a87cf9d71\"\u003eFull Changelog\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eEnhancements made\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for arbitrary browser arguments \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2227\"\u003e#2227\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugs fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix QtPNGExporter returning empty bytes on macOS \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2264\"\u003e#2264\u003c/a\u003e (\u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/QuLogic\"\u003e\u003ccode\u003e@​QuLogic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix CVE-2025-53000: Secure Inkscape Windows path (registry first + block CWD) \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2261\"\u003e#2261\u003c/a\u003e (\u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/mberlanda\"\u003e\u003ccode\u003e@​mberlanda\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/salmankadaya\"\u003e\u003ccode\u003e@​salmankadaya\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/th3gowtham\"\u003e\u003ccode\u003e@​th3gowtham\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix get_export_names and get_exporter default args \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2228\"\u003e#2228\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePyPA-Compliant Summary \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2226\"\u003e#2226\u003c/a\u003e (\u003ca href=\"https://github.com/hackowitz-af\"\u003e\u003ccode\u003e@​hackowitz-af\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMaintenance and upkeep improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eavoid cov environment on free-threaded Pythons \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2267\"\u003e#2267\u003c/a\u003e (\u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate pre-commit, and fix all issues. \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2238\"\u003e#2238\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop test on 3.9, test on 3.13, 3.14, 3.14t \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2237\"\u003e#2237\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the actions group across 1 directory with 2 updates \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2231\"\u003e#2231\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003e@flaky.flaky\u003c/code\u003e decorate with pytest marker \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2229\"\u003e#2229\u003c/a\u003e (\u003ca href=\"https://github.com/mgorny\"\u003e\u003ccode\u003e@​mgorny\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate to mermaid 11.10.0 \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2224\"\u003e#2224\u003c/a\u003e (\u003ca href=\"https://github.com/bollwyvl\"\u003e\u003ccode\u003e@​bollwyvl\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.8, fix the CI tests \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2221\"\u003e#2221\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse \u003ccode\u003eintersphinx_registry\u003c/code\u003e \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2232\"\u003e#2232\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors to this release\u003c/h3\u003e\n\u003cp\u003eThe following people contributed discussions, new ideas, code and documentation contributions, and review.\nSee \u003ca href=\"https://github-activity.readthedocs.io/en/latest/use/#how-does-this-tool-define-contributions-in-the-reports\"\u003eour definition of contributors\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbconvert/graphs/contributors?from=2025-01-28\u0026amp;to=2026-01-29\u0026amp;type=c\"\u003eGitHub contributors page for this release\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/bollwyvl\"\u003e\u003ccode\u003e@​bollwyvl\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Abollwyvl+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3ACarreau+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ah3pdesign+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/hackowitz-af\"\u003e\u003ccode\u003e@​hackowitz-af\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ahackowitz-af+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Akrassowski+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/mberlanda\"\u003e\u003ccode\u003e@​mberlanda\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Amberlanda+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/mgorny\"\u003e\u003ccode\u003e@​mgorny\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Amgorny+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Aminrk+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/MSeal\"\u003e\u003ccode\u003e@​MSeal\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3AMSeal+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/QuLogic\"\u003e\u003ccode\u003e@​QuLogic\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3AQuLogic+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/salmankadaya\"\u003e\u003ccode\u003e@​salmankadaya\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Asalmankadaya+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ashreve+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/th3gowtham\"\u003e\u003ccode\u003e@​th3gowtham\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ath3gowtham+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e)\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/21b35d85b46f5ff0956d3d088a52b9bef00e8196\"\u003e\u003ccode\u003e21b35d8\u003c/code\u003e\u003c/a\u003e Publish 7.17.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/c9ac1d1040459ed1ff9eb34e9918ce5a87cf9d71\"\u003e\u003ccode\u003ec9ac1d1\u003c/code\u003e\u003c/a\u003e Fix CVE-2025-53000: Secure Inkscape Windows path (registry first + block CWD)...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/b13276d80ae6fadbfda981304810e26f421c4ced\"\u003e\u003ccode\u003eb13276d\u003c/code\u003e\u003c/a\u003e avoid cov environment on free-threaded Pythons (\u003ca href=\"https://redirect.github.com/jupyter/nbconvert/issues/2267\"\u003e#2267\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/7c7055fe833fe9832e6f9a64fa5f67d66692c8d6\"\u003e\u003ccode\u003e7c7055f\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] auto fixes from pre-commit.com hooks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/74f3ddd37ef4b7ffb5eee9acbf52062217c15852\"\u003e\u003ccode\u003e74f3ddd\u003c/code\u003e\u003c/a\u003e Fix QtPNGExporter returning empty bytes on macOS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/216550b2aae4c329f4dab597a96ae7cac30de79a\"\u003e\u003ccode\u003e216550b\u003c/code\u003e\u003c/a\u003e fix links\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/39777ac5716350e994171d025a7369c58b0afc8c\"\u003e\u003ccode\u003e39777ac\u003c/code\u003e\u003c/a\u003e try to comment fialing test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/7b591ca526f2598dbae3256a53765659c3edcf14\"\u003e\u003ccode\u003e7b591ca\u003c/code\u003e\u003c/a\u003e ruff-check\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/6ec7638a3dc7a0bc2c533c116202d7f9b07ce9d9\"\u003e\u003ccode\u003e6ec7638\u003c/code\u003e\u003c/a\u003e parent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/59414b36f94e318d4207e8af863167047d936c19\"\u003e\u003ccode\u003e59414b3\u003c/code\u003e\u003c/a\u003e fix mypy\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jupyter/nbconvert/compare/v7.16.6...v7.17.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.4 to 2.33.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.33.0\u003c/h2\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that uses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report any gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts contents to a non-deterministic location to prevent malicious file replacement. This does not affect default usage of Requests, only applications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause malformed authentication to be applied to Requests on Python 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\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/M0d3v1\"\u003e\u003ccode\u003e@​M0d3v1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6865\"\u003epsf/requests#6865\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminvakil\"\u003e\u003ccode\u003e@​aminvakil\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7220\"\u003epsf/requests#7220\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/E8Price\"\u003e\u003ccode\u003e@​E8Price\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6960\"\u003epsf/requests#6960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mitre88\"\u003e\u003ccode\u003e@​mitre88\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7244\"\u003epsf/requests#7244\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/magsen\"\u003e\u003ccode\u003e@​magsen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6553\"\u003epsf/requests#6553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rohan5commit\"\u003e\u003ccode\u003e@​Rohan5commit\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7227\"\u003epsf/requests#7227\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\"\u003ehttps://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that\nuses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report\nany gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts\ncontents to a non-deterministic location to prevent malicious file\nreplacement. This does not affect default usage of Requests, only\napplications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause\nmalformed authentication to be applied to Requests on\nPython 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/bc04dfd6dad4cb02cd92f5daa81eb562d280a761\"\u003e\u003ccode\u003ebc04dfd\u003c/code\u003e\u003c/a\u003e v2.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/66d21cb07bd6255b1280291c4fafb71803cdb3b7\"\u003e\u003ccode\u003e66d21cb\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/8b9bc8fc0f63be84602387913c4b689f19efd028\"\u003e\u003ccode\u003e8b9bc8f\u003c/code\u003e\u003c/a\u003e Move badges to top of README (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7293\"\u003e#7293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/e331a288f369973f5de0ec8901c94cae4fa87286\"\u003e\u003ccode\u003ee331a28\u003c/code\u003e\u003c/a\u003e Remove unused extraction call (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7292\"\u003e#7292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/753fd08c5eacce0aa0df73fe47e49525c67e0a29\"\u003e\u003ccode\u003e753fd08\u003c/code\u003e\u003c/a\u003e docs: fix FAQ grammar in httplib2 example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/774a0b837a194ee885d4fdd9ca947900cc3daf71\"\u003e\u003ccode\u003e774a0b8\u003c/code\u003e\u003c/a\u003e docs(socks): same block as other sections\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/9c72a41bec8597f948c9d8caa5dc3f12273b3303\"\u003e\u003ccode\u003e9c72a41\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.33.0 to 4.34.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/ebf71906798ec82f34e07d3168f8b8aecaf8a3be\"\u003e\u003ccode\u003eebf7190\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.32.0 to 4.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/0e4ae38f0c93d4f92a96c774bd52c069d12a4798\"\u003e\u003ccode\u003e0e4ae38\u003c/code\u003e\u003c/a\u003e docs: exclude Response.is_permanent_redirect from API docs (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7244\"\u003e#7244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d568f47278492e630cc990a259047c67991d007a\"\u003e\u003ccode\u003ed568f47\u003c/code\u003e\u003c/a\u003e docs: clarify Quickstart POST example (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6960\"\u003e#6960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.4...v2.33.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.4 to 2.33.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.33.0\u003c/h2\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that uses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report any gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts contents to a non-deterministic location to prevent malicious file replacement. This does not affect default usage of Requests, only applications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause malformed authentication to be applied to Requests on Python 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\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/M0d3v1\"\u003e\u003ccode\u003e@​M0d3v1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6865\"\u003epsf/requests#6865\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminvakil\"\u003e\u003ccode\u003e@​aminvakil\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7220\"\u003epsf/requests#7220\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/E8Price\"\u003e\u003ccode\u003e@​E8Price\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6960\"\u003epsf/requests#6960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mitre88\"\u003e\u003ccode\u003e@​mitre88\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7244\"\u003epsf/requests#7244\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/magsen\"\u003e\u003ccode\u003e@​magsen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6553\"\u003epsf/requests#6553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rohan5commit\"\u003e\u003ccode\u003e@​Rohan5commit\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7227\"\u003epsf/requests#7227\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\"\u003ehttps://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that\nuses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report\nany gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts\ncontents to a non-deterministic location to prevent malicious file\nreplacement. This does not affect default usage of Requests, only\napplications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause\nmalformed authentication to be applied to Requests on\nPython 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/bc04dfd6dad4cb02cd92f5daa81eb562d280a761\"\u003e\u003ccode\u003ebc04dfd\u003c/code\u003e\u003c/a\u003e v2.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/66d21cb07bd6255b1280291c4fafb71803cdb3b7\"\u003e\u003ccode\u003e66d21cb\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/8b9bc8fc0f63be84602387913c4b689f19efd028\"\u003e\u003ccode\u003e8b9bc8f\u003c/code\u003e\u003c/a\u003e Move badges to top of README (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7293\"\u003e#7293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/e331a288f369973f5de0ec8901c94cae4fa87286\"\u003e\u003ccode\u003ee331a28\u003c/code\u003e\u003c/a\u003e Remove unused extraction call (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7292\"\u003e#7292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/753fd08c5eacce0aa0df73fe47e49525c67e0a29\"\u003e\u003ccode\u003e753fd08\u003c/code\u003e\u003c/a\u003e docs: fix FAQ grammar in httplib2 example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/774a0b837a194ee885d4fdd9ca947900cc3daf71\"\u003e\u003ccode\u003e774a0b8\u003c/code\u003e\u003c/a\u003e docs(socks): same block as other sections\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/9c72a41bec8597f948c9d8caa5dc3f12273b3303\"\u003e\u003ccode\u003e9c72a41\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.33.0 to 4.34.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/ebf71906798ec82f34e07d3168f8b8aecaf8a3be\"\u003e\u003ccode\u003eebf7190\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.32.0 to 4.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/0e4ae38f0c93d4f92a96c774bd52c069d12a4798\"\u003e\u003ccode\u003e0e4ae38\u003c/code\u003e\u003c/a\u003e docs: exclude Response.is_permanent_redirect from API docs (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7244\"\u003e#7244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d568f47278492e630cc990a259047c67991d007a\"\u003e\u003ccode\u003ed568f47\u003c/code\u003e\u003c/a\u003e docs: clarify Quickstart POST example (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6960\"\u003e#6960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.4...v2.33.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.4 to 2.33.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.33.0\u003c/h2\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that uses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report any gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts contents to a non-deterministic location to prevent malicious file replacement. This does not affect default usage of Requests, only applications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause malformed authentication to be applied to Requests on Python 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\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/M0d3v1\"\u003e\u003ccode\u003e@​M0d3v1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6865\"\u003epsf/requests#6865\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminvakil\"\u003e\u003ccode\u003e@​aminvakil\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7220\"\u003epsf/requests#7220\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/E8Price\"\u003e\u003ccode\u003e@​E8Price\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6960\"\u003epsf/requests#6960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mitre88\"\u003e\u003ccode\u003e@​mitre88\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7244\"\u003epsf/requests#7244\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/magsen\"\u003e\u003ccode\u003e@​magsen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6553\"\u003epsf/requests#6553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rohan5commit\"\u003e\u003ccode\u003e@​Rohan5commit\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7227\"\u003epsf/requests#7227\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\"\u003ehttps://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that\nuses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report\nany gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts\ncontents to a non-deterministic location to prevent malicious file\nreplacement. This does not affect default usage of Requests, only\napplications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause\nmalformed authentication to be applied to Requests on\nPython 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/bc04dfd6dad4cb02cd92f5daa81eb562d280a761\"\u003e\u003ccode\u003ebc04dfd\u003c/code\u003e\u003c/a\u003e v2.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/66d21cb07bd6255b1280291c4fafb71803cdb3b7\"\u003e\u003ccode\u003e66d21cb\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/8b9bc8fc0f63be84602387913c4b689f19efd028\"\u003e\u003ccode\u003e8b9bc8f\u003c/code\u003e\u003c/a\u003e Move badges to top of README (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7293\"\u003e#7293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/e331a288f369973f5de0ec8901c94cae4fa87286\"\u003e\u003ccode\u003ee331a28\u003c/code\u003e\u003c/a\u003e Remove unused extraction call (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7292\"\u003e#7292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/753fd08c5eacce0aa0df73fe47e49525c67e0a29\"\u003e\u003ccode\u003e753fd08\u003c/code\u003e\u003c/a\u003e docs: fix FAQ grammar in httplib2 example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/774a0b837a194ee885d4fdd9ca947900cc3daf71\"\u003e\u003ccode\u003e774a0b8\u003c/code\u003e\u003c/a\u003e docs(socks): same block as other sections\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/9c72a41bec8597f948c9d8caa5dc3f12273b3303\"\u003e\u003ccode\u003e9c72a41\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.33.0 to 4.34.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/ebf71906798ec82f34e07d3168f8b8aecaf8a3be\"\u003e\u003ccode\u003eebf7190\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.32.0 to 4.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/0e4ae38f0c93d4f92a96c774bd52c069d12a4798\"\u003e\u003ccode\u003e0e4ae38\u003c/code\u003e\u003c/a\u003e docs: exclude Response.is_permanent_redirect from API docs (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7244\"\u003e#7244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d568f47278492e630cc990a259047c67991d007a\"\u003e\u003ccode\u003ed568f47\u003c/code\u003e\u003c/a\u003e docs: clarify Quickstart POST example (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6960\"\u003e#6960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.4...v2.33.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.4 to 2.33.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.33.0\u003c/h2\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that uses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report any gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts contents to a non-deterministic location to prevent malicious file replacement. This does not affect default usage of Requests, only applications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause malformed authentication to be applied to Requests on Python 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\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/M0d3v1\"\u003e\u003ccode\u003e@​M0d3v1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6865\"\u003epsf/requests#6865\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminvakil\"\u003e\u003ccode\u003e@​aminvakil\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7220\"\u003epsf/requests#7220\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/E8Price\"\u003e\u003ccode\u003e@​E8Price\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6960\"\u003epsf/requests#6960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mitre88\"\u003e\u003ccode\u003e@​mitre88\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7244\"\u003epsf/requests#7244\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/magsen\"\u003e\u003ccode\u003e@​magsen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6553\"\u003epsf/requests#6553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rohan5commit\"\u003e\u003ccode\u003e@​Rohan5commit\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7227\"\u003epsf/requests#7227\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\"\u003ehttps://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that\nuses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report\nany gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts\ncontents to a non-deterministic location to prevent malicious file\nreplacement. This does not affect default usage of Requests, only\napplications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause\nmalformed authentication to be applied to Requests on\nPython 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/bc04dfd6dad4cb02cd92f5daa81eb562d280a761\"\u003e\u003ccode\u003ebc04dfd\u003c/code\u003e\u003c/a\u003e v2.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/66d21cb07bd6255b1280291c4fafb71803cdb3b7\"\u003e\u003ccode\u003e66d21cb\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/8b9bc8fc0f63be84602387913c4b689f19efd028\"\u003e\u003ccode\u003e8b9bc8f\u003c/code\u003e\u003c/a\u003e Move badges to top of README (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7293\"\u003e#7293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/e331a288f369973f5de0ec8901c94cae4fa87286\"\u003e\u003ccode\u003ee331a28\u003c/code\u003e\u003c/a\u003e Remove unused extraction call (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7292\"\u003e#7292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/753fd08c5eacce0aa0df73fe47e49525c67e0a29\"\u003e\u003ccode\u003e753fd08\u003c/code\u003e\u003c/a\u003e docs: fix FAQ grammar in httplib2 example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/774a0b837a194ee885d4fdd9ca947900cc3daf71\"\u003e\u003ccode\u003e774a0b8\u003c/code\u003e\u003c/a\u003e docs(socks): same block as other sections\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/9c72a41bec8597f948c9d8caa5dc3f12273b3303\"\u003e\u003ccode\u003e9c72a41\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.33.0 to 4.34.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/ebf71906798ec82f34e07d3168f8b8aecaf8a3be\"\u003e\u003ccode\u003eebf7190\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.32.0 to 4.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/0e4ae38f0c93d4f92a96c774bd52c069d12a4798\"\u003e\u003ccode\u003e0e4ae38\u003c/code\u003e\u003c/a\u003e docs: exclude Response.is_permanent_redirect from API docs (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7244\"\u003e#7244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d568f47278492e630cc990a259047c67991d007a\"\u003e\u003ccode\u003ed568f47\u003c/code\u003e\u003c/a\u003e docs: clarify Quickstart POST example (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6960\"\u003e#6960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.4...v2.33.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `flask` from 2.2.5 to 3.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/releases\"\u003eflask's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.3\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.3 security fix release, which fixes a security issue but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.3/\"\u003ehttps://pypi.org/project/Flask/3.1.3/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-3\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-3\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys but not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. \u003ca href=\"https://github.com/pallets/flask/security/advisories/GHSA-68rp-wp8r-4726\"\u003eGHSA-68rp-wp8r-4726\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.2\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.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/Flask/3.1.2/\"\u003ehttps://pypi.org/project/Flask/3.1.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-2\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-2\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/38?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/38?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5774\"\u003e#5774\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state of \u003ccode\u003esession\u003c/code\u003e is correct. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5786\"\u003e#5786\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5776\"\u003e#5776\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.1\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.1 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.1/\"\u003ehttps://pypi.org/project/Flask/3.1.1/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/flask/milestone/36?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/36?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. GHSA-4grg-w6v8-c28g\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5645\"\u003e#5645\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loads the app and plugins first to make sure all commands are shown. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5673\"\u003e#5673\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMark sans-io base class as being able to handle views that return \u003ccode\u003eAsyncIterable\u003c/code\u003e. This is not accurate for Flask, but makes typing easier for Quart. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5659\"\u003e#5659\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.0\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecations, or introduce potentially breaking changes. We encourage everyone to upgrade, and to use a tool such as \u003ca href=\"https://pypi.org/project/pip-tools/\"\u003epip-tools\u003c/a\u003e to pin all dependencies and control upgrades. Test with warnings treated as errors to be able to adapt to deprecation warnings early.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.0/\"\u003ehttps://pypi.org/project/Flask/3.1.0/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-0\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-0\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/33?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/33?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5623\"\u003e#5623\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate minimum dependency versions to latest feature releases. Werkzeug \u0026gt;= 3.1, ItsDangerous \u0026gt;= 2.2, Blinker \u0026gt;= 1.9. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5624\"\u003e#5624\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5633\"\u003e#5633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProvide a configuration option to control automatic option responses. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5496\"\u003e#5496\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFlask.open_resource\u003c/code\u003e/\u003ccode\u003eopen_instance_resource\u003c/code\u003e and \u003ccode\u003eBlueprint.open_resource\u003c/code\u003e take an \u003ccode\u003eencoding\u003c/code\u003e parameter to use when opening in text mode. It defaults to \u003ccode\u003eutf-8\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5504\"\u003e#5504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.max_content_length\u003c/code\u003e can be customized per-request instead of only through the \u003ccode\u003eMAX_CONTENT_LENGTH\u003c/code\u003e config. Added \u003ccode\u003eMAX_FORM_MEMORY_SIZE\u003c/code\u003e and \u003ccode\u003eMAX_FORM_PARTS\u003c/code\u003e config. Added documentation about resource limits to the security page. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5625\"\u003e#5625\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for the \u003ccode\u003ePartitioned\u003c/code\u003e cookie attribute (CHIPS), with the \u003ccode\u003eSESSION_COOKIE_PARTITIONED\u003c/code\u003e config. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5472\"\u003e#5472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e-e path\u003c/code\u003e takes precedence over default \u003ccode\u003e.env\u003c/code\u003e and \u003ccode\u003e.flaskenv\u003c/code\u003e files. \u003ccode\u003eload_dotenv\u003c/code\u003e loads default files in addition to a path unless \u003ccode\u003eload_defaults=False\u003c/code\u003e is passed. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5628\"\u003e#5628\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport key rotation with the \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e config, a list of old secret keys that can still be used for unsigning. Extensions will need to add support. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5621\"\u003e#5621\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix how setting \u003ccode\u003ehost_matching=True\u003c/code\u003e or \u003ccode\u003esubdomain_matching=False\u003c/code\u003e interacts with \u003ccode\u003eSERVER_NAME\u003c/code\u003e. Setting \u003ccode\u003eSERVER_NAME\u003c/code\u003e no longer restricts requests to only that domain. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5553\"\u003e#5553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.trusted_hosts\u003c/code\u003e is checked during routing, and can be set through the \u003ccode\u003eTRUSTED_HOSTS\u003c/code\u003e config. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5636\"\u003e#5636\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.0.3\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/blob/main/CHANGES.rst\"\u003eflask's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.1.3\u003c/h2\u003e\n\u003cp\u003eReleased 2026-02-18\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys\nbut not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. :ghsa:\u003ccode\u003e68rp-wp8r-4726\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.2\u003c/h2\u003e\n\u003cp\u003eReleased 2025-08-19\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. :issue:\u003ccode\u003e5774\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state\nof \u003ccode\u003esession\u003c/code\u003e is correct. :issue:\u003ccode\u003e5786\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. :issue:\u003ccode\u003e5776\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-05-13\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via\n\u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. :ghsa:\u003ccode\u003e4grg-w6v8-c28g\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. :issue:\u003ccode\u003e5645\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loads the app and plugins first to make sure all commands\nare shown. :issue:\u003ccode\u003e5673\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eMark sans-io base class as being able to handle views that return\n\u003ccode\u003eAsyncIterable\u003c/code\u003e. This is not accurate for Flask, but makes typing easier\nfor Quart. :pr:\u003ccode\u003e5659\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.0\u003c/h2\u003e\n\u003cp\u003eReleased 2024-11-13\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. :pr:\u003ccode\u003e5623\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUpdate minimum dependency versions to latest feature releases.\nWerkzeug \u0026gt;= 3.1, ItsDangerous \u0026gt;= 2.2, Blinker \u0026gt;= 1.9. :pr:\u003ccode\u003e5624,5633\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eProvide a configuration option to control automatic option\nresponses. :pr:\u003ccode\u003e5496\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFlask.open_resource\u003c/code\u003e/\u003ccode\u003eopen_instance_resource\u003c/code\u003e and\n\u003ccode\u003eBlueprint.open_resource\u003c/code\u003e take an \u003ccode\u003eencoding\u003c/code\u003e parameter to use when\nopening in text mode. It defaults to \u003ccode\u003eutf-8\u003c/code\u003e. :issue:\u003ccode\u003e5504\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.max_content_length\u003c/code\u003e can be customized per-request instead of only\nthrough the \u003ccode\u003eMAX_CONTENT_LENGTH\u003c/code\u003e config. Added\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/22d924701a6ae2e4cd01e9a15bbaf3946094af65\"\u003e\u003ccode\u003e22d9247\u003c/code\u003e\u003c/a\u003e release version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/089cb86dd22bff589a4eafb7ab8e42dc357623b4\"\u003e\u003ccode\u003e089cb86\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/c17f379390731543eea33a570a47bd4ef76a54fa\"\u003e\u003ccode\u003ec17f379\u003c/code\u003e\u003c/a\u003e request context tracks session access\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/27be9338405382445a7cb01151e084559b98d602\"\u003e\u003ccode\u003e27be933\u003c/code\u003e\u003c/a\u003e start version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4e652d3f68b90d50aa2301d3b7e68c3fafd9251d\"\u003e\u003ccode\u003e4e652d3\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5903\"\u003e#5903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/3d03098a97ddc6a908aa4a50c2ef7381f8297d0a\"\u003e\u003ccode\u003e3d03098\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/407eb76b27884848383a37c7274654f0271e4bc4\"\u003e\u003ccode\u003e407eb76\u003c/code\u003e\u003c/a\u003e document using gevent for async (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5900\"\u003e#5900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/ac5664d2281533eacafd64f5cc7d5edcdaccab60\"\u003e\u003ccode\u003eac5664d\u003c/code\u003e\u003c/a\u003e document using gevent for async\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4f79d5b59a56bc4356a97f2e81a35f98cb18d7b3\"\u003e\u003ccode\u003e4f79d5b\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11 (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5865\"\u003e#5865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/fe3b215d3ade4db68262dae1a3cdc464a1fc524f\"\u003e\u003ccode\u003efe3b215\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/flask/compare/2.2.5...3.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyopenssl` from 25.0.0 to 26.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyca/pyopenssl/blob/main/CHANGELOG.rst\"\u003epyopenssl's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.0.0 (2026-03-15)\u003c/h2\u003e\n\u003cp\u003eBackward-incompatible changes:\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.7.\u003c/li\u003e\n\u003cli\u003eThe minimum \u003ccode\u003ecryptography\u003c/code\u003e version is now 46.0.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations:\n^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003eChanges:\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for using aws-lc instead of OpenSSL.\u003c/li\u003e\n\u003cli\u003eProperly raise an error if a DTLS cookie callback returned a cookie longer than \u003ccode\u003eDTLS1_COOKIE_LENGTH\u003c/co...\n\n_Description has been truncated_","html_url":"https://github.com/ASISBusiness/python-docs-samples/pull/12","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ASISBusiness%2Fpython-docs-samples/issues/12","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/12/packages"},{"uuid":"4223006296","node_id":"PR_kwDORKFnMM7Qu_PA","number":10,"state":"closed","title":"chore(deps): bump the pip group across 24 directories with 12 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-08T19:53:18.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-08T08:01:03.000Z","updated_at":"2026-04-08T19:53:20.000Z","time_to_close":42735,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"pip","update_count":12,"packages":[{"name":"requests","old_version":"2.31.0","new_version":"2.33.0","repository_url":"https://github.com/psf/requests"},{"name":"flask","old_version":"2.2.5","new_version":"3.1.3","repository_url":"https://github.com/pallets/flask"},{"name":"pyopenssl","old_version":"23.2.0","new_version":"26.0.0","repository_url":"https://github.com/pyca/pyopenssl"},{"name":"werkzeug","old_version":"2.2.3","new_version":"3.1.6","repository_url":"https://github.com/pallets/werkzeug"},{"name":"apache-airflow","old_version":"2.6.3","new_version":"3.2.0b1","repository_url":"https://github.com/apache/airflow"},{"name":"black","old_version":"23.1a1","new_version":"26.3.1","repository_url":"https://github.com/psf/black"},{"name":"cryptography","old_version":"40.0.2","new_version":"46.0.6","repository_url":"https://github.com/pyca/cryptography"},{"name":"google-cloud-aiplatform","old_version":"1.27.1","new_version":"1.133.0","repository_url":"https://github.com/googleapis/python-aiplatform"},{"name":"protobuf","old_version":"4.23.4","new_version":"5.29.6","repository_url":"https://github.com/protocolbuffers/protobuf"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pip group with 1 update in the /aml-ai directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 1 update in the /auth/service-to-service directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 1 update in the /bigquery/continuous-queries directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 4 updates in the /cloud-media-livestream/keypublisher directory: [requests](https://github.com/psf/requests), [flask](https://github.com/pallets/flask), [pyopenssl](https://github.com/pyca/pyopenssl) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 1 update in the /cloud_tasks/http_queues directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 9 updates in the /composer/2022_airflow_summit directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [requests](https://github.com/psf/requests) | `2.31.0` | `2.33.0` |\n| [flask](https://github.com/pallets/flask) | `2.2.5` | `3.1.3` |\n| [pyopenssl](https://github.com/pyca/pyopenssl) | `23.2.0` | `26.0.0` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `2.2.3` | `3.1.6` |\n| [apache-airflow](https://github.com/apache/airflow) | `2.6.3` | `3.2.0b1` |\n| [black](https://github.com/psf/black) | `23.1a1` | `26.3.1` |\n| [cryptography](https://github.com/pyca/cryptography) | `40.0.2` | `46.0.6` |\n| [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) | `1.27.1` | `1.133.0` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `4.23.4` | `5.29.6` |\n\nBumps the pip group with 5 updates in the /composer/airflow_1_samples directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [flask](https://github.com/pallets/flask) | `1.1.2` | `3.1.3` |\n| [pyopenssl](https://github.com/pyca/pyopenssl) | `20.0.0` | `26.0.0` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `0.16.1` | `3.1.6` |\n| [cryptography](https://github.com/pyca/cryptography) | `3.2.1` | `46.0.6` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `3.14.0` | `5.29.6` |\n\nBumps the pip group with 9 updates in the /composer/cicd_sample directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [requests](https://github.com/psf/requests) | `2.31.0` | `2.33.0` |\n| [flask](https://github.com/pallets/flask) | `2.2.5` | `3.1.3` |\n| [pyopenssl](https://github.com/pyca/pyopenssl) | `23.2.0` | `26.0.0` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `2.2.3` | `3.1.6` |\n| [apache-airflow](https://github.com/apache/airflow) | `2.6.3` | `3.2.0b1` |\n| [black](https://github.com/psf/black) | `23.1a1` | `26.3.1` |\n| [cryptography](https://github.com/pyca/cryptography) | `40.0.2` | `46.0.6` |\n| [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) | `1.27.1` | `1.133.0` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `4.23.4` | `5.29.6` |\n\nBumps the pip group with 1 update in the /composer/rest directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 9 updates in the /composer/workflows directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [requests](https://github.com/psf/requests) | `2.31.0` | `2.33.0` |\n| [flask](https://github.com/pallets/flask) | `2.2.5` | `3.1.3` |\n| [pyopenssl](https://github.com/pyca/pyopenssl) | `24.1.0` | `26.0.0` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `2.2.3` | `3.1.6` |\n| [apache-airflow](https://github.com/apache/airflow) | `2.9.2` | `3.2.0b1` |\n| [black](https://github.com/psf/black) | `24.4.2` | `26.3.1` |\n| [cryptography](https://github.com/pyca/cryptography) | `41.0.7` | `46.0.6` |\n| [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) | `1.53.0` | `1.133.0` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `4.25.3` | `5.29.6` |\n\nBumps the pip group with 1 update in the /compute/auth directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 1 update in the /compute/client_library directory: [black](https://github.com/psf/black).\nBumps the pip group with 2 updates in the /compute/encryption directory: [requests](https://github.com/psf/requests) and [cryptography](https://github.com/pyca/cryptography).\nBumps the pip group with 1 update in the /compute/metadata directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 1 update in the /compute/oslogin directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 3 updates in the /dataflow/gemma directory: [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform), [protobuf](https://github.com/protocolbuffers/protobuf) and [keras](https://github.com/keras-team/keras).\nBumps the pip group with 1 update in the /dataflow/gemma-flex-template directory: [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform).\nBumps the pip group with 3 updates in the /dataflow/run-inference directory: [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform), [torch](https://github.com/pytorch/pytorch) and [transformers](https://github.com/huggingface/transformers).\nBumps the pip group with 2 updates in the /datastore/cloud-ndb directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 2 updates in the /dialogflow directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 2 updates in the /dialogflow-cx directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 2 updates in the /gemma2 directory: [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) and [protobuf](https://github.com/protocolbuffers/protobuf).\nBumps the pip group with 4 updates in the /iap directory: [requests](https://github.com/psf/requests), [flask](https://github.com/pallets/flask), [werkzeug](https://github.com/pallets/werkzeug) and [cryptography](https://github.com/pyca/cryptography).\nBumps the pip group with 1 update in the /media_cdn directory: [cryptography](https://github.com/pyca/cryptography).\n\nUpdates `requests` from 2.32.4 to 2.33.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.33.0\u003c/h2\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that uses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report any gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts contents to a non-deterministic location to prevent malicious file replacement. This does not affect default usage of Requests, only applications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause malformed authentication to be applied to Requests on Python 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\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/M0d3v1\"\u003e\u003ccode\u003e@​M0d3v1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6865\"\u003epsf/requests#6865\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminvakil\"\u003e\u003ccode\u003e@​aminvakil\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7220\"\u003epsf/requests#7220\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/E8Price\"\u003e\u003ccode\u003e@​E8Price\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6960\"\u003epsf/requests#6960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mitre88\"\u003e\u003ccode\u003e@​mitre88\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7244\"\u003epsf/requests#7244\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/magsen\"\u003e\u003ccode\u003e@​magsen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6553\"\u003epsf/requests#6553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rohan5commit\"\u003e\u003ccode\u003e@​Rohan5commit\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7227\"\u003epsf/requests#7227\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\"\u003ehttps://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that\nuses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report\nany gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts\ncontents to a non-deterministic location to prevent malicious file\nreplacement. This does not affect default usage of Requests, only\napplications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause\nmalformed authentication to be applied to Requests on\nPython 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/bc04dfd6dad4cb02cd92f5daa81eb562d280a761\"\u003e\u003ccode\u003ebc04dfd\u003c/code\u003e\u003c/a\u003e v2.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/66d21cb07bd6255b1280291c4fafb71803cdb3b7\"\u003e\u003ccode\u003e66d21cb\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/8b9bc8fc0f63be84602387913c4b689f19efd028\"\u003e\u003ccode\u003e8b9bc8f\u003c/code\u003e\u003c/a\u003e Move badges to top of README (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7293\"\u003e#7293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/e331a288f369973f5de0ec8901c94cae4fa87286\"\u003e\u003ccode\u003ee331a28\u003c/code\u003e\u003c/a\u003e Remove unused extraction call (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7292\"\u003e#7292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/753fd08c5eacce0aa0df73fe47e49525c67e0a29\"\u003e\u003ccode\u003e753fd08\u003c/code\u003e\u003c/a\u003e docs: fix FAQ grammar in httplib2 example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/774a0b837a194ee885d4fdd9ca947900cc3daf71\"\u003e\u003ccode\u003e774a0b8\u003c/code\u003e\u003c/a\u003e docs(socks): same block as other sections\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/9c72a41bec8597f948c9d8caa5dc3f12273b3303\"\u003e\u003ccode\u003e9c72a41\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.33.0 to 4.34.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/ebf71906798ec82f34e07d3168f8b8aecaf8a3be\"\u003e\u003ccode\u003eebf7190\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.32.0 to 4.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/0e4ae38f0c93d4f92a96c774bd52c069d12a4798\"\u003e\u003ccode\u003e0e4ae38\u003c/code\u003e\u003c/a\u003e docs: exclude Response.is_permanent_redirect from API docs (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7244\"\u003e#7244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d568f47278492e630cc990a259047c67991d007a\"\u003e\u003ccode\u003ed568f47\u003c/code\u003e\u003c/a\u003e docs: clarify Quickstart POST example (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6960\"\u003e#6960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.4...v2.33.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.4 to 2.33.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.33.0\u003c/h2\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that uses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report any gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts contents to a non-deterministic location to prevent malicious file replacement. This does not affect default usage of Requests, only applications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause malformed authentication to be applied to Requests on Python 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\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/M0d3v1\"\u003e\u003ccode\u003e@​M0d3v1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6865\"\u003epsf/requests#6865\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminvakil\"\u003e\u003ccode\u003e@​aminvakil\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7220\"\u003epsf/requests#7220\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/E8Price\"\u003e\u003ccode\u003e@​E8Price\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6960\"\u003epsf/requests#6960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mitre88\"\u003e\u003ccode\u003e@​mitre88\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7244\"\u003epsf/requests#7244\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/magsen\"\u003e\u003ccode\u003e@​magsen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6553\"\u003epsf/requests#6553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rohan5commit\"\u003e\u003ccode\u003e@​Rohan5commit\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7227\"\u003epsf/requests#7227\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\"\u003ehttps://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that\nuses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report\nany gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts\ncontents to a non-deterministic location to prevent malicious file\nreplacement. This does not affect default usage of Requests, only\napplications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause\nmalformed authentication to be applied to Requests on\nPython 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/bc04dfd6dad4cb02cd92f5daa81eb562d280a761\"\u003e\u003ccode\u003ebc04dfd\u003c/code\u003e\u003c/a\u003e v2.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/66d21cb07bd6255b1280291c4fafb71803cdb3b7\"\u003e\u003ccode\u003e66d21cb\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/8b9bc8fc0f63be84602387913c4b689f19efd028\"\u003e\u003ccode\u003e8b9bc8f\u003c/code\u003e\u003c/a\u003e Move badges to top of README (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7293\"\u003e#7293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/e331a288f369973f5de0ec8901c94cae4fa87286\"\u003e\u003ccode\u003ee331a28\u003c/code\u003e\u003c/a\u003e Remove unused extraction call (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7292\"\u003e#7292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/753fd08c5eacce0aa0df73fe47e49525c67e0a29\"\u003e\u003ccode\u003e753fd08\u003c/code\u003e\u003c/a\u003e docs: fix FAQ grammar in httplib2 example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/774a0b837a194ee885d4fdd9ca947900cc3daf71\"\u003e\u003ccode\u003e774a0b8\u003c/code\u003e\u003c/a\u003e docs(socks): same block as other sections\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/9c72a41bec8597f948c9d8caa5dc3f12273b3303\"\u003e\u003ccode\u003e9c72a41\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.33.0 to 4.34.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/ebf71906798ec82f34e07d3168f8b8aecaf8a3be\"\u003e\u003ccode\u003eebf7190\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.32.0 to 4.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/0e4ae38f0c93d4f92a96c774bd52c069d12a4798\"\u003e\u003ccode\u003e0e4ae38\u003c/code\u003e\u003c/a\u003e docs: exclude Response.is_permanent_redirect from API docs (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7244\"\u003e#7244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d568f47278492e630cc990a259047c67991d007a\"\u003e\u003ccode\u003ed568f47\u003c/code\u003e\u003c/a\u003e docs: clarify Quickstart POST example (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6960\"\u003e#6960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.4...v2.33.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.4 to 2.33.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.33.0\u003c/h2\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that uses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report any gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts contents to a non-deterministic location to prevent malicious file replacement. This does not affect default usage of Requests, only applications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause malformed authentication to be applied to Requests on Python 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\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/M0d3v1\"\u003e\u003ccode\u003e@​M0d3v1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6865\"\u003epsf/requests#6865\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminvakil\"\u003e\u003ccode\u003e@​aminvakil\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7220\"\u003epsf/requests#7220\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/E8Price\"\u003e\u003ccode\u003e@​E8Price\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6960\"\u003epsf/requests#6960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mitre88\"\u003e\u003ccode\u003e@​mitre88\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7244\"\u003epsf/requests#7244\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/magsen\"\u003e\u003ccode\u003e@​magsen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6553\"\u003epsf/requests#6553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rohan5commit\"\u003e\u003ccode\u003e@​Rohan5commit\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7227\"\u003epsf/requests#7227\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\"\u003ehttps://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that\nuses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report\nany gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts\ncontents to a non-deterministic location to prevent malicious file\nreplacement. This does not affect default usage of Requests, only\napplications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause\nmalformed authentication to be applied to Requests on\nPython 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/bc04dfd6dad4cb02cd92f5daa81eb562d280a761\"\u003e\u003ccode\u003ebc04dfd\u003c/code\u003e\u003c/a\u003e v2.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/66d21cb07bd6255b1280291c4fafb71803cdb3b7\"\u003e\u003ccode\u003e66d21cb\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/8b9bc8fc0f63be84602387913c4b689f19efd028\"\u003e\u003ccode\u003e8b9bc8f\u003c/code\u003e\u003c/a\u003e Move badges to top of README (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7293\"\u003e#7293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/e331a288f369973f5de0ec8901c94cae4fa87286\"\u003e\u003ccode\u003ee331a28\u003c/code\u003e\u003c/a\u003e Remove unused extraction call (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7292\"\u003e#7292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/753fd08c5eacce0aa0df73fe47e49525c67e0a29\"\u003e\u003ccode\u003e753fd08\u003c/code\u003e\u003c/a\u003e docs: fix FAQ grammar in httplib2 example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/774a0b837a194ee885d4fdd9ca947900cc3daf71\"\u003e\u003ccode\u003e774a0b8\u003c/code\u003e\u003c/a\u003e docs(socks): same block as other sections\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/9c72a41bec8597f948c9d8caa5dc3f12273b3303\"\u003e\u003ccode\u003e9c72a41\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.33.0 to 4.34.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/ebf71906798ec82f34e07d3168f8b8aecaf8a3be\"\u003e\u003ccode\u003eebf7190\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.32.0 to 4.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/0e4ae38f0c93d4f92a96c774bd52c069d12a4798\"\u003e\u003ccode\u003e0e4ae38\u003c/code\u003e\u003c/a\u003e docs: exclude Response.is_permanent_redirect from API docs (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7244\"\u003e#7244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d568f47278492e630cc990a259047c67991d007a\"\u003e\u003ccode\u003ed568f47\u003c/code\u003e\u003c/a\u003e docs: clarify Quickstart POST example (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6960\"\u003e#6960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.4...v2.33.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.4 to 2.33.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.33.0\u003c/h2\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that uses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report any gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts contents to a non-deterministic location to prevent malicious file replacement. This does not affect default usage of Requests, only applications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause malformed authentication to be applied to Requests on Python 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\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/M0d3v1\"\u003e\u003ccode\u003e@​M0d3v1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6865\"\u003epsf/requests#6865\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminvakil\"\u003e\u003ccode\u003e@​aminvakil\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7220\"\u003epsf/requests#7220\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/E8Price\"\u003e\u003ccode\u003e@​E8Price\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6960\"\u003epsf/requests#6960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mitre88\"\u003e\u003ccode\u003e@​mitre88\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7244\"\u003epsf/requests#7244\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/magsen\"\u003e\u003ccode\u003e@​magsen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6553\"\u003epsf/requests#6553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rohan5commit\"\u003e\u003ccode\u003e@​Rohan5commit\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7227\"\u003epsf/requests#7227\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\"\u003ehttps://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that\nuses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report\nany gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts\ncontents to a non-deterministic location to prevent malicious file\nreplacement. This does not affect default usage of Requests, only\napplications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause\nmalformed authentication to be applied to Requests on\nPython 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/bc04dfd6dad4cb02cd92f5daa81eb562d280a761\"\u003e\u003ccode\u003ebc04dfd\u003c/code\u003e\u003c/a\u003e v2.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/66d21cb07bd6255b1280291c4fafb71803cdb3b7\"\u003e\u003ccode\u003e66d21cb\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/8b9bc8fc0f63be84602387913c4b689f19efd028\"\u003e\u003ccode\u003e8b9bc8f\u003c/code\u003e\u003c/a\u003e Move badges to top of README (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7293\"\u003e#7293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/e331a288f369973f5de0ec8901c94cae4fa87286\"\u003e\u003ccode\u003ee331a28\u003c/code\u003e\u003c/a\u003e Remove unused extraction call (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7292\"\u003e#7292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/753fd08c5eacce0aa0df73fe47e49525c67e0a29\"\u003e\u003ccode\u003e753fd08\u003c/code\u003e\u003c/a\u003e docs: fix FAQ grammar in httplib2 example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/774a0b837a194ee885d4fdd9ca947900cc3daf71\"\u003e\u003ccode\u003e774a0b8\u003c/code\u003e\u003c/a\u003e docs(socks): same block as other sections\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/9c72a41bec8597f948c9d8caa5dc3f12273b3303\"\u003e\u003ccode\u003e9c72a41\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.33.0 to 4.34.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/ebf71906798ec82f34e07d3168f8b8aecaf8a3be\"\u003e\u003ccode\u003eebf7190\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.32.0 to 4.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/0e4ae38f0c93d4f92a96c774bd52c069d12a4798\"\u003e\u003ccode\u003e0e4ae38\u003c/code\u003e\u003c/a\u003e docs: exclude Response.is_permanent_redirect from API docs (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7244\"\u003e#7244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d568f47278492e630cc990a259047c67991d007a\"\u003e\u003ccode\u003ed568f47\u003c/code\u003e\u003c/a\u003e docs: clarify Quickstart POST example (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6960\"\u003e#6960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.4...v2.33.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `flask` from 2.2.5 to 3.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/releases\"\u003eflask's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.3\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.3 security fix release, which fixes a security issue but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.3/\"\u003ehttps://pypi.org/project/Flask/3.1.3/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-3\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-3\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys but not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. \u003ca href=\"https://github.com/pallets/flask/security/advisories/GHSA-68rp-wp8r-4726\"\u003eGHSA-68rp-wp8r-4726\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.2\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.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/Flask/3.1.2/\"\u003ehttps://pypi.org/project/Flask/3.1.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-2\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-2\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/38?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/38?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5774\"\u003e#5774\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state of \u003ccode\u003esession\u003c/code\u003e is correct. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5786\"\u003e#5786\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5776\"\u003e#5776\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.1\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.1 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.1/\"\u003ehttps://pypi.org/project/Flask/3.1.1/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/flask/milestone/36?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/36?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. GHSA-4grg-w6v8-c28g\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5645\"\u003e#5645\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loads the app and plugins first to make sure all commands are shown. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5673\"\u003e#5673\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMark sans-io base class as being able to handle views that return \u003ccode\u003eAsyncIterable\u003c/code\u003e. This is not accurate for Flask, but makes typing easier for Quart. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5659\"\u003e#5659\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.0\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecations, or introduce potentially breaking changes. We encourage everyone to upgrade, and to use a tool such as \u003ca href=\"https://pypi.org/project/pip-tools/\"\u003epip-tools\u003c/a\u003e to pin all dependencies and control upgrades. Test with warnings treated as errors to be able to adapt to deprecation warnings early.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.0/\"\u003ehttps://pypi.org/project/Flask/3.1.0/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-0\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-0\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/33?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/33?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5623\"\u003e#5623\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate minimum dependency versions to latest feature releases. Werkzeug \u0026gt;= 3.1, ItsDangerous \u0026gt;= 2.2, Blinker \u0026gt;= 1.9. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5624\"\u003e#5624\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5633\"\u003e#5633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProvide a configuration option to control automatic option responses. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5496\"\u003e#5496\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFlask.open_resource\u003c/code\u003e/\u003ccode\u003eopen_instance_resource\u003c/code\u003e and \u003ccode\u003eBlueprint.open_resource\u003c/code\u003e take an \u003ccode\u003eencoding\u003c/code\u003e parameter to use when opening in text mode. It defaults to \u003ccode\u003eutf-8\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5504\"\u003e#5504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.max_content_length\u003c/code\u003e can be customized per-request instead of only through the \u003ccode\u003eMAX_CONTENT_LENGTH\u003c/code\u003e config. Added \u003ccode\u003eMAX_FORM_MEMORY_SIZE\u003c/code\u003e and \u003ccode\u003eMAX_FORM_PARTS\u003c/code\u003e config. Added documentation about resource limits to the security page. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5625\"\u003e#5625\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for the \u003ccode\u003ePartitioned\u003c/code\u003e cookie attribute (CHIPS), with the \u003ccode\u003eSESSION_COOKIE_PARTITIONED\u003c/code\u003e config. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5472\"\u003e#5472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e-e path\u003c/code\u003e takes precedence over default \u003ccode\u003e.env\u003c/code\u003e and \u003ccode\u003e.flaskenv\u003c/code\u003e files. \u003ccode\u003eload_dotenv\u003c/code\u003e loads default files in addition to a path unless \u003ccode\u003eload_defaults=False\u003c/code\u003e is passed. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5628\"\u003e#5628\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport key rotation with the \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e config, a list of old secret keys that can still be used for unsigning. Extensions will need to add support. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5621\"\u003e#5621\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix how setting \u003ccode\u003ehost_matching=True\u003c/code\u003e or \u003ccode\u003esubdomain_matching=False\u003c/code\u003e interacts with \u003ccode\u003eSERVER_NAME\u003c/code\u003e. Setting \u003ccode\u003eSERVER_NAME\u003c/code\u003e no longer restricts requests to only that domain. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5553\"\u003e#5553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.trusted_hosts\u003c/code\u003e is checked during routing, and can be set through the \u003ccode\u003eTRUSTED_HOSTS\u003c/code\u003e config. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5636\"\u003e#5636\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.0.3\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/blob/main/CHANGES.rst\"\u003eflask's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.1.3\u003c/h2\u003e\n\u003cp\u003eReleased 2026-02-18\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys\nbut not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. :ghsa:\u003ccode\u003e68rp-wp8r-4726\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.2\u003c/h2\u003e\n\u003cp\u003eReleased 2025-08-19\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. :issue:\u003ccode\u003e5774\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state\nof \u003ccode\u003esession\u003c/code\u003e is correct. :issue:\u003ccode\u003e5786\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. :issue:\u003ccode\u003e5776\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-05-13\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via\n\u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. :ghsa:\u003ccode\u003e4grg-w6v8-c28g\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. :issue:\u003ccode\u003e5645\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loads the app and plugins first to make sure all commands\nare shown. :issue:\u003ccode\u003e5673\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eMark sans-io base class as being able to handle views that return\n\u003ccode\u003eAsyncIterable\u003c/code\u003e. This is not accurate for Flask, but makes typing easier\nfor Quart. :pr:\u003ccode\u003e5659\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.0\u003c/h2\u003e\n\u003cp\u003eReleased 2024-11-13\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. :pr:\u003ccode\u003e5623\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUpdate minimum dependency versions to latest feature releases.\nWerkzeug \u0026gt;= 3.1, ItsDangerous \u0026gt;= 2.2, Blinker \u0026gt;= 1.9. :pr:\u003ccode\u003e5624,5633\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eProvide a configuration option to control automatic option\nresponses. :pr:\u003ccode\u003e5496\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFlask.open_resource\u003c/code\u003e/\u003ccode\u003eopen_instance_resource\u003c/code\u003e and\n\u003ccode\u003eBlueprint.open_resource\u003c/code\u003e take an \u003ccode\u003eencoding\u003c/code\u003e parameter to use when\nopening in text mode. It defaults to \u003ccode\u003eutf-8\u003c/code\u003e. :issue:\u003ccode\u003e5504\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.max_content_length\u003c/code\u003e can be customized per-request instead of only\nthrough the \u003ccode\u003eMAX_CONTENT_LENGTH\u003c/code\u003e config. Added\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/22d924701a6ae2e4cd01e9a15bbaf3946094af65\"\u003e\u003ccode\u003e22d9247\u003c/code\u003e\u003c/a\u003e release version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/089cb86dd22bff589a4eafb7ab8e42dc357623b4\"\u003e\u003ccode\u003e089cb86\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/c17f379390731543eea33a570a47bd4ef76a54fa\"\u003e\u003ccode\u003ec17f379\u003c/code\u003e\u003c/a\u003e request context tracks session access\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/27be9338405382445a7cb01151e084559b98d602\"\u003e\u003ccode\u003e27be933\u003c/code\u003e\u003c/a\u003e start version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4e652d3f68b90d50aa2301d3b7e68c3fafd9251d\"\u003e\u003ccode\u003e4e652d3\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5903\"\u003e#5903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/3d03098a97ddc6a908aa4a50c2ef7381f8297d0a\"\u003e\u003ccode\u003e3d03098\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/407eb76b27884848383a37c7274654f0271e4bc4\"\u003e\u003ccode\u003e407eb76\u003c/code\u003e\u003c/a\u003e document using gevent for async (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5900\"\u003e#5900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/ac5664d2281533eacafd64f5cc7d5edcdaccab60\"\u003e\u003ccode\u003eac5664d\u003c/code\u003e\u003c/a\u003e document using gevent for async\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4f79d5b59a56bc4356a97f2e81a35f98cb18d7b3\"\u003e\u003ccode\u003e4f79d5b\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11 (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5865\"\u003e#5865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/fe3b215d3ade4db68262dae1a3cdc464a1fc524f\"\u003e\u003ccode\u003efe3b215\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/flask/compare/2.2.5...3.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyopenssl` from 25.0.0 to 26.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyca/pyopenssl/blob/main/CHANGELOG.rst\"\u003epyopenssl's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.0.0 (2026-03-15)\u003c/h2\u003e\n\u003cp\u003eBackward-incompatible changes:\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.7.\u003c/li\u003e\n\u003cli\u003eThe minimum \u003ccode\u003ecryptography\u003c/code\u003e version is now 46.0.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations:\n^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003eChanges:\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for using aws-lc instead of OpenSSL.\u003c/li\u003e\n\u003cli\u003eProperly raise an error if a DTLS cookie callback returned a cookie longer than \u003ccode\u003eDTLS1_COOKIE_LENGTH\u003c/code\u003e bytes. Previously this would result in a buffer-overflow. Credit to \u003cstrong\u003edark_haxor\u003c/strong\u003e for reporting the issue. \u003cstrong\u003eCVE-2026-27459\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eOpenSSL.SSL.Connection.get_group_name\u003c/code\u003e to determine which group name was negotiated.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eContext.set_tlsext_servername_callback\u003c/code\u003e now handles exceptions raised in the callback by calling \u003ccode\u003esys.excepthook\u003c/code\u003e and returning a fatal TLS alert. Previously, exceptions were silently swallowed and the handshake would proceed as if the callback had succeeded. Credit to \u003cstrong\u003eLeury Castillo\u003c/strong\u003e for reporting this issue. \u003cstrong\u003eCVE-2026-27448\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e25.3.0 (2025-09-16)\u003c/h2\u003e\n\u003cp\u003eBackward-incompatible changes:\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003eDeprecations:\n^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003eChanges:\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMaximum supported \u003ccode\u003ecryptography\u003c/code\u003e version is now 46.x.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e25.2.0 (2025-09-14)\u003c/h2\u003e\n\u003cp\u003eBackward-incompatible changes:\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe minimum \u003ccode\u003ecryptography\u003c/code\u003e version is now 45.0.7.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations:\n^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003eChanges:\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003epyOpenSSL now sets \u003ccode\u003eSSL_MODE_ACCEPT_MOVING_WRITE_BUFFER\u003c/code\u003e on connections by default, matching CPython's behavior.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/pyopenssl/commit/358cbf29c4e364c59930e53a270116249581eaa3\"\u003e\u003ccode\u003e358cbf2\u003c/code\u003e\u003c/a\u003e Prepare for 26.0.0 release (\u003ca href=\"https://redirect.github.com/pyca/pyopenssl/issues/1487\"\u003e#1487\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/pyopenssl/commit/a8d28e7069ca213049ccfbcc227ed9ef6080a15b\"\u003e\u003ccode\u003ea8d28e7\u003c/code\u003e\u003c/a\u003e Bump actions/cache from 4 to 5 (\u003ca href=\"https://redirect.github.com/pyca/pyopenssl/issues/1486\"\u003e#1486\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/pyopenssl/commit/6fefff05561c0a5e8f668b4e029a6ba3adb7d89e\"\u003e\u003ccode\u003e6fefff0\u003c/code\u003e\u003c/a\u003e Add aws-lc compatibility to tests and CI (\u003ca href=\"https://redirect.github.com/pyca/pyopenssl/issues/1476\"\u003e#1476\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/pyopenssl/commit/a739f9661d09ec6cda448ad71ca3e6df0dce9d75\"\u003e\u003ccode\u003ea739f96\u003c/code\u003e\u003c/a\u003e Bump actions/download-artifact from 8.0.0 to 8.0.1 (\u003ca href=\"https://redirect.github.com/pyca/pyopenssl/issues/1485\"\u003e#1485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/pyopenssl/commit/8b4c66b1b5649ce046665b151772d40c1cddd66a\"\u003e\u003ccode\u003e8b4c66b\u003c/code\u003e\u003c/a\u003e Bump actions/upload-artifact in /.github/actions/upload-coverage (\u003ca href=\"https://redirect.github.com/pyca/pyopenssl/issues/1484\"\u003e#1484\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/pyopenssl/commit/02a5c78435cd445a7d5ef20b354dba2b6abdac64\"\u003e\u003ccode\u003e02a5c78\u003c/code\u003e\u003c/a\u003e Bump actions/upload-artifact from 6.0.0 to 7.0.0 (\u003ca href=\"https://redirect.github.com/pyca/pyopenssl/issues/1483\"\u003e#1483\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/pyopenssl/commit/d9733878d67ee2ad94327768bb6dc416f7827443\"\u003e\u003ccode\u003ed973387\u003c/code\u003e\u003c/a\u003e Bump actions/download-artifact from 7.0.0 to 8.0.0 (\u003ca href=\"https://redirect.github.com/pyca/pyopenssl/issues/1482\"\u003e#1482\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/pyopenssl/commit/57f09bb4bb051d3bc2a1abd36e9525313d5cd408\"\u003e\u003ccode\u003e57f09bb\u003c/code\u003e\u003c/a\u003e Fix buffer overflow in DTLS cookie generation callback (\u003ca href=\"https://redirect.github.com/pyca/pyopenssl/issues/1479\"\u003e#1479\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/pyopenssl/commit/d41a814759a9fb49584ca8ab3f7295de49a85aa0\"\u003e\u003ccode\u003ed41a814\u003c/code\u003e\u003c/a\u003e Handle exceptions in set_tlsext_servername_callback callbacks (\u003ca href=\"https://redirect.github.com/pyca/pyopenssl/issues/1478\"\u003e#1478\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/pyopenssl/commit/7b29beba7759f0b810b5d5375a50469c4f8947b3\"\u003e\u003ccode\u003e7b29beb\u003c/code\u003e\u003c/a\u003e Fix not using a cryptography wheel on uv (\u003ca href=\"https://redirect.github.com/pyca/pyopenssl/issues/1475\"\u003e#1475\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyca/pyopenssl/compare/25.0.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 `werkzeug` from 3.0.6 to 3.1.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/werkzeug/releases\"\u003ewerkzeug's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.6\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.6 security fix release, which fixes a security issue but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Werkzeug/3.1.6/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.6/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/page/changes/#version-3-1-6\"\u003ehttps://werkzeug.palletsprojects.com/page/changes/#version-3-1-6\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow special devices names in multi-segment paths. \u003ca href=\"https://github.com/pallets/werkzeug/security/advisories/GHSA-29vq-49wr-vm6x\"\u003eGHSA-29vq-49wr-vm6x\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.5\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.5 security fix release, which fixes security issues and 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/Werkzeug/3.1.5/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.5/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/page/changes/#version-3-1-5\"\u003ehttps://werkzeug.palletsprojects.com/page/changes/#version-3-1-5\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/werkzeug/milestone/43?closed=1\"\u003ehttps://github.com/pallets/werkzeug/milestone/43?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow more special device names, regardless of extension or surrounding spaces. \u003ca href=\"https://github.com/pallets/werkzeug/security/advisories/GHSA-87hc-h4r5-73f7\"\u003eGHSA-87hc-h4r5-73f7\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe multipart form parser handles a \u003ccode\u003e\\r\\n\u003c/code\u003e sequence at a chunk boundary. This fixes the previous attempt, which caused incorrect content lengths. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3065\"\u003e#3065\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3077\"\u003e#3077\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eAttributeError\u003c/code\u003e when initializing \u003ccode\u003eDebuggedApplication\u003c/code\u003e with \u003ccode\u003epin_security=False\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3075\"\u003e#3075\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.4\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.4 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/Werkzeug/3.1.4/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.4/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/page/changes/#version-3-1-4\"\u003ehttps://werkzeug.palletsprojects.com/page/changes/#version-3-1-4\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/werkzeug/milestone/42?closed=1\"\u003ehttps://github.com/pallets/werkzeug/milestone/42?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow special device names. This prevents reading from these when using \u003ccode\u003esend_from_directory\u003c/code\u003e. \u003ccode\u003esecure_filename\u003c/code\u003e already prevented writing to these. \u003ca href=\"https://github.com/pallets/werkzeug/security/advisories/GHSA-hgf8-39gv-g3f2\"\u003eghsa-hgf8-39gv-g3f2\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe debugger pin fails after 10 attempts instead of 11. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3020\"\u003e#3020\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe multipart form parser handles a \u003ccode\u003e\\r\\n\u003c/code\u003e sequence at a chunk boundary. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3065\"\u003e#3065\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove CPU usage during Watchdog reloader. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3054\"\u003e#3054\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.json\u003c/code\u003e annotation is more accurate. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3067\"\u003e#3067\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTraceback rendering handles when the line number is beyond the available source lines. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3044\"\u003e#3044\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eHTTPException.get_response\u003c/code\u003e annotation and doc better conveys the distinction between WSGI and sans-IO responses. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3056\"\u003e#3056\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.3\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.3 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes vs 3.1.0.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Werkzeug/3.1.3/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.3/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/en/stable/changes/#version-3-1-3\"\u003ehttps://werkzeug.palletsprojects.com/en/stable/changes/#version-3-1-3\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/werkzeug/milestone/41?closed=1\"\u003ehttps://github.com/pallets/werkzeug/milestone/41?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eInitial data passed to \u003ccode\u003eMultiDict\u003c/code\u003e and similar interfaces only accepts \u003ccode\u003elist\u003c/code\u003e, \u003ccode\u003etuple\u003c/code\u003e, or \u003ccode\u003eset\u003c/code\u003e when passing multiple values. It had been changed to accept any \u003ccode\u003eCollection\u003c/code\u003e, but this matched types that should be treated as single values, such as \u003ccode\u003ebytes\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/2994\"\u003e#2994\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen the \u003ccode\u003eHost\u003c/code\u003e header is not set and \u003ccode\u003eRequest.host\u003c/code\u003e falls back to the WSGI \u003ccode\u003eSERVER_NAME\u003c/code\u003e value, if that value is an IPv6 address it is wrapped in \u003ccode\u003e[]\u003c/code\u003e to match the \u003ccode\u003eHost\u003c/code\u003e header. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/2993\"\u003e#2993\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.2\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.2 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes vs 3.1.0.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Werkzeug/3.1.2/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/en/stable/changes/#version-3-1-2\"\u003ehttps://werkzeug.palletsprojects.com/en/stable/changes/#version-3-1-2\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/werkzeug/blob/main/CHANGES.rst\"\u003ewerkzeug's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.1.6\u003c/h2\u003e\n\u003cp\u003eReleased 2026-02-19\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow special devices names in\nmulti-segment paths. :ghsa:\u003ccode\u003e29vq-49wr-vm6x\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eResponse.make_conditional\u003c/code\u003e sets the \u003ccode\u003eAccept-Ranges\u003c/code\u003e header even if it\nis not a satisfiable range request. :issue:\u003ccode\u003e3108\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.5\u003c/h2\u003e\n\u003cp\u003eReleased 2026-01-08\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow more special device names, regardless\nof extension or surrounding spaces. :ghsa:\u003ccode\u003e87hc-h4r5-73f7\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe multipart form parser handles a \u003ccode\u003e\\r\\n\u003c/code\u003e sequence at a chunk boundary.\nThis fixes the previous attempt, which caused incorrect content lengths.\n:issue:\u003ccode\u003e3065\u003c/code\u003e :issue:\u003ccode\u003e3077\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eAttributeError\u003c/code\u003e when initializing \u003ccode\u003eDebuggedApplication\u003c/code\u003e with\n\u003ccode\u003epin_security=False\u003c/code\u003e. :issue:\u003ccode\u003e3075\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.4\u003c/h2\u003e\n\u003cp\u003eReleased 2025-11-28\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow special device names. This prevents\nreading from these when using \u003ccode\u003esend_from_directory\u003c/code\u003e. \u003ccode\u003esecure_filename\u003c/code\u003e\nalready prevented writing to these. :ghsa:\u003ccode\u003ehgf8-39gv-g3f2\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe debugger pin fails after 10 attempts instead of 11. :pr:\u003ccode\u003e3020\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe multipart form parser handles a \u003ccode\u003e\\r\\n\u003c/code\u003e sequence at a chunk boundary.\n:issue:\u003ccode\u003e3065\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eImprove CPU usage during Watchdog reloader. :issue:\u003ccode\u003e3054\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.json\u003c/code\u003e annotation is more accurate. :issue:\u003ccode\u003e3067\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eTraceback rendering handles when the line number is beyond the available\nsource lines. :issue:\u003ccode\u003e3044\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eHTTPException.get_response\u003c/code\u003e annotation and doc better conveys the\ndistinction between WSGI and sans-IO responses. :issue:\u003ccode\u003e3056\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.3\u003c/h2\u003e\n\u003cp\u003eReleased 2024-11-08\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eInitial data passed to \u003ccode\u003eMultiDict\u003c/code\u003e and similar interfaces only accepts\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/werkzeug/commit/04da1b5221b7a7b57e82246e4b5741d37a6b2e56\"\u003e\u003ccode\u003e04da1b5\u003c/code\u003e\u003c/a\u003e release version 3.1.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/f407712fdc60a09c2b3f4fe7db557703e5d9338d\"\u003e\u003ccode\u003ef407712\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/f54fe98026253e70fbbcd35a6b52fb67cfff1c03\"\u003e\u003ccode\u003ef54fe98\u003c/code\u003e\u003c/a\u003e safe_join prevents Windows special device names in multi-segment paths\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/d005985ef69ffe3275eda8fb6fb25e074dbe871b\"\u003e\u003ccode\u003ed005985\u003c/code\u003e\u003c/a\u003e start version 3.1.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/8565c2cbd6681ae8463e77d4fc0795324a7fdae7\"\u003e\u003ccode\u003e8565c2c\u003c/code\u003e\u003c/a\u003e document rule priority (\u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3102\"\u003e#3102\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/3febc7e90072bffe04c27e6b7478dfc4f88930df\"\u003e\u003ccode\u003e3febc7e\u003c/code\u003e\u003c/a\u003e document rule priority\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/2525b827646c10ab7adb334664e6a4af1b769181\"\u003e\u003ccode\u003e2525b82\u003c/code\u003e\u003c/a\u003e remove state machine docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/4abfbd553cdeb6d4e6fa693340d52b13c884079f\"\u003e\u003ccode\u003e4abfbd5\u003c/code\u003e\u003c/a\u003e rewrite build docstring (\u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3097\"\u003e#3097\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/161c18b2a8800ae6ef377fb3cbdb933a878fea67\"\u003e\u003ccode\u003e161c18b\u003c/code\u003e\u003c/a\u003e rewrite build docstring\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/86e11c29e44726dae524cd9db11549b3b1ad681d\"\u003e\u003ccode\u003e86e11c2\u003c/code\u003e\u003c/a\u003e release version 3.1.5 (\u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3085\"\u003e#3085\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/werkzeug/compare/3.0.6...3.1.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.4 to 2.33.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.33.0\u003c/h2\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that uses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report any gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts contents to a non-deterministic location to prevent malicious file replacement. This does not affect default usage of Requests, only applications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause malformed authentication to be applied to Requests on Python 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\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/M0d3v1\"\u003e\u003ccode\u003e@​M0d3v1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6865\"\u003epsf/requests#6865\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminvakil\"\u003e\u003ccode\u003e@​aminvakil\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://red...\n\n_Description has been truncated_","html_url":"https://github.com/Dalek2023/python-docs-samples/pull/10","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dalek2023%2Fpython-docs-samples/issues/10","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/10/packages"},{"uuid":"4222436319","node_id":"PR_kwDOQYU5AM7QtUHO","number":3,"state":"closed","title":"chore(deps): bump the pip group across 19 directories with 11 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-08T19:43:32.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-08T05:57:58.000Z","updated_at":"2026-04-08T19:43:34.000Z","time_to_close":49534,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"pip","update_count":11,"packages":[{"name":"apache-airflow","old_version":"2.6.3","new_version":"3.2.0b1","repository_url":"https://github.com/apache/airflow"},{"name":"flask","old_version":"2.2.5","new_version":"3.1.3","repository_url":"https://github.com/pallets/flask"},{"name":"werkzeug","old_version":"2.2.3","new_version":"3.1.6","repository_url":"https://github.com/pallets/werkzeug"},{"name":"black","old_version":"23.1a1","new_version":"26.3.1","repository_url":"https://github.com/psf/black"},{"name":"cryptography","old_version":"40.0.2","new_version":"46.0.6","repository_url":"https://github.com/pyca/cryptography"},{"name":"protobuf","old_version":"4.23.4","new_version":"5.29.6","repository_url":"https://github.com/protocolbuffers/protobuf"},{"name":"requests","old_version":"2.31.0","new_version":"2.33.0","repository_url":"https://github.com/psf/requests"},{"name":"google-cloud-aiplatform","old_version":"1.27.1","new_version":"1.133.0","repository_url":"https://github.com/googleapis/python-aiplatform"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pip group with 4 updates in the /composer/airflow_1_samples directory: [flask](https://github.com/pallets/flask), [werkzeug](https://github.com/pallets/werkzeug), [cryptography](https://github.com/pyca/cryptography) and [protobuf](https://github.com/protocolbuffers/protobuf).\nBumps the pip group with 8 updates in the /composer/cicd_sample directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [apache-airflow](https://github.com/apache/airflow) | `2.6.3` | `3.2.0b1` |\n| [flask](https://github.com/pallets/flask) | `2.2.5` | `3.1.3` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `2.2.3` | `3.1.6` |\n| [black](https://github.com/psf/black) | `23.1a1` | `26.3.1` |\n| [cryptography](https://github.com/pyca/cryptography) | `40.0.2` | `46.0.6` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `4.23.4` | `5.29.6` |\n| [requests](https://github.com/psf/requests) | `2.31.0` | `2.33.0` |\n| [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) | `1.27.1` | `1.133.0` |\n\nBumps the pip group with 1 update in the /composer/rest directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 8 updates in the /composer/workflows directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [apache-airflow](https://github.com/apache/airflow) | `2.9.2` | `3.2.0b1` |\n| [flask](https://github.com/pallets/flask) | `2.2.5` | `3.1.3` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `2.2.3` | `3.1.6` |\n| [black](https://github.com/psf/black) | `24.4.2` | `26.3.1` |\n| [cryptography](https://github.com/pyca/cryptography) | `41.0.7` | `46.0.6` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `4.25.3` | `5.29.6` |\n| [requests](https://github.com/psf/requests) | `2.31.0` | `2.33.0` |\n| [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) | `1.53.0` | `1.133.0` |\n\nBumps the pip group with 1 update in the /compute/auth directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 1 update in the /compute/client_library directory: [black](https://github.com/psf/black).\nBumps the pip group with 2 updates in the /compute/encryption directory: [cryptography](https://github.com/pyca/cryptography) and [requests](https://github.com/psf/requests).\nBumps the pip group with 1 update in the /compute/metadata directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 1 update in the /compute/oslogin directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 3 updates in the /dataflow/gemma directory: [protobuf](https://github.com/protocolbuffers/protobuf), [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) and [keras](https://github.com/keras-team/keras).\nBumps the pip group with 1 update in the /dataflow/gemma-flex-template directory: [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform).\nBumps the pip group with 3 updates in the /dataflow/run-inference directory: [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform), [torch](https://github.com/pytorch/pytorch) and [transformers](https://github.com/huggingface/transformers).\nBumps the pip group with 1 update in the /dataflow/run_template directory: [flask](https://github.com/pallets/flask).\nBumps the pip group with 2 updates in the /datastore/cloud-ndb directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 2 updates in the /dialogflow directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 2 updates in the /dialogflow-cx directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 2 updates in the /gemma2 directory: [protobuf](https://github.com/protocolbuffers/protobuf) and [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform).\nBumps the pip group with 4 updates in the /iap directory: [flask](https://github.com/pallets/flask), [werkzeug](https://github.com/pallets/werkzeug), [cryptography](https://github.com/pyca/cryptography) and [requests](https://github.com/psf/requests).\nBumps the pip group with 1 update in the /media_cdn directory: [cryptography](https://github.com/pyca/cryptography).\n\nUpdates `flask` from 1.1.2 to 3.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/releases\"\u003eflask's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.3\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.3 security fix release, which fixes a security issue but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.3/\"\u003ehttps://pypi.org/project/Flask/3.1.3/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-3\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-3\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys but not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. \u003ca href=\"https://github.com/pallets/flask/security/advisories/GHSA-68rp-wp8r-4726\"\u003eGHSA-68rp-wp8r-4726\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.2\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.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/Flask/3.1.2/\"\u003ehttps://pypi.org/project/Flask/3.1.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-2\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-2\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/38?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/38?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5774\"\u003e#5774\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state of \u003ccode\u003esession\u003c/code\u003e is correct. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5786\"\u003e#5786\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5776\"\u003e#5776\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.1\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.1 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.1/\"\u003ehttps://pypi.org/project/Flask/3.1.1/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/flask/milestone/36?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/36?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. GHSA-4grg-w6v8-c28g\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5645\"\u003e#5645\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loads the app and plugins first to make sure all commands are shown. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5673\"\u003e#5673\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMark sans-io base class as being able to handle views that return \u003ccode\u003eAsyncIterable\u003c/code\u003e. This is not accurate for Flask, but makes typing easier for Quart. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5659\"\u003e#5659\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.0\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecations, or introduce potentially breaking changes. We encourage everyone to upgrade, and to use a tool such as \u003ca href=\"https://pypi.org/project/pip-tools/\"\u003epip-tools\u003c/a\u003e to pin all dependencies and control upgrades. Test with warnings treated as errors to be able to adapt to deprecation warnings early.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.0/\"\u003ehttps://pypi.org/project/Flask/3.1.0/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-0\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-0\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/33?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/33?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5623\"\u003e#5623\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate minimum dependency versions to latest feature releases. Werkzeug \u0026gt;= 3.1, ItsDangerous \u0026gt;= 2.2, Blinker \u0026gt;= 1.9. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5624\"\u003e#5624\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5633\"\u003e#5633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProvide a configuration option to control automatic option responses. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5496\"\u003e#5496\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFlask.open_resource\u003c/code\u003e/\u003ccode\u003eopen_instance_resource\u003c/code\u003e and \u003ccode\u003eBlueprint.open_resource\u003c/code\u003e take an \u003ccode\u003eencoding\u003c/code\u003e parameter to use when opening in text mode. It defaults to \u003ccode\u003eutf-8\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5504\"\u003e#5504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.max_content_length\u003c/code\u003e can be customized per-request instead of only through the \u003ccode\u003eMAX_CONTENT_LENGTH\u003c/code\u003e config. Added \u003ccode\u003eMAX_FORM_MEMORY_SIZE\u003c/code\u003e and \u003ccode\u003eMAX_FORM_PARTS\u003c/code\u003e config. Added documentation about resource limits to the security page. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5625\"\u003e#5625\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for the \u003ccode\u003ePartitioned\u003c/code\u003e cookie attribute (CHIPS), with the \u003ccode\u003eSESSION_COOKIE_PARTITIONED\u003c/code\u003e config. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5472\"\u003e#5472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e-e path\u003c/code\u003e takes precedence over default \u003ccode\u003e.env\u003c/code\u003e and \u003ccode\u003e.flaskenv\u003c/code\u003e files. \u003ccode\u003eload_dotenv\u003c/code\u003e loads default files in addition to a path unless \u003ccode\u003eload_defaults=False\u003c/code\u003e is passed. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5628\"\u003e#5628\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport key rotation with the \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e config, a list of old secret keys that can still be used for unsigning. Extensions will need to add support. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5621\"\u003e#5621\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix how setting \u003ccode\u003ehost_matching=True\u003c/code\u003e or \u003ccode\u003esubdomain_matching=False\u003c/code\u003e interacts with \u003ccode\u003eSERVER_NAME\u003c/code\u003e. Setting \u003ccode\u003eSERVER_NAME\u003c/code\u003e no longer restricts requests to only that domain. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5553\"\u003e#5553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.trusted_hosts\u003c/code\u003e is checked during routing, and can be set through the \u003ccode\u003eTRUSTED_HOSTS\u003c/code\u003e config. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5636\"\u003e#5636\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.0.3\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/blob/main/CHANGES.rst\"\u003eflask's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.1.3\u003c/h2\u003e\n\u003cp\u003eReleased 2026-02-18\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys\nbut not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. :ghsa:\u003ccode\u003e68rp-wp8r-4726\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.2\u003c/h2\u003e\n\u003cp\u003eReleased 2025-08-19\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. :issue:\u003ccode\u003e5774\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state\nof \u003ccode\u003esession\u003c/code\u003e is correct. :issue:\u003ccode\u003e5786\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. :issue:\u003ccode\u003e5776\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-05-13\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via\n\u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. :ghsa:\u003ccode\u003e4grg-w6v8-c28g\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. :issue:\u003ccode\u003e5645\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loads the app and plugins first to make sure all commands\nare shown. :issue:\u003ccode\u003e5673\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eMark sans-io base class as being able to handle views that return\n\u003ccode\u003eAsyncIterable\u003c/code\u003e. This is not accurate for Flask, but makes typing easier\nfor Quart. :pr:\u003ccode\u003e5659\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.0\u003c/h2\u003e\n\u003cp\u003eReleased 2024-11-13\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. :pr:\u003ccode\u003e5623\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUpdate minimum dependency versions to latest feature releases.\nWerkzeug \u0026gt;= 3.1, ItsDangerous \u0026gt;= 2.2, Blinker \u0026gt;= 1.9. :pr:\u003ccode\u003e5624,5633\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eProvide a configuration option to control automatic option\nresponses. :pr:\u003ccode\u003e5496\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFlask.open_resource\u003c/code\u003e/\u003ccode\u003eopen_instance_resource\u003c/code\u003e and\n\u003ccode\u003eBlueprint.open_resource\u003c/code\u003e take an \u003ccode\u003eencoding\u003c/code\u003e parameter to use when\nopening in text mode. It defaults to \u003ccode\u003eutf-8\u003c/code\u003e. :issue:\u003ccode\u003e5504\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.max_content_length\u003c/code\u003e can be customized per-request instead of only\nthrough the \u003ccode\u003eMAX_CONTENT_LENGTH\u003c/code\u003e config. Added\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/22d924701a6ae2e4cd01e9a15bbaf3946094af65\"\u003e\u003ccode\u003e22d9247\u003c/code\u003e\u003c/a\u003e release version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/089cb86dd22bff589a4eafb7ab8e42dc357623b4\"\u003e\u003ccode\u003e089cb86\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/c17f379390731543eea33a570a47bd4ef76a54fa\"\u003e\u003ccode\u003ec17f379\u003c/code\u003e\u003c/a\u003e request context tracks session access\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/27be9338405382445a7cb01151e084559b98d602\"\u003e\u003ccode\u003e27be933\u003c/code\u003e\u003c/a\u003e start version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4e652d3f68b90d50aa2301d3b7e68c3fafd9251d\"\u003e\u003ccode\u003e4e652d3\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5903\"\u003e#5903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/3d03098a97ddc6a908aa4a50c2ef7381f8297d0a\"\u003e\u003ccode\u003e3d03098\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/407eb76b27884848383a37c7274654f0271e4bc4\"\u003e\u003ccode\u003e407eb76\u003c/code\u003e\u003c/a\u003e document using gevent for async (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5900\"\u003e#5900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/ac5664d2281533eacafd64f5cc7d5edcdaccab60\"\u003e\u003ccode\u003eac5664d\u003c/code\u003e\u003c/a\u003e document using gevent for async\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4f79d5b59a56bc4356a97f2e81a35f98cb18d7b3\"\u003e\u003ccode\u003e4f79d5b\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11 (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5865\"\u003e#5865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/fe3b215d3ade4db68262dae1a3cdc464a1fc524f\"\u003e\u003ccode\u003efe3b215\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/flask/compare/1.1.2...3.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `werkzeug` from 0.16.1 to 3.1.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/werkzeug/releases\"\u003ewerkzeug's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.6\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.6 security fix release, which fixes a security issue but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Werkzeug/3.1.6/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.6/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/page/changes/#version-3-1-6\"\u003ehttps://werkzeug.palletsprojects.com/page/changes/#version-3-1-6\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow special devices names in multi-segment paths. \u003ca href=\"https://github.com/pallets/werkzeug/security/advisories/GHSA-29vq-49wr-vm6x\"\u003eGHSA-29vq-49wr-vm6x\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.5\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.5 security fix release, which fixes security issues and 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/Werkzeug/3.1.5/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.5/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/page/changes/#version-3-1-5\"\u003ehttps://werkzeug.palletsprojects.com/page/changes/#version-3-1-5\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/werkzeug/milestone/43?closed=1\"\u003ehttps://github.com/pallets/werkzeug/milestone/43?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow more special device names, regardless of extension or surrounding spaces. \u003ca href=\"https://github.com/pallets/werkzeug/security/advisories/GHSA-87hc-h4r5-73f7\"\u003eGHSA-87hc-h4r5-73f7\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe multipart form parser handles a \u003ccode\u003e\\r\\n\u003c/code\u003e sequence at a chunk boundary. This fixes the previous attempt, which caused incorrect content lengths. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3065\"\u003e#3065\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3077\"\u003e#3077\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eAttributeError\u003c/code\u003e when initializing \u003ccode\u003eDebuggedApplication\u003c/code\u003e with \u003ccode\u003epin_security=False\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3075\"\u003e#3075\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.4\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.4 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/Werkzeug/3.1.4/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.4/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/page/changes/#version-3-1-4\"\u003ehttps://werkzeug.palletsprojects.com/page/changes/#version-3-1-4\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/werkzeug/milestone/42?closed=1\"\u003ehttps://github.com/pallets/werkzeug/milestone/42?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow special device names. This prevents reading from these when using \u003ccode\u003esend_from_directory\u003c/code\u003e. \u003ccode\u003esecure_filename\u003c/code\u003e already prevented writing to these. \u003ca href=\"https://github.com/pallets/werkzeug/security/advisories/GHSA-hgf8-39gv-g3f2\"\u003eghsa-hgf8-39gv-g3f2\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe debugger pin fails after 10 attempts instead of 11. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3020\"\u003e#3020\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe multipart form parser handles a \u003ccode\u003e\\r\\n\u003c/code\u003e sequence at a chunk boundary. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3065\"\u003e#3065\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove CPU usage during Watchdog reloader. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3054\"\u003e#3054\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.json\u003c/code\u003e annotation is more accurate. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3067\"\u003e#3067\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTraceback rendering handles when the line number is beyond the available source lines. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3044\"\u003e#3044\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eHTTPException.get_response\u003c/code\u003e annotation and doc better conveys the distinction between WSGI and sans-IO responses. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3056\"\u003e#3056\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.3\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.3 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes vs 3.1.0.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Werkzeug/3.1.3/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.3/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/en/stable/changes/#version-3-1-3\"\u003ehttps://werkzeug.palletsprojects.com/en/stable/changes/#version-3-1-3\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/werkzeug/milestone/41?closed=1\"\u003ehttps://github.com/pallets/werkzeug/milestone/41?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eInitial data passed to \u003ccode\u003eMultiDict\u003c/code\u003e and similar interfaces only accepts \u003ccode\u003elist\u003c/code\u003e, \u003ccode\u003etuple\u003c/code\u003e, or \u003ccode\u003eset\u003c/code\u003e when passing multiple values. It had been changed to accept any \u003ccode\u003eCollection\u003c/code\u003e, but this matched types that should be treated as single values, such as \u003ccode\u003ebytes\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/2994\"\u003e#2994\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen the \u003ccode\u003eHost\u003c/code\u003e header is not set and \u003ccode\u003eRequest.host\u003c/code\u003e falls back to the WSGI \u003ccode\u003eSERVER_NAME\u003c/code\u003e value, if that value is an IPv6 address it is wrapped in \u003ccode\u003e[]\u003c/code\u003e to match the \u003ccode\u003eHost\u003c/code\u003e header. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/2993\"\u003e#2993\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.2\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.2 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes vs 3.1.0.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Werkzeug/3.1.2/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/en/stable/changes/#version-3-1-2\"\u003ehttps://werkzeug.palletsprojects.com/en/stable/changes/#version-3-1-2\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/werkzeug/blob/main/CHANGES.rst\"\u003ewerkzeug's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.1.6\u003c/h2\u003e\n\u003cp\u003eReleased 2026-02-19\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow special devices names in\nmulti-segment paths. :ghsa:\u003ccode\u003e29vq-49wr-vm6x\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eResponse.make_conditional\u003c/code\u003e sets the \u003ccode\u003eAccept-Ranges\u003c/code\u003e header even if it\nis not a satisfiable range request. :issue:\u003ccode\u003e3108\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.5\u003c/h2\u003e\n\u003cp\u003eReleased 2026-01-08\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow more special device names, regardless\nof extension or surrounding spaces. :ghsa:\u003ccode\u003e87hc-h4r5-73f7\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe multipart form parser handles a \u003ccode\u003e\\r\\n\u003c/code\u003e sequence at a chunk boundary.\nThis fixes the previous attempt, which caused incorrect content lengths.\n:issue:\u003ccode\u003e3065\u003c/code\u003e :issue:\u003ccode\u003e3077\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eAttributeError\u003c/code\u003e when initializing \u003ccode\u003eDebuggedApplication\u003c/code\u003e with\n\u003ccode\u003epin_security=False\u003c/code\u003e. :issue:\u003ccode\u003e3075\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.4\u003c/h2\u003e\n\u003cp\u003eReleased 2025-11-28\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow special device names. This prevents\nreading from these when using \u003ccode\u003esend_from_directory\u003c/code\u003e. \u003ccode\u003esecure_filename\u003c/code\u003e\nalready prevented writing to these. :ghsa:\u003ccode\u003ehgf8-39gv-g3f2\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe debugger pin fails after 10 attempts instead of 11. :pr:\u003ccode\u003e3020\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe multipart form parser handles a \u003ccode\u003e\\r\\n\u003c/code\u003e sequence at a chunk boundary.\n:issue:\u003ccode\u003e3065\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eImprove CPU usage during Watchdog reloader. :issue:\u003ccode\u003e3054\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.json\u003c/code\u003e annotation is more accurate. :issue:\u003ccode\u003e3067\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eTraceback rendering handles when the line number is beyond the available\nsource lines. :issue:\u003ccode\u003e3044\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eHTTPException.get_response\u003c/code\u003e annotation and doc better conveys the\ndistinction between WSGI and sans-IO responses. :issue:\u003ccode\u003e3056\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.3\u003c/h2\u003e\n\u003cp\u003eReleased 2024-11-08\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eInitial data passed to \u003ccode\u003eMultiDict\u003c/code\u003e and similar interfaces only accepts\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/werkzeug/commit/04da1b5221b7a7b57e82246e4b5741d37a6b2e56\"\u003e\u003ccode\u003e04da1b5\u003c/code\u003e\u003c/a\u003e release version 3.1.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/f407712fdc60a09c2b3f4fe7db557703e5d9338d\"\u003e\u003ccode\u003ef407712\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/f54fe98026253e70fbbcd35a6b52fb67cfff1c03\"\u003e\u003ccode\u003ef54fe98\u003c/code\u003e\u003c/a\u003e safe_join prevents Windows special device names in multi-segment paths\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/d005985ef69ffe3275eda8fb6fb25e074dbe871b\"\u003e\u003ccode\u003ed005985\u003c/code\u003e\u003c/a\u003e start version 3.1.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/8565c2cbd6681ae8463e77d4fc0795324a7fdae7\"\u003e\u003ccode\u003e8565c2c\u003c/code\u003e\u003c/a\u003e document rule priority (\u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3102\"\u003e#3102\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/3febc7e90072bffe04c27e6b7478dfc4f88930df\"\u003e\u003ccode\u003e3febc7e\u003c/code\u003e\u003c/a\u003e document rule priority\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/2525b827646c10ab7adb334664e6a4af1b769181\"\u003e\u003ccode\u003e2525b82\u003c/code\u003e\u003c/a\u003e remove state machine docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/4abfbd553cdeb6d4e6fa693340d52b13c884079f\"\u003e\u003ccode\u003e4abfbd5\u003c/code\u003e\u003c/a\u003e rewrite build docstring (\u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3097\"\u003e#3097\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/161c18b2a8800ae6ef377fb3cbdb933a878fea67\"\u003e\u003ccode\u003e161c18b\u003c/code\u003e\u003c/a\u003e rewrite build docstring\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/86e11c29e44726dae524cd9db11549b3b1ad681d\"\u003e\u003ccode\u003e86e11c2\u003c/code\u003e\u003c/a\u003e release version 3.1.5 (\u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3085\"\u003e#3085\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/werkzeug/compare/0.16.1...3.1.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cryptography` from 3.2.1 to 46.0.6\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst\"\u003ecryptography's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e46.0.6 - 2026-03-25\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* **SECURITY ISSUE**: Fixed a bug where name constraints were not applied\n  to peer names during verification when the leaf certificate contains a\n  wildcard DNS SAN. Ordinary X.509 topologies are not affected by this bug,\n  including those used by the Web PKI. Credit to **Oleh Konko (1seal)** for\n  reporting the issue. **CVE-2026-34073**\n\u003cp\u003e.. _v46-0-5:\u003c/p\u003e\n\u003cp\u003e46.0.5 - 2026-02-10\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAn attacker could create a malicious public key that reveals portions of your\nprivate key when using certain uncommon elliptic curves (binary curves).\nThis version now includes additional security checks to prevent this attack.\nThis issue only affects binary elliptic curves, which are rarely used in\nreal-world applications. Credit to \u003cstrong\u003eXlabAI Team of Tencent Xuanwu Lab and\nAtuin Automated Vulnerability Discovery Engine\u003c/strong\u003e for reporting the issue.\n\u003cstrong\u003eCVE-2026-26007\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eSupport for \u003ccode\u003eSECT*\u003c/code\u003e binary elliptic curves is deprecated and will be\nremoved in the next release.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. v46-0-4:\u003c/p\u003e\n\u003cp\u003e46.0.4 - 2026-01-27\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* `Dropped support for win_arm64 wheels`_.\n* Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.5.\n\u003cp\u003e.. _v46-0-3:\u003c/p\u003e\n\u003cp\u003e46.0.3 - 2025-10-15\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed compilation when using LibreSSL 4.2.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _v46-0-2:\u003c/p\u003e\n\u003cp\u003e46.0.2 - 2025-09-30\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.4.\n\u003cp\u003e.. _v46-0-1:\u003c/p\u003e\n\u003cp\u003e46.0.1 - 2025-09-16\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/91d728897bdad30cd5c79a2b23e207f1f050d587\"\u003e\u003ccode\u003e91d7288\u003c/code\u003e\u003c/a\u003e Cherry-pick \u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14542\"\u003e#14542\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14543\"\u003e#14543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/06e120e682cb200e3f7050c02f0bcdac90c4c6ad\"\u003e\u003ccode\u003e06e120e\u003c/code\u003e\u003c/a\u003e bump version for 46.0.5 release (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14289\"\u003e#14289\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/0eebb9dbb6343d9bc1d91e5a2482ed4e054a6d8c\"\u003e\u003ccode\u003e0eebb9d\u003c/code\u003e\u003c/a\u003e EC check key on cofactor \u0026gt; 1 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14287\"\u003e#14287\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/bedf6e186b814f69a3f54f51252c23a71d44ed2e\"\u003e\u003ccode\u003ebedf6e1\u003c/code\u003e\u003c/a\u003e fix openssl version on 46 branch (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14220\"\u003e#14220\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/e6f44fc8e6391f05d719fb9d369692325b87a471\"\u003e\u003ccode\u003ee6f44fc\u003c/code\u003e\u003c/a\u003e bump for 46.0.4 and drop win arm64 due to CI issues (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14217\"\u003e#14217\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/c0af4dd7b75921bbe9f1d41a03dbd4b64a9e3403\"\u003e\u003ccode\u003ec0af4dd\u003c/code\u003e\u003c/a\u003e release 46.0.3 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13681\"\u003e#13681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/99efe5ad150a56efadafacaffd0e3ee319373904\"\u003e\u003ccode\u003e99efe5a\u003c/code\u003e\u003c/a\u003e bump version for 46.0.2 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13531\"\u003e#13531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/e735cfc27502320101c130335c556394a125ba52\"\u003e\u003ccode\u003ee735cfc\u003c/code\u003e\u003c/a\u003e release 46.0.1 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13450\"\u003e#13450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/4e457ffba43a6d87efc63c33041e2081438dd8a4\"\u003e\u003ccode\u003e4e457ff\u003c/code\u003e\u003c/a\u003e Explicitly specify python in mac uv build invocation (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13447\"\u003e#13447\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/2726efdb6d67f1c90cf9c6062d9fe051965586f8\"\u003e\u003ccode\u003e2726efd\u003c/code\u003e\u003c/a\u003e Depend on CFFI 2.0.0 or newer on Python \u0026gt; 3.8 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13448\"\u003e#13448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyca/cryptography/compare/3.2.1...46.0.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `protobuf` from 3.14.0 to 5.29.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/protocolbuffers/protobuf/releases\"\u003eprotobuf's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eProtocol Buffers v34.0-rc1\u003c/h2\u003e\n\u003ch1\u003eAnnouncements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eThis version includes breaking changes to: C++, Objective-C, PHP, Python.\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e[Bazel] Remove deprecated ProtoInfo.transitive_imports. Use equivalent transitive_sources instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/0a5c2f6b633c1e5259f566cb42d30fe347b8aadb\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/0a5c2f6b633c1e5259f566cb42d30fe347b8aadb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Make generator headers private (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/3a2af3510f0d454dbe3e4dc281674b61c4d20b9e\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/3a2af3510f0d454dbe3e4dc281674b61c4d20b9e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Add a debug check that the target of CopyFrom is not a descendant of the source. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/7a7589823d2cfaaf7994b050e98d5d553bc9b1c1\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/7a7589823d2cfaaf7994b050e98d5d553bc9b1c1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Add [[nodiscard]] to many APIs. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/a70115f33f9af2c4b2202c800b84837e7fe0d738\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/a70115f33f9af2c4b2202c800b84837e7fe0d738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Make the arena-enabled constructors of \u003ccode\u003eRepeatedField\u003c/code\u003e, \u003ccode\u003eRepeatedPtrField\u003c/code\u003e, and \u003ccode\u003eMap\u003c/code\u003e private. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/ef890c3d0c79398c70e047fe5dd893f460ba2336\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/ef890c3d0c79398c70e047fe5dd893f460ba2336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Remove deprecated FieldDescriptor::label() in OSS. Use is_repeated() or is_required() instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/b76faa921fdd244f374c7be0bddd4050fc42c292\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/b76faa921fdd244f374c7be0bddd4050fc42c292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Removes proto2::util::MessageDifferencer::AddIgnoreCriteria that takes a raw pointer as an argument in favor of the overload that takes a unique_ptr. Remove macro PROTOBUF_FUTURE_REMOVE_ADD_IGNORE_CRITERIA (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/b115358c64127896fed88b8b5ef5d91d86d8cbae\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/b115358c64127896fed88b8b5ef5d91d86d8cbae\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Remove deprecated FieldDescriptor::has_optional_keyword() in OSS. Use is_repeated() or has_presence() instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/68346ec9348e932664e58c3ecdcd1478f95233a8\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/68346ec9348e932664e58c3ecdcd1478f95233a8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Remove AddUnusedImportTrackFile() and ClearUnusedImportTrackFiles(). Remove PROTOBUF_FUTURE_RENAME_ADD_UNUSED_IMPORT (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/837a2cd1d6c75402b2503ffe7cd8aeaf25868536\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/837a2cd1d6c75402b2503ffe7cd8aeaf25868536\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Remove deprecated FieldDescriptor::is_optional() in OSS. Use (!is_required() \u0026amp;\u0026amp; !is_repeated()) instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/9dbc5d479a8e453921485d8d3de47fb3c005f1af\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/9dbc5d479a8e453921485d8d3de47fb3c005f1af\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Remove deprecated UseDeprecatedLegacyJsonFieldConflicts() (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/c301c2ca286327a21c50c0c4cd877afc9c655b00\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/c301c2ca286327a21c50c0c4cd877afc9c655b00\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] All entity names have length limit (2afb0dc)\u003c/li\u003e\n\u003cli\u003e[ObjC] Remove \u003ccode\u003egenerate_minimal_imports\u003c/code\u003e generation option warning (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/45b1297fdaad5a9436d0e207422168c38dc45ac4\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/45b1297fdaad5a9436d0e207422168c38dc45ac4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[ObjC] Fix nullability annotations on some \u003ccode\u003eGPB*Dictionary\u003c/code\u003e types. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/ea67d6d26a48478a567c404679e3bb99cf230d50\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/ea67d6d26a48478a567c404679e3bb99cf230d50\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[ObjC] Remove \u003ccode\u003e-[GPBFieldDescriptor optional]\u003c/code\u003e (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/3414dc151eb4dcbdb2ca952e2589993bf7af75c4\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/3414dc151eb4dcbdb2ca952e2589993bf7af75c4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Other] Remove deprecated flag for enabling MSVC support (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/97c979be6e0907e1051bee62584dac4594e73fa7\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/97c979be6e0907e1051bee62584dac4594e73fa7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PHP] Remove deprecated PHP APIs (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/9c45014099a4f7004fab6dd1278de2f4f2a393c5\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/9c45014099a4f7004fab6dd1278de2f4f2a393c5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PHP] Remove deprecated PHP APIs FieldDescriptor getLabel, use IsRepeated or isRequired instead. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/42081219920c6fad17ba6ddd1e28d111bcfb3345\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/42081219920c6fad17ba6ddd1e28d111bcfb3345\u003c/a\u003e, \u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/cd76e675b14d00dda5623b30835d2bc7105fccc6\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/cd76e675b14d00dda5623b30835d2bc7105fccc6\u003c/a\u003e, \u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/42081219920c6fad17ba6ddd1e28d111bcfb3345\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/42081219920c6fad17ba6ddd1e28d111bcfb3345\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PHP]  Add PHP typehints for setters and remove redundant GPBUtil checks (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/pull/25296\"\u003eprotocolbuffers/protobuf#25296\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/aee03b78929c02461a5f9d8e136a2a016359b0cd\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/aee03b78929c02461a5f9d8e136a2a016359b0cd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PHP]  support default values for editions/proto2 (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/pull/25161\"\u003eprotocolbuffers/protobuf#25161\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/b01099d56350551bae3da88b97bf3027274c9f17\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/b01099d56350551bae3da88b97bf3027274c9f17\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Raise errors in OSS when assign bool to int/enum field in Python Proto. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/5b116fe2f14f49dd0cc3b76089983717f211025c\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/5b116fe2f14f49dd0cc3b76089983717f211025c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Remove float_format/double_format from python proto text_format (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/e4854a186e0bfa867d5bfa5cd850608a948fd488\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/e4854a186e0bfa867d5bfa5cd850608a948fd488\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Raise TypeError when convert non-timedelta to Duration, or convert non-datetime to Timestamp in python proto. (Original code may raise ArributeError) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/00aaca1b4d98954bc2933d7c8a5379ba6088124c\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/00aaca1b4d98954bc2933d7c8a5379ba6088124c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Remove float_precision from python proto json_format (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/f027f1fcd52b9d080b7ee79f4024f53cf54e0dc5\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/f027f1fcd52b9d080b7ee79f4024f53cf54e0dc5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Remove deprecated FieldDescriptor::label() in OSS. Use is_repeated() or is_required() instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/b76faa921fdd244f374c7be0bddd4050fc42c292\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/b76faa921fdd244f374c7be0bddd4050fc42c292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Remove deprecated FieldDescriptor.label (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/0a8ff55518ea5874478ad5b26515b31d186045a9\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/0a8ff55518ea5874478ad5b26515b31d186045a9\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Remove deprecated UseDeprecatedLegacyJsonFieldConflicts() (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/c301c2ca286327a21c50c0c4cd877afc9c655b00\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/c301c2ca286327a21c50c0c4cd877afc9c655b00\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://protobuf.dev/news/\"\u003eProtobuf News\u003c/a\u003e may include additional announcements or pre-announcements for upcoming changes.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://protobuf.dev/support/migration/\"\u003eMigration Guide\u003c/a\u003e may include additional guidance for breaking changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eBazel\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix: cc_toolchain should prefer protoc when prebuilt flag is flipped. (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/issues/25168\"\u003e#25168\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/8c857c3a1c6a106b0a096f1c9fa504bfaca035a9\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/8c857c3a1c6a106b0a096f1c9fa504bfaca035a9\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBreaking change: Remove deprecated ProtoInfo.transitive_imports. Use equivalent transitive_sources instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/0a5c2f6b633c1e5259f566cb42d30fe347b8aadb\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/0a5c2f6b633c1e5259f566cb42d30fe347b8aadb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFeat(bazel): wire up prebuilt protoc toolchain (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/issues/24115\"\u003e#24115\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/cc23698b486e690ea2eb873cc7596a87c74a3ba6\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/cc23698b486e690ea2eb873cc7596a87c74a3ba6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMigrate \u003ccode\u003eproto_descriptor_set\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/issues/23369\"\u003e#23369\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/8d4dfdd39a7a242a9ed631a6ab2192c57dd9b9c8\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/8d4dfdd39a7a242a9ed631a6ab2192c57dd9b9c8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eCompiler\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eRuby codegen: support generation of rbs files (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/issues/15633\"\u003e#15633\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/6ebdf851ba78728f0aa145d38454ed9a316fb08d\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/6ebdf851ba78728f0aa145d38454ed9a316fb08d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid collision name problems between a message named \u003ccode\u003eXyz\u003c/code\u003e and a direct sibling enum named \u003ccode\u003eXyzView\u003c/code\u003e (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/eba53e8f172b273d679759a72ce4250131ee3df1\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/eba53e8f172b273d679759a72ce4250131ee3df1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGeneralizing and implementing ValidateFeatureSupport for both Options and Features during proto parsing (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/ed3c57114d8e2b47cca7697ddaa50c1b3762a6b0\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/ed3c57114d8e2b47cca7697ddaa50c1b3762a6b0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a bug with custom features outside of the \u003ccode\u003epb\u003c/code\u003e package. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/872d3ce7a4da00d7dcec33ced20cfe45235935e8\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/872d3ce7a4da00d7dcec33ced20cfe45235935e8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix import option handling when include_imports isn't set. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/9ef9e80afd9bc8379d578fe67e5ab0738728c04e\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/9ef9e80afd9bc8379d578fe67e5ab0738728c04e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a bug in STRICT check of namespaced enums to properly check for 'reserved 1 to max' (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/1229d4adba24c0952ab85ce96bc7b7f8a1fe6d0f\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/1229d4adba24c0952ab85ce96bc7b7f8a1fe6d0f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent accidental stripping of \u003ccode\u003edebug_redact\u003c/code\u003e options via import option. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/f58b098bffa7ca4045ef7773b09151a6af5d0c28\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/f58b098bffa7ca4045ef7773b09151a6af5d0c28\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eC++\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd EnumerateEnumValues function. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/397d5d99db274b379d1384814074bf7df39d32f7\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/397d5d99db274b379d1384814074bf7df39d32f7\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\u003eSee full diff in \u003ca href=\"https://github.com/protocolbuffers/protobuf/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `apache-airflow` from 2.6.3 to 3.2.0b1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/airflow/releases\"\u003eapache-airflow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eApache Airflow 3.1.8\u003c/h2\u003e\n\u003cp\u003e:package: PyPI: \u003ca href=\"https://pypi.org/project/apache-airflow/3.1.8/\"\u003ehttps://pypi.org/project/apache-airflow/3.1.8/\u003c/a\u003e\n:books: Docs: \u003ca href=\"https://airflow.apache.org/docs/apache-airflow/3.1.8/\"\u003ehttps://airflow.apache.org/docs/apache-airflow/3.1.8/\u003c/a\u003e\n:hammer_and_wrench: Release Notes: \u003ca href=\"https://airflow.apache.org/docs/apache-airflow/3.1.8/release_notes.html\"\u003ehttps://airflow.apache.org/docs/apache-airflow/3.1.8/release_notes.html\u003c/a\u003e\n:whale: Docker Image: \u0026quot;docker pull apache/airflow:3.1.8\u0026quot;\n:busstop: Constraints: \u003ca href=\"https://github.com/apache/airflow/tree/constraints-3.1.8\"\u003ehttps://github.com/apache/airflow/tree/constraints-3.1.8\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eSignificant Changes\u003c/h2\u003e\n\u003ch3\u003eBackfill permissions are now handled via \u003ccode\u003eDagAccessEntity.Run\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61456\"\u003e#61456\u003c/a\u003e)\u003c/h3\u003e\n\u003cp\u003e\u003ccode\u003eis_authorized_backfill\u003c/code\u003e of the \u003ccode\u003eBaseAuthManager\u003c/code\u003e interface has been removed. Core will no longer call this method and their\nprovider counterpart implementation will be marked as deprecated.\nPermissions for backfill operations are now checked against the \u003ccode\u003eDagAccessEntity.Run\u003c/code\u003e permission using the existing\n\u003ccode\u003erequires_access_dag\u003c/code\u003e decorator. In other words, if a user has permission to run a DAG, they can perform backfill operations on it.\u003c/p\u003e\n\u003cp\u003ePlease update your security policies to ensure that users who need to perform backfill operations have the appropriate \u003ccode\u003eDagAccessEntity.Run\u003c/code\u003e permissions. (Users\nhaving the Backfill permissions without having the DagRun ones will no longer be able to perform backfill operations without any update)\u003c/p\u003e\n\u003ch3\u003eElasticsearch is now fully compatible with remote logging along (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62940\"\u003e#62940\u003c/a\u003e)\u003c/h3\u003e\n\u003cp\u003eElasticsearch is now fully compatible with remote logging along side with \u003ccode\u003eapache-airflow-providers-elasticsearch\u0026gt;=6.5.0\u003c/code\u003e. Please review elasticsearch provider release notes for more information \u003ca href=\"https://airflow.apache.org/docs/apache-airflow-providers-elasticsearch/6.5.0/changelog.html\"\u003ehttps://airflow.apache.org/docs/apache-airflow-providers-elasticsearch/6.5.0/changelog.html\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62121\"\u003e#62121\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62940\"\u003e#62940\u003c/a\u003e)\u003c/p\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix SQLite migration disable \u003ccode\u003edisable_sqlite_fkeys\u003c/code\u003e in revision \u003ccode\u003e509b94a1042d\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/63256\"\u003e#63256\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/63272\"\u003e#63272\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: 404 queued asset events from API server logs (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62934\"\u003e#62934\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62976\"\u003e#62976\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Always include kid in JWT header for symmetric key tokens (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62883\"\u003e#62883\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62943\"\u003e#62943\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Scope session token in cookie to base_url  (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62771\"\u003e#62771\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62851\"\u003e#62851\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: UI of Scope session token in cookie to base_url (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62771\"\u003e#62771\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62859\"\u003e#62859\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: UI tasks log missing in UP_FOR_RETRY and UP_FOR_RESCHEDULE states (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54547\"\u003e#54547\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62862\"\u003e#62862\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Backfill permissions (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62856\"\u003e#62856\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62873\"\u003e#62873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Use \u003ccode\u003euseAssetServiceGetDagAssetQueuedEvents\u003c/code\u003e to get the correct number of ADRQs (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62868\"\u003e#62868\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62902\"\u003e#62902\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Adds task instance validation for HITL (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62886\"\u003e#62886\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62909\"\u003e#62909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Restore task_instance_history sequence on downgrade (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62759\"\u003e#62759\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix broken \u003ccode\u003edag_processing.total_parse_time\u003c/code\u003e metric (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62128\"\u003e#62128\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62764\"\u003e#62764\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Trigger UI form rendering for null enum values (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62060\"\u003e#62060\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62767\"\u003e#62767\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003etimer.duration\u003c/code\u003e unit labels in logs (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61824\"\u003e#61824\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62757\"\u003e#62757\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix XCom migration failing for NaN/Infinity float values (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62686\"\u003e#62686\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62760\"\u003e#62760\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix SQL not rendered in Rendered Templates view (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60739\"\u003e#60739\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62348\"\u003e#62348\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix missing DAG read permission checks on dependencies endpoint (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62046\"\u003e#62046\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62586\"\u003e#62586\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003edag_bundle.signed_url_template\u003c/code\u003e from \u003ccode\u003evarchar(200)\u003c/code\u003e to \u003ccode\u003etext\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61041\"\u003e#61041\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62568\"\u003e#62568\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix WASB remote logging base path handling (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/58946\"\u003e#58946\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61013\"\u003e#61013\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62456\"\u003e#62456\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle non-dictionary json payload during logging to avoid internal server error. (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62355\"\u003e#62355\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62367\"\u003e#62367\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix grid view crash when task converted to TaskGroup (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61208\"\u003e#61208\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61279\"\u003e#61279\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62181\"\u003e#62181\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix running task duration showing as null in UI (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61898\"\u003e#61898\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62136\"\u003e#62136\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix deferrable sensors not respecting soft_fail on timeout (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61132\"\u003e#61132\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61421\"\u003e#61421\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix task failure details being obscured by finalization errors (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62070\"\u003e#62070\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62113\"\u003e#62113\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd missing ti.start and ti.finish metrics in Airflow 3 (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62019\"\u003e#62019\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62110\"\u003e#62110\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix DepContext mutation leak and restore reschedule-mode guard (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62089\"\u003e#62089\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix scheduler heartbeat misses caused by slow reschedule dependency check (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61983\"\u003e#61983\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62068\"\u003e#62068\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFlush in-memory OTEL metrics at process shutdown (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61808\"\u003e#61808\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61869\"\u003e#61869\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/apache/airflow/blob/main/docker-stack-docs/changelog.rst\"\u003eapache-airflow's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e.. Licensed to the Apache Software Foundation (ASF) under one\nor more contributor license agreements.  See the NOTICE file\ndistributed with this work for additional information\nregarding copyright ownership.  The ASF licenses this file\nto you under the Apache License, Version 2.0 (the\n\u0026quot;License\u0026quot;); you may not use this file except in compliance\nwith the License.  You may obtain a copy of the License at\u003c/p\u003e\n\u003cp\u003e..   \u003ca href=\"http://www.apache.org/licenses/LICENSE-2.0\"\u003ehttp://www.apache.org/licenses/LICENSE-2.0\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e.. Unless required by applicable law or agreed to in writing,\nsoftware distributed under the License is distributed on an\n\u0026quot;AS IS\u0026quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, either express or implied.  See the License for the\nspecific language governing permissions and limitations\nunder the License.\u003c/p\u003e\n\u003ch1\u003eDockerfile Changelog\u003c/h1\u003e\n\u003cp\u003eThe \u003ccode\u003eDockerfile\u003c/code\u003e does not strictly follow the \u003ccode\u003eSemVer \u0026lt;https://semver.org/\u0026gt;\u003c/code\u003e_ approach of\nApache Airflow when it comes to features and backwards compatibility. While Airflow code strictly\nfollows it, the \u003ccode\u003eDockerfile\u003c/code\u003e is really a way to give users a conveniently packaged Airflow\nusing standard container approach, so occasionally there are some changes in the building process\nor in the entrypoint of the image that require slight adaptation of how it is used or built.\u003c/p\u003e\n\u003cp\u003eThe Changelog below describes the changes introduced in each version of the docker images released by\nthe Airflow team.\u003c/p\u003e\n\u003cp\u003e:note: The Changelog below concerns only the convenience production images released at\n\u003ccode\u003eAirflow DockerHub \u0026lt;https://hub.docker.com/r/apache/airflow\u0026gt;\u003c/code\u003e_ . The images that are released\nthere are usually built using the \u003ccode\u003eDockerfile\u003c/code\u003e released together with Airflow. However, you are\nfree to take latest released \u003ccode\u003eDockerfile\u003c/code\u003e from Airflow and use it to build an image for\nany Airflow version from the \u003ccode\u003eAirflow 2\u003c/code\u003e line. There is no guarantee that it will work, but if it does,\nthen you can use latest features from that image to build images for previous Airflow versions.\u003c/p\u003e\n\u003cp\u003eAirflow 3.1.4\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\nIn Airflow 3.1.4, the images are build without removing of .pyc and .pyo files when Python is built.\nThis increases the size of the image slightly (\u0026lt;0.5%), but improves performance of Python in the container\nbecause Python does not need to recompile the files on the first run but more importantly, if you use\n``exec`` to run Health Checks, removed .pyc files caused a small but ever growing memory leak in the Unix\nkernel connected to negative ``dentries`` created when .pyc files were attempted to be compiled and failed.\nThis over time could lead to out-of-memory issues on the host running the container.\n\u003cp\u003eMore information about \u003ccode\u003edentries\u003c/code\u003e can be found in \u003ccode\u003ethis article \u0026amp;lt;https://lwn.net/Articles/814535/\u0026amp;gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003cp\u003eAirflow 3.1.0\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/7989f25ab78b7561102926b4867966271ef7e42a\"\u003e\u003ccode\u003e7989f25\u003c/code\u003e\u003c/a\u003e update release notes for 3.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/346f3329ec556755a14c0acf1d57cd172d4b3b6b\"\u003e\u003ccode\u003e346f332\u003c/code\u003e\u003c/a\u003e Add 3.2.0 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/6661a58f60e0f9f9b1fff1132b2bd257b146fede\"\u003e\u003ccode\u003e6661a58\u003c/code\u003e\u003c/a\u003e Update version to 3.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/0a82c312ed98ec38c23301a856154212dbbda8ef\"\u003e\u003ccode\u003e0a82c31\u003c/code\u003e\u003c/a\u003e updated versions in README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/21f5a375352e3b1e7295179ae97c7f7de5c99b7e\"\u003e\u003ccode\u003e21f5a37\u003c/code\u003e\u003c/a\u003e Pin Task-SDK for Airflow meta package\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/4c87c4cde01eae483d40f87ee9daa037426d00a7\"\u003e\u003ccode\u003e4c87c4c\u003c/code\u003e\u003c/a\u003e Update default branches for 3-2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/d42623e2b461fa362f2a5f7e6f2ca9a028d9e4b9\"\u003e\u003ccode\u003ed42623e\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eObjectStoragePath\u003c/code\u003e to exclude \u003ccode\u003econn_id\u003c/code\u003e from storage options passed to f...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/77c38f357c3ff7af50ceda862f837dab7a93f359\"\u003e\u003ccode\u003e77c38f3\u003c/code\u003e\u003c/a\u003e docs(asset-partition): add example Dag (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62491\"\u003e#62491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/05ea74a9429156400ca89ca913c5d838e568ef3a\"\u003e\u003ccode\u003e05ea74a\u003c/code\u003e\u003c/a\u003e Prepare provider's documentation 2026-03-03 (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62752\"\u003e#62752\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/1199dc5305ea1630b0e1f7681bdbc4daff28440b\"\u003e\u003ccode\u003e1199dc5\u003c/code\u003e\u003c/a\u003e Consolidate \u003ccode\u003eSkipMixin\u003c/code\u003e imports through \u003ccode\u003ecommon-compat\u003c/code\u003e layer (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62776\"\u003e#62776\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/airflow/compare/2.6.3...3.2.0b1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `flask` from 2.2.5 to 3.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/releases\"\u003eflask's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.3\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.3 security fix release, which fixes a security issue but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.3/\"\u003ehttps://pypi.org/project/Flask/3.1.3/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-3\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-3\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys but not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. \u003ca href=\"https://github.com/pallets/flask/security/advisories/GHSA-68rp-wp8r-4726\"\u003eGHSA-68rp-wp8r-4726\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.2\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.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/Flask/3.1.2/\"\u003ehttps://pypi.org/project/Flask/3.1.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-2\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-2\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/38?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/38?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5774\"\u003e#5774\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state of \u003ccode\u003esession\u003c/code\u003e is correct. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5786\"\u003e#5786\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5776\"\u003e#5776\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.1\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.1 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.1/\"\u003ehttps://pypi.org/project/Flask/3.1.1/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/flask/milestone/36?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/36?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. GHSA-4grg-w6v8-c28g\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5645\"\u003e#5645\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loads the app and plugins first to make sure all commands are shown. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5673\"\u003e#5673\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMark sans-io base class as being able to handle views that return \u003ccode\u003eAsyncIterable\u003c/code\u003e. This is not accurate for Flask, but makes typing easier for Quart. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5659\"\u003e#5659\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.0\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecations, or introduce potentially breaking changes. We encourage everyone to upgrade, and to use a tool such as \u003ca href=\"https://pypi.org/project/pip-tools/\"\u003epip-tools\u003c/a\u003e to pin all dependencies and control upgrades. Test with warnings treated as errors to be able to adapt to deprecation warnings early.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.0/\"\u003ehttps://pypi.org/project/Flask/3.1.0/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-0\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-0\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/33?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/33?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5623\"\u003e#5623\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate minimum dependency versions to latest feature releases. Werkzeug \u0026gt;= 3.1, ItsDangerous \u0026gt;= 2.2, Blinker \u0026gt;= 1.9. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5624\"\u003e#5624\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5633\"\u003e#5633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProvide a configuration option to control automatic option responses. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5496\"\u003e#5496\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFlask.open_resource\u003c/code\u003e/\u003ccode\u003eopen_instance_resource\u003c/code\u003e and \u003ccode\u003eBlueprint.open_resource\u003c/code\u003e take an \u003ccode\u003eencoding\u003c/code\u003e parameter to use when opening in text mode. It defaults to \u003ccode\u003eutf-8\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5504\"\u003e#5504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.max_content_length\u003c/code\u003e can be customized per-request instead of only through the \u003ccode\u003eMAX_CONTENT_LENGTH\u003c/code\u003e config. Added \u003ccode\u003eMAX_FORM_MEMORY_SIZE\u003c/code\u003e and \u003ccode\u003eMAX_FORM_PARTS\u003c/code\u003e config. Added documentation about resource limits to the security page. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5625\"\u003e#5625\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for the \u003ccode\u003ePartitioned\u003c/code\u003e cookie attribute (CHIPS), with the \u003ccode\u003eSESSION_COOKIE_PARTITIONED\u003c/code\u003e config. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5472\"\u003e#5472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e-e path\u003c/code\u003e takes precedence over default \u003ccode\u003e.env\u003c/code\u003e and \u003ccode\u003e.flaskenv\u003c/code\u003e files. \u003ccode\u003eload_dotenv\u003c/code\u003e loads default files in addition to a path unless \u003ccode\u003eload_defaults=False\u003c/code\u003e is passed. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5628\"\u003e#5628\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport key rotation with the \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e config, a list of old secret keys that can still be used for unsigning. Extensions will need to add support. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5621\"\u003e#5621\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix how setting \u003ccode\u003ehost_matching=True\u003c/code\u003e or \u003ccode\u003esubdomain_matching=False\u003c/code\u003e interacts with \u003ccode\u003eSERVER_NAME\u003c/code\u003e. Setting \u003ccode\u003eSERVER_NAME\u003c/code\u003e no longer restricts requests to only that domain. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5553\"\u003e#5553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.trusted_hosts\u003c/code\u003e is checked during routing, and can be set through the \u003ccode\u003eTRUSTED_HOSTS\u003c/code\u003e config. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5636\"\u003e#5636\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.0.3\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/blob/main/CHANGES.rst\"\u003eflask's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.1.3\u003c/h2\u003e\n\u003cp\u003eReleased 2026-02-18\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys\nbut not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. :ghsa:\u003ccode\u003e68rp-wp8r-4726\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.2\u003c/h2\u003e\n\u003cp\u003eReleased 2025-08-19\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. :issue:\u003ccode\u003e5774\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state\nof \u003ccode\u003esession\u003c/code\u003e is correct. :issue:\u003ccode\u003e5786\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. :issue:\u003ccode\u003e5776\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-05-13\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via\n\u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/...\n\n_Description has been truncated_","html_url":"https://github.com/CVSz/python-docs-samples/pull/3","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/CVSz%2Fpython-docs-samples/issues/3","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/3/packages"},{"uuid":"4197182632","node_id":"PR_kwDOQyc5x87PribN","number":14,"state":"open","title":"chore(deps): bump apache-airflow from 3.1.0 to 3.1.8 in the uv group across 1 directory","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-02T21:57:07.000Z","updated_at":"2026-04-02T21:57:08.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"apache-airflow","old_version":"3.1.0","new_version":"3.1.8","repository_url":"https://github.com/apache/airflow"}],"path":"the uv group across 1 directory","ecosystem":"pip"},"body":"Bumps the uv group with 1 update in the / directory: [apache-airflow](https://github.com/apache/airflow).\n\nUpdates `apache-airflow` from 3.1.0 to 3.1.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/airflow/releases\"\u003eapache-airflow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eApache Airflow 3.1.8\u003c/h2\u003e\n\u003cp\u003e:package: PyPI: \u003ca href=\"https://pypi.org/project/apache-airflow/3.1.8/\"\u003ehttps://pypi.org/project/apache-airflow/3.1.8/\u003c/a\u003e\n:books: Docs: \u003ca href=\"https://airflow.apache.org/docs/apache-airflow/3.1.8/\"\u003ehttps://airflow.apache.org/docs/apache-airflow/3.1.8/\u003c/a\u003e\n:hammer_and_wrench: Release Notes: \u003ca href=\"https://airflow.apache.org/docs/apache-airflow/3.1.8/release_notes.html\"\u003ehttps://airflow.apache.org/docs/apache-airflow/3.1.8/release_notes.html\u003c/a\u003e\n:whale: Docker Image: \u0026quot;docker pull apache/airflow:3.1.8\u0026quot;\n:busstop: Constraints: \u003ca href=\"https://github.com/apache/airflow/tree/constraints-3.1.8\"\u003ehttps://github.com/apache/airflow/tree/constraints-3.1.8\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eSignificant Changes\u003c/h2\u003e\n\u003ch3\u003eBackfill permissions are now handled via \u003ccode\u003eDagAccessEntity.Run\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61456\"\u003e#61456\u003c/a\u003e)\u003c/h3\u003e\n\u003cp\u003e\u003ccode\u003eis_authorized_backfill\u003c/code\u003e of the \u003ccode\u003eBaseAuthManager\u003c/code\u003e interface has been removed. Core will no longer call this method and their\nprovider counterpart implementation will be marked as deprecated.\nPermissions for backfill operations are now checked against the \u003ccode\u003eDagAccessEntity.Run\u003c/code\u003e permission using the existing\n\u003ccode\u003erequires_access_dag\u003c/code\u003e decorator. In other words, if a user has permission to run a DAG, they can perform backfill operations on it.\u003c/p\u003e\n\u003cp\u003ePlease update your security policies to ensure that users who need to perform backfill operations have the appropriate \u003ccode\u003eDagAccessEntity.Run\u003c/code\u003e permissions. (Users\nhaving the Backfill permissions without having the DagRun ones will no longer be able to perform backfill operations without any update)\u003c/p\u003e\n\u003ch3\u003eElasticsearch is now fully compatible with remote logging along (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62940\"\u003e#62940\u003c/a\u003e)\u003c/h3\u003e\n\u003cp\u003eElasticsearch is now fully compatible with remote logging along side with \u003ccode\u003eapache-airflow-providers-elasticsearch\u0026gt;=6.5.0\u003c/code\u003e. Please review elasticsearch provider release notes for more information \u003ca href=\"https://airflow.apache.org/docs/apache-airflow-providers-elasticsearch/6.5.0/changelog.html\"\u003ehttps://airflow.apache.org/docs/apache-airflow-providers-elasticsearch/6.5.0/changelog.html\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62121\"\u003e#62121\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62940\"\u003e#62940\u003c/a\u003e)\u003c/p\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix SQLite migration disable \u003ccode\u003edisable_sqlite_fkeys\u003c/code\u003e in revision \u003ccode\u003e509b94a1042d\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/63256\"\u003e#63256\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/63272\"\u003e#63272\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: 404 queued asset events from API server logs (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62934\"\u003e#62934\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62976\"\u003e#62976\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Always include kid in JWT header for symmetric key tokens (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62883\"\u003e#62883\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62943\"\u003e#62943\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Scope session token in cookie to base_url  (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62771\"\u003e#62771\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62851\"\u003e#62851\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: UI of Scope session token in cookie to base_url (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62771\"\u003e#62771\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62859\"\u003e#62859\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: UI tasks log missing in UP_FOR_RETRY and UP_FOR_RESCHEDULE states (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54547\"\u003e#54547\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62862\"\u003e#62862\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Backfill permissions (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62856\"\u003e#62856\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62873\"\u003e#62873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Use \u003ccode\u003euseAssetServiceGetDagAssetQueuedEvents\u003c/code\u003e to get the correct number of ADRQs (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62868\"\u003e#62868\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62902\"\u003e#62902\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Adds task instance validation for HITL (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62886\"\u003e#62886\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62909\"\u003e#62909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Restore task_instance_history sequence on downgrade (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62759\"\u003e#62759\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix broken \u003ccode\u003edag_processing.total_parse_time\u003c/code\u003e metric (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62128\"\u003e#62128\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62764\"\u003e#62764\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Trigger UI form rendering for null enum values (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62060\"\u003e#62060\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62767\"\u003e#62767\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003etimer.duration\u003c/code\u003e unit labels in logs (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61824\"\u003e#61824\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62757\"\u003e#62757\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix XCom migration failing for NaN/Infinity float values (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62686\"\u003e#62686\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62760\"\u003e#62760\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix SQL not rendered in Rendered Templates view (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60739\"\u003e#60739\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62348\"\u003e#62348\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix missing DAG read permission checks on dependencies endpoint (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62046\"\u003e#62046\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62586\"\u003e#62586\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003edag_bundle.signed_url_template\u003c/code\u003e from \u003ccode\u003evarchar(200)\u003c/code\u003e to \u003ccode\u003etext\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61041\"\u003e#61041\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62568\"\u003e#62568\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix WASB remote logging base path handling (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/58946\"\u003e#58946\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61013\"\u003e#61013\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62456\"\u003e#62456\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle non-dictionary json payload during logging to avoid internal server error. (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62355\"\u003e#62355\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62367\"\u003e#62367\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix grid view crash when task converted to TaskGroup (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61208\"\u003e#61208\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61279\"\u003e#61279\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62181\"\u003e#62181\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix running task duration showing as null in UI (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61898\"\u003e#61898\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62136\"\u003e#62136\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix deferrable sensors not respecting soft_fail on timeout (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61132\"\u003e#61132\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61421\"\u003e#61421\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix task failure details being obscured by finalization errors (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62070\"\u003e#62070\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62113\"\u003e#62113\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd missing ti.start and ti.finish metrics in Airflow 3 (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62019\"\u003e#62019\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62110\"\u003e#62110\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix DepContext mutation leak and restore reschedule-mode guard (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62089\"\u003e#62089\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix scheduler heartbeat misses caused by slow reschedule dependency check (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61983\"\u003e#61983\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62068\"\u003e#62068\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFlush in-memory OTEL metrics at process shutdown (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61808\"\u003e#61808\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61869\"\u003e#61869\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/apache/airflow/commit/7c1b4e1cc6384096a4f391bbed129f0bc40e1d9d\"\u003e\u003ccode\u003e7c1b4e1\u003c/code\u003e\u003c/a\u003e Update RELEASE_NOTES.rst for rc2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/8bebae6659b0372434790c046d679b6928d74a4f\"\u003e\u003ccode\u003e8bebae6\u003c/code\u003e\u003c/a\u003e [v3-1-test] Further limit setuptools after 82.0.1 is released (until redoc fi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/3476670a3cb573c71a0355fb72a060c179129206\"\u003e\u003ccode\u003e3476670\u003c/code\u003e\u003c/a\u003e fix(migration): disable disable_sqlite_fkeys for migration 0087 (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/63256\"\u003e#63256\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/63\"\u003e#63\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/0f3cc0ac1bb507a0a0c3eb964268745cb0c8362f\"\u003e\u003ccode\u003e0f3cc0a\u003c/code\u003e\u003c/a\u003e Update RELEASE_NOTES.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/1b366dd14baa5bce81bd3fbf3c49d181857c8224\"\u003e\u003ccode\u003e1b366dd\u003c/code\u003e\u003c/a\u003e Update version to 3.1.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/c4290ab3a83204d720934111a55c3e61e0422584\"\u003e\u003ccode\u003ec4290ab\u003c/code\u003e\u003c/a\u003e [v3-1-test] Return empty list for queued asset events instead of 404 (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62934\"\u003e#62934\u003c/a\u003e)...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/363e75a6df2d56896517488510aa26e8b879b43b\"\u003e\u003ccode\u003e363e75a\u003c/code\u003e\u003c/a\u003e [v3-1-test] Only upgrade patch and minor NPM version in \u003ccode\u003ev3-1-test\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62961\"\u003e#62961\u003c/a\u003e) ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/b7a0043a7a6964296e824cf361de10c5cd6272a2\"\u003e\u003ccode\u003eb7a0043\u003c/code\u003e\u003c/a\u003e chore(deps): bump the core-ui-package-updates group across 1 directory with 3...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/a250c4fc8211648d5f7b8e7e6ad53682b629f4fa\"\u003e\u003ccode\u003ea250c4f\u003c/code\u003e\u003c/a\u003e [v3-1-test] Enable dependabot for simple auth manager in \u003ccode\u003ev3-1-test\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62951\"\u003e#62951\u003c/a\u003e)...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/833ef0f1107ad7d5cac1d72b40d446448a288aae\"\u003e\u003ccode\u003e833ef0f\u003c/code\u003e\u003c/a\u003e Upgrade \u003ccode\u003etar\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62939\"\u003e#62939\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62947\"\u003e#62947\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/airflow/compare/3.1.0...3.1.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=apache-airflow\u0026package-manager=uv\u0026previous-version=3.1.0\u0026new-version=3.1.8)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot 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\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/EvertonSA/airflow-yet-another-exporter/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/EvertonSA/airflow-yet-another-exporter/pull/14","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/EvertonSA%2Fairflow-yet-another-exporter/issues/14","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/14/packages"},{"uuid":"4191416269","node_id":"PR_kwDOO-I9t87PcOl4","number":10,"state":"open","title":"chore(deps): bump the pip group across 25 directories with 13 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-02T04:10:13.000Z","updated_at":"2026-04-02T04:10:17.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"pip","update_count":13,"packages":[{"name":"requests","old_version":"2.31.0","new_version":"2.33.0","repository_url":"https://github.com/psf/requests"},{"name":"flask","old_version":"2.2.5","new_version":"3.1.3","repository_url":"https://github.com/pallets/flask"},{"name":"pyopenssl","old_version":"23.2.0","new_version":"26.0.0","repository_url":"https://github.com/pyca/pyopenssl"},{"name":"werkzeug","old_version":"2.2.3","new_version":"3.1.6","repository_url":"https://github.com/pallets/werkzeug"},{"name":"apache-airflow","old_version":"2.6.3","new_version":"3.2.0b1","repository_url":"https://github.com/apache/airflow"},{"name":"black","old_version":"23.1a1","new_version":"26.3.1","repository_url":"https://github.com/psf/black"},{"name":"cryptography","old_version":"40.0.2","new_version":"46.0.6","repository_url":"https://github.com/pyca/cryptography"},{"name":"google-cloud-aiplatform","old_version":"1.27.1","new_version":"1.133.0","repository_url":"https://github.com/googleapis/python-aiplatform"},{"name":"protobuf","old_version":"4.23.4","new_version":"5.29.6","repository_url":"https://github.com/protocolbuffers/protobuf"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pip group with 1 update in the /alloydb/notebooks directory: [nbconvert](https://github.com/jupyter/nbconvert).\nBumps the pip group with 1 update in the /aml-ai directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 1 update in the /auth/service-to-service directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 1 update in the /bigquery/continuous-queries directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 4 updates in the /cloud-media-livestream/keypublisher directory: [requests](https://github.com/psf/requests), [flask](https://github.com/pallets/flask), [pyopenssl](https://github.com/pyca/pyopenssl) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 2 updates in the /cloud_scheduler/snippets directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 1 update in the /cloud_tasks/http_queues directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 9 updates in the /composer/2022_airflow_summit directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [requests](https://github.com/psf/requests) | `2.31.0` | `2.33.0` |\n| [flask](https://github.com/pallets/flask) | `2.2.5` | `3.1.3` |\n| [pyopenssl](https://github.com/pyca/pyopenssl) | `23.2.0` | `26.0.0` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `2.2.3` | `3.1.6` |\n| [apache-airflow](https://github.com/apache/airflow) | `2.6.3` | `3.2.0b1` |\n| [black](https://github.com/psf/black) | `23.1a1` | `26.3.1` |\n| [cryptography](https://github.com/pyca/cryptography) | `40.0.2` | `46.0.6` |\n| [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) | `1.27.1` | `1.133.0` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `4.23.4` | `5.29.6` |\n\nBumps the pip group with 5 updates in the /composer/airflow_1_samples directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [flask](https://github.com/pallets/flask) | `1.1.2` | `3.1.3` |\n| [pyopenssl](https://github.com/pyca/pyopenssl) | `20.0.0` | `26.0.0` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `0.16.1` | `3.1.6` |\n| [cryptography](https://github.com/pyca/cryptography) | `3.2.1` | `46.0.6` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `3.14.0` | `5.29.6` |\n\nBumps the pip group with 9 updates in the /composer/cicd_sample directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [requests](https://github.com/psf/requests) | `2.31.0` | `2.33.0` |\n| [flask](https://github.com/pallets/flask) | `2.2.5` | `3.1.3` |\n| [pyopenssl](https://github.com/pyca/pyopenssl) | `23.2.0` | `26.0.0` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `2.2.3` | `3.1.6` |\n| [apache-airflow](https://github.com/apache/airflow) | `2.6.3` | `3.2.0b1` |\n| [black](https://github.com/psf/black) | `23.1a1` | `26.3.1` |\n| [cryptography](https://github.com/pyca/cryptography) | `40.0.2` | `46.0.6` |\n| [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) | `1.27.1` | `1.133.0` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `4.23.4` | `5.29.6` |\n\nBumps the pip group with 1 update in the /composer/rest directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 1 update in the /compute/auth directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 1 update in the /compute/client_library directory: [black](https://github.com/psf/black).\nBumps the pip group with 2 updates in the /compute/encryption directory: [requests](https://github.com/psf/requests) and [cryptography](https://github.com/pyca/cryptography).\nBumps the pip group with 1 update in the /compute/metadata directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 1 update in the /compute/oslogin directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 3 updates in the /dataflow/gemma directory: [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform), [protobuf](https://github.com/protocolbuffers/protobuf) and [keras](https://github.com/keras-team/keras).\nBumps the pip group with 1 update in the /dataflow/gemma-flex-template directory: [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform).\nBumps the pip group with 3 updates in the /dataflow/run-inference directory: [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform), [torch](https://github.com/pytorch/pytorch) and [transformers](https://github.com/huggingface/transformers).\nBumps the pip group with 2 updates in the /datastore/cloud-ndb directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 2 updates in the /dialogflow directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 2 updates in the /dialogflow-cx directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 2 updates in the /gemma2 directory: [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) and [protobuf](https://github.com/protocolbuffers/protobuf).\nBumps the pip group with 4 updates in the /iap directory: [requests](https://github.com/psf/requests), [flask](https://github.com/pallets/flask), [werkzeug](https://github.com/pallets/werkzeug) and [cryptography](https://github.com/pyca/cryptography).\nBumps the pip group with 1 update in the /media_cdn directory: [cryptography](https://github.com/pyca/cryptography).\n\nUpdates `nbconvert` from 7.16.6 to 7.17.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jupyter/nbconvert/releases\"\u003enbconvert's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.17.0\u003c/h2\u003e\n\u003ch2\u003e7.17.0\u003c/h2\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbconvert/compare/v7.16.6...c9ac1d1040459ed1ff9eb34e9918ce5a87cf9d71\"\u003eFull Changelog\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eEnhancements made\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for arbitrary browser arguments \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2227\"\u003e#2227\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugs fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix QtPNGExporter returning empty bytes on macOS \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2264\"\u003e#2264\u003c/a\u003e (\u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/QuLogic\"\u003e\u003ccode\u003e@​QuLogic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix CVE-2025-53000: Secure Inkscape Windows path (registry first + block CWD) \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2261\"\u003e#2261\u003c/a\u003e (\u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/mberlanda\"\u003e\u003ccode\u003e@​mberlanda\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/salmankadaya\"\u003e\u003ccode\u003e@​salmankadaya\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/th3gowtham\"\u003e\u003ccode\u003e@​th3gowtham\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix get_export_names and get_exporter default args \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2228\"\u003e#2228\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePyPA-Compliant Summary \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2226\"\u003e#2226\u003c/a\u003e (\u003ca href=\"https://github.com/hackowitz-af\"\u003e\u003ccode\u003e@​hackowitz-af\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMaintenance and upkeep improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eavoid cov environment on free-threaded Pythons \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2267\"\u003e#2267\u003c/a\u003e (\u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate pre-commit, and fix all issues. \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2238\"\u003e#2238\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop test on 3.9, test on 3.13, 3.14, 3.14t \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2237\"\u003e#2237\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the actions group across 1 directory with 2 updates \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2231\"\u003e#2231\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003e@flaky.flaky\u003c/code\u003e decorate with pytest marker \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2229\"\u003e#2229\u003c/a\u003e (\u003ca href=\"https://github.com/mgorny\"\u003e\u003ccode\u003e@​mgorny\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate to mermaid 11.10.0 \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2224\"\u003e#2224\u003c/a\u003e (\u003ca href=\"https://github.com/bollwyvl\"\u003e\u003ccode\u003e@​bollwyvl\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.8, fix the CI tests \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2221\"\u003e#2221\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse \u003ccode\u003eintersphinx_registry\u003c/code\u003e \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2232\"\u003e#2232\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors to this release\u003c/h3\u003e\n\u003cp\u003eThe following people contributed discussions, new ideas, code and documentation contributions, and review.\nSee \u003ca href=\"https://github-activity.readthedocs.io/en/latest/use/#how-does-this-tool-define-contributions-in-the-reports\"\u003eour definition of contributors\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbconvert/graphs/contributors?from=2025-01-28\u0026amp;to=2026-01-29\u0026amp;type=c\"\u003eGitHub contributors page for this release\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/bollwyvl\"\u003e\u003ccode\u003e@​bollwyvl\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Abollwyvl+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3ACarreau+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ah3pdesign+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/hackowitz-af\"\u003e\u003ccode\u003e@​hackowitz-af\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ahackowitz-af+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Akrassowski+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/mberlanda\"\u003e\u003ccode\u003e@​mberlanda\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Amberlanda+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/mgorny\"\u003e\u003ccode\u003e@​mgorny\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Amgorny+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Aminrk+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/MSeal\"\u003e\u003ccode\u003e@​MSeal\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3AMSeal+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/QuLogic\"\u003e\u003ccode\u003e@​QuLogic\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3AQuLogic+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/salmankadaya\"\u003e\u003ccode\u003e@​salmankadaya\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Asalmankadaya+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ashreve+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/th3gowtham\"\u003e\u003ccode\u003e@​th3gowtham\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ath3gowtham+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e)\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jupyter/nbconvert/blob/main/CHANGELOG.md\"\u003enbconvert's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.17.0\u003c/h2\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbconvert/compare/v7.16.6...c9ac1d1040459ed1ff9eb34e9918ce5a87cf9d71\"\u003eFull Changelog\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eEnhancements made\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for arbitrary browser arguments \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2227\"\u003e#2227\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugs fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix QtPNGExporter returning empty bytes on macOS \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2264\"\u003e#2264\u003c/a\u003e (\u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/QuLogic\"\u003e\u003ccode\u003e@​QuLogic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix CVE-2025-53000: Secure Inkscape Windows path (registry first + block CWD) \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2261\"\u003e#2261\u003c/a\u003e (\u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/mberlanda\"\u003e\u003ccode\u003e@​mberlanda\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/salmankadaya\"\u003e\u003ccode\u003e@​salmankadaya\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/th3gowtham\"\u003e\u003ccode\u003e@​th3gowtham\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix get_export_names and get_exporter default args \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2228\"\u003e#2228\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePyPA-Compliant Summary \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2226\"\u003e#2226\u003c/a\u003e (\u003ca href=\"https://github.com/hackowitz-af\"\u003e\u003ccode\u003e@​hackowitz-af\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMaintenance and upkeep improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eavoid cov environment on free-threaded Pythons \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2267\"\u003e#2267\u003c/a\u003e (\u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate pre-commit, and fix all issues. \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2238\"\u003e#2238\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop test on 3.9, test on 3.13, 3.14, 3.14t \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2237\"\u003e#2237\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the actions group across 1 directory with 2 updates \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2231\"\u003e#2231\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003e@flaky.flaky\u003c/code\u003e decorate with pytest marker \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2229\"\u003e#2229\u003c/a\u003e (\u003ca href=\"https://github.com/mgorny\"\u003e\u003ccode\u003e@​mgorny\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate to mermaid 11.10.0 \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2224\"\u003e#2224\u003c/a\u003e (\u003ca href=\"https://github.com/bollwyvl\"\u003e\u003ccode\u003e@​bollwyvl\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.8, fix the CI tests \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2221\"\u003e#2221\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse \u003ccode\u003eintersphinx_registry\u003c/code\u003e \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2232\"\u003e#2232\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors to this release\u003c/h3\u003e\n\u003cp\u003eThe following people contributed discussions, new ideas, code and documentation contributions, and review.\nSee \u003ca href=\"https://github-activity.readthedocs.io/en/latest/use/#how-does-this-tool-define-contributions-in-the-reports\"\u003eour definition of contributors\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbconvert/graphs/contributors?from=2025-01-28\u0026amp;to=2026-01-29\u0026amp;type=c\"\u003eGitHub contributors page for this release\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/bollwyvl\"\u003e\u003ccode\u003e@​bollwyvl\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Abollwyvl+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3ACarreau+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ah3pdesign+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/hackowitz-af\"\u003e\u003ccode\u003e@​hackowitz-af\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ahackowitz-af+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Akrassowski+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/mberlanda\"\u003e\u003ccode\u003e@​mberlanda\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Amberlanda+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/mgorny\"\u003e\u003ccode\u003e@​mgorny\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Amgorny+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Aminrk+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/MSeal\"\u003e\u003ccode\u003e@​MSeal\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3AMSeal+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/QuLogic\"\u003e\u003ccode\u003e@​QuLogic\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3AQuLogic+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/salmankadaya\"\u003e\u003ccode\u003e@​salmankadaya\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Asalmankadaya+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ashreve+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/th3gowtham\"\u003e\u003ccode\u003e@​th3gowtham\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ath3gowtham+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e)\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/21b35d85b46f5ff0956d3d088a52b9bef00e8196\"\u003e\u003ccode\u003e21b35d8\u003c/code\u003e\u003c/a\u003e Publish 7.17.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/c9ac1d1040459ed1ff9eb34e9918ce5a87cf9d71\"\u003e\u003ccode\u003ec9ac1d1\u003c/code\u003e\u003c/a\u003e Fix CVE-2025-53000: Secure Inkscape Windows path (registry first + block CWD)...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/b13276d80ae6fadbfda981304810e26f421c4ced\"\u003e\u003ccode\u003eb13276d\u003c/code\u003e\u003c/a\u003e avoid cov environment on free-threaded Pythons (\u003ca href=\"https://redirect.github.com/jupyter/nbconvert/issues/2267\"\u003e#2267\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/7c7055fe833fe9832e6f9a64fa5f67d66692c8d6\"\u003e\u003ccode\u003e7c7055f\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] auto fixes from pre-commit.com hooks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/74f3ddd37ef4b7ffb5eee9acbf52062217c15852\"\u003e\u003ccode\u003e74f3ddd\u003c/code\u003e\u003c/a\u003e Fix QtPNGExporter returning empty bytes on macOS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/216550b2aae4c329f4dab597a96ae7cac30de79a\"\u003e\u003ccode\u003e216550b\u003c/code\u003e\u003c/a\u003e fix links\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/39777ac5716350e994171d025a7369c58b0afc8c\"\u003e\u003ccode\u003e39777ac\u003c/code\u003e\u003c/a\u003e try to comment fialing test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/7b591ca526f2598dbae3256a53765659c3edcf14\"\u003e\u003ccode\u003e7b591ca\u003c/code\u003e\u003c/a\u003e ruff-check\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/6ec7638a3dc7a0bc2c533c116202d7f9b07ce9d9\"\u003e\u003ccode\u003e6ec7638\u003c/code\u003e\u003c/a\u003e parent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/59414b36f94e318d4207e8af863167047d936c19\"\u003e\u003ccode\u003e59414b3\u003c/code\u003e\u003c/a\u003e fix mypy\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jupyter/nbconvert/compare/v7.16.6...v7.17.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.4 to 2.33.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.33.0\u003c/h2\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that uses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report any gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts contents to a non-deterministic location to prevent malicious file replacement. This does not affect default usage of Requests, only applications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause malformed authentication to be applied to Requests on Python 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\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/M0d3v1\"\u003e\u003ccode\u003e@​M0d3v1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6865\"\u003epsf/requests#6865\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminvakil\"\u003e\u003ccode\u003e@​aminvakil\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7220\"\u003epsf/requests#7220\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/E8Price\"\u003e\u003ccode\u003e@​E8Price\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6960\"\u003epsf/requests#6960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mitre88\"\u003e\u003ccode\u003e@​mitre88\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7244\"\u003epsf/requests#7244\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/magsen\"\u003e\u003ccode\u003e@​magsen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6553\"\u003epsf/requests#6553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rohan5commit\"\u003e\u003ccode\u003e@​Rohan5commit\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7227\"\u003epsf/requests#7227\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\"\u003ehttps://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that\nuses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report\nany gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts\ncontents to a non-deterministic location to prevent malicious file\nreplacement. This does not affect default usage of Requests, only\napplications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause\nmalformed authentication to be applied to Requests on\nPython 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/bc04dfd6dad4cb02cd92f5daa81eb562d280a761\"\u003e\u003ccode\u003ebc04dfd\u003c/code\u003e\u003c/a\u003e v2.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/66d21cb07bd6255b1280291c4fafb71803cdb3b7\"\u003e\u003ccode\u003e66d21cb\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/8b9bc8fc0f63be84602387913c4b689f19efd028\"\u003e\u003ccode\u003e8b9bc8f\u003c/code\u003e\u003c/a\u003e Move badges to top of README (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7293\"\u003e#7293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/e331a288f369973f5de0ec8901c94cae4fa87286\"\u003e\u003ccode\u003ee331a28\u003c/code\u003e\u003c/a\u003e Remove unused extraction call (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7292\"\u003e#7292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/753fd08c5eacce0aa0df73fe47e49525c67e0a29\"\u003e\u003ccode\u003e753fd08\u003c/code\u003e\u003c/a\u003e docs: fix FAQ grammar in httplib2 example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/774a0b837a194ee885d4fdd9ca947900cc3daf71\"\u003e\u003ccode\u003e774a0b8\u003c/code\u003e\u003c/a\u003e docs(socks): same block as other sections\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/9c72a41bec8597f948c9d8caa5dc3f12273b3303\"\u003e\u003ccode\u003e9c72a41\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.33.0 to 4.34.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/ebf71906798ec82f34e07d3168f8b8aecaf8a3be\"\u003e\u003ccode\u003eebf7190\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.32.0 to 4.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/0e4ae38f0c93d4f92a96c774bd52c069d12a4798\"\u003e\u003ccode\u003e0e4ae38\u003c/code\u003e\u003c/a\u003e docs: exclude Response.is_permanent_redirect from API docs (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7244\"\u003e#7244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d568f47278492e630cc990a259047c67991d007a\"\u003e\u003ccode\u003ed568f47\u003c/code\u003e\u003c/a\u003e docs: clarify Quickstart POST example (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6960\"\u003e#6960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.4...v2.33.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.4 to 2.33.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.33.0\u003c/h2\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that uses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report any gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts contents to a non-deterministic location to prevent malicious file replacement. This does not affect default usage of Requests, only applications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause malformed authentication to be applied to Requests on Python 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\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/M0d3v1\"\u003e\u003ccode\u003e@​M0d3v1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6865\"\u003epsf/requests#6865\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminvakil\"\u003e\u003ccode\u003e@​aminvakil\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7220\"\u003epsf/requests#7220\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/E8Price\"\u003e\u003ccode\u003e@​E8Price\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6960\"\u003epsf/requests#6960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mitre88\"\u003e\u003ccode\u003e@​mitre88\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7244\"\u003epsf/requests#7244\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/magsen\"\u003e\u003ccode\u003e@​magsen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6553\"\u003epsf/requests#6553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rohan5commit\"\u003e\u003ccode\u003e@​Rohan5commit\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7227\"\u003epsf/requests#7227\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\"\u003ehttps://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that\nuses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report\nany gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts\ncontents to a non-deterministic location to prevent malicious file\nreplacement. This does not affect default usage of Requests, only\napplications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause\nmalformed authentication to be applied to Requests on\nPython 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/bc04dfd6dad4cb02cd92f5daa81eb562d280a761\"\u003e\u003ccode\u003ebc04dfd\u003c/code\u003e\u003c/a\u003e v2.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/66d21cb07bd6255b1280291c4fafb71803cdb3b7\"\u003e\u003ccode\u003e66d21cb\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/8b9bc8fc0f63be84602387913c4b689f19efd028\"\u003e\u003ccode\u003e8b9bc8f\u003c/code\u003e\u003c/a\u003e Move badges to top of README (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7293\"\u003e#7293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/e331a288f369973f5de0ec8901c94cae4fa87286\"\u003e\u003ccode\u003ee331a28\u003c/code\u003e\u003c/a\u003e Remove unused extraction call (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7292\"\u003e#7292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/753fd08c5eacce0aa0df73fe47e49525c67e0a29\"\u003e\u003ccode\u003e753fd08\u003c/code\u003e\u003c/a\u003e docs: fix FAQ grammar in httplib2 example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/774a0b837a194ee885d4fdd9ca947900cc3daf71\"\u003e\u003ccode\u003e774a0b8\u003c/code\u003e\u003c/a\u003e docs(socks): same block as other sections\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/9c72a41bec8597f948c9d8caa5dc3f12273b3303\"\u003e\u003ccode\u003e9c72a41\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.33.0 to 4.34.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/ebf71906798ec82f34e07d3168f8b8aecaf8a3be\"\u003e\u003ccode\u003eebf7190\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.32.0 to 4.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/0e4ae38f0c93d4f92a96c774bd52c069d12a4798\"\u003e\u003ccode\u003e0e4ae38\u003c/code\u003e\u003c/a\u003e docs: exclude Response.is_permanent_redirect from API docs (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7244\"\u003e#7244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d568f47278492e630cc990a259047c67991d007a\"\u003e\u003ccode\u003ed568f47\u003c/code\u003e\u003c/a\u003e docs: clarify Quickstart POST example (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6960\"\u003e#6960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.4...v2.33.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.4 to 2.33.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.33.0\u003c/h2\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that uses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report any gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts contents to a non-deterministic location to prevent malicious file replacement. This does not affect default usage of Requests, only applications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause malformed authentication to be applied to Requests on Python 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\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/M0d3v1\"\u003e\u003ccode\u003e@​M0d3v1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6865\"\u003epsf/requests#6865\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminvakil\"\u003e\u003ccode\u003e@​aminvakil\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7220\"\u003epsf/requests#7220\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/E8Price\"\u003e\u003ccode\u003e@​E8Price\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6960\"\u003epsf/requests#6960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mitre88\"\u003e\u003ccode\u003e@​mitre88\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7244\"\u003epsf/requests#7244\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/magsen\"\u003e\u003ccode\u003e@​magsen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6553\"\u003epsf/requests#6553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rohan5commit\"\u003e\u003ccode\u003e@​Rohan5commit\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7227\"\u003epsf/requests#7227\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\"\u003ehttps://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that\nuses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report\nany gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts\ncontents to a non-deterministic location to prevent malicious file\nreplacement. This does not affect default usage of Requests, only\napplications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause\nmalformed authentication to be applied to Requests on\nPython 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/bc04dfd6dad4cb02cd92f5daa81eb562d280a761\"\u003e\u003ccode\u003ebc04dfd\u003c/code\u003e\u003c/a\u003e v2.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/66d21cb07bd6255b1280291c4fafb71803cdb3b7\"\u003e\u003ccode\u003e66d21cb\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/8b9bc8fc0f63be84602387913c4b689f19efd028\"\u003e\u003ccode\u003e8b9bc8f\u003c/code\u003e\u003c/a\u003e Move badges to top of README (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7293\"\u003e#7293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/e331a288f369973f5de0ec8901c94cae4fa87286\"\u003e\u003ccode\u003ee331a28\u003c/code\u003e\u003c/a\u003e Remove unused extraction call (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7292\"\u003e#7292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/753fd08c5eacce0aa0df73fe47e49525c67e0a29\"\u003e\u003ccode\u003e753fd08\u003c/code\u003e\u003c/a\u003e docs: fix FAQ grammar in httplib2 example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/774a0b837a194ee885d4fdd9ca947900cc3daf71\"\u003e\u003ccode\u003e774a0b8\u003c/code\u003e\u003c/a\u003e docs(socks): same block as other sections\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/9c72a41bec8597f948c9d8caa5dc3f12273b3303\"\u003e\u003ccode\u003e9c72a41\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.33.0 to 4.34.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/ebf71906798ec82f34e07d3168f8b8aecaf8a3be\"\u003e\u003ccode\u003eebf7190\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.32.0 to 4.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/0e4ae38f0c93d4f92a96c774bd52c069d12a4798\"\u003e\u003ccode\u003e0e4ae38\u003c/code\u003e\u003c/a\u003e docs: exclude Response.is_permanent_redirect from API docs (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7244\"\u003e#7244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d568f47278492e630cc990a259047c67991d007a\"\u003e\u003ccode\u003ed568f47\u003c/code\u003e\u003c/a\u003e docs: clarify Quickstart POST example (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6960\"\u003e#6960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.4...v2.33.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.4 to 2.33.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.33.0\u003c/h2\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that uses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report any gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts contents to a non-deterministic location to prevent malicious file replacement. This does not affect default usage of Requests, only applications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause malformed authentication to be applied to Requests on Python 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\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/M0d3v1\"\u003e\u003ccode\u003e@​M0d3v1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6865\"\u003epsf/requests#6865\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminvakil\"\u003e\u003ccode\u003e@​aminvakil\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7220\"\u003epsf/requests#7220\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/E8Price\"\u003e\u003ccode\u003e@​E8Price\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6960\"\u003epsf/requests#6960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mitre88\"\u003e\u003ccode\u003e@​mitre88\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7244\"\u003epsf/requests#7244\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/magsen\"\u003e\u003ccode\u003e@​magsen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6553\"\u003epsf/requests#6553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rohan5commit\"\u003e\u003ccode\u003e@​Rohan5commit\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7227\"\u003epsf/requests#7227\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\"\u003ehttps://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that\nuses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report\nany gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts\ncontents to a non-deterministic location to prevent malicious file\nreplacement. This does not affect default usage of Requests, only\napplications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause\nmalformed authentication to be applied to Requests on\nPython 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/bc04dfd6dad4cb02cd92f5daa81eb562d280a761\"\u003e\u003ccode\u003ebc04dfd\u003c/code\u003e\u003c/a\u003e v2.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/66d21cb07bd6255b1280291c4fafb71803cdb3b7\"\u003e\u003ccode\u003e66d21cb\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/8b9bc8fc0f63be84602387913c4b689f19efd028\"\u003e\u003ccode\u003e8b9bc8f\u003c/code\u003e\u003c/a\u003e Move badges to top of README (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7293\"\u003e#7293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/e331a288f369973f5de0ec8901c94cae4fa87286\"\u003e\u003ccode\u003ee331a28\u003c/code\u003e\u003c/a\u003e Remove unused extraction call (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7292\"\u003e#7292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/753fd08c5eacce0aa0df73fe47e49525c67e0a29\"\u003e\u003ccode\u003e753fd08\u003c/code\u003e\u003c/a\u003e docs: fix FAQ grammar in httplib2 example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/774a0b837a194ee885d4fdd9ca947900cc3daf71\"\u003e\u003ccode\u003e774a0b8\u003c/code\u003e\u003c/a\u003e docs(socks): same block as other sections\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/9c72a41bec8597f948c9d8caa5dc3f12273b3303\"\u003e\u003ccode\u003e9c72a41\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.33.0 to 4.34.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/ebf71906798ec82f34e07d3168f8b8aecaf8a3be\"\u003e\u003ccode\u003eebf7190\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.32.0 to 4.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/0e4ae38f0c93d4f92a96c774bd52c069d12a4798\"\u003e\u003ccode\u003e0e4ae38\u003c/code\u003e\u003c/a\u003e docs: exclude Response.is_permanent_redirect from API docs (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7244\"\u003e#7244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d568f47278492e630cc990a259047c67991d007a\"\u003e\u003ccode\u003ed568f47\u003c/code\u003e\u003c/a\u003e docs: clarify Quickstart POST example (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6960\"\u003e#6960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.4...v2.33.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `flask` from 2.2.5 to 3.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/releases\"\u003eflask's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.3\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.3 security fix release, which fixes a security issue but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.3/\"\u003ehttps://pypi.org/project/Flask/3.1.3/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-3\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-3\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys but not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. \u003ca href=\"https://github.com/pallets/flask/security/advisories/GHSA-68rp-wp8r-4726\"\u003eGHSA-68rp-wp8r-4726\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.2\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.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/Flask/3.1.2/\"\u003ehttps://pypi.org/project/Flask/3.1.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-2\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-2\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/38?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/38?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5774\"\u003e#5774\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state of \u003ccode\u003esession\u003c/code\u003e is correct. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5786\"\u003e#5786\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5776\"\u003e#5776\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.1\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.1 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.1/\"\u003ehttps://pypi.org/project/Flask/3.1.1/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/flask/milestone/36?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/36?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. GHSA-4grg-w6v8-c28g\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5645\"\u003e#5645\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loads the app and plugins first to make sure all commands are shown. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5673\"\u003e#5673\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMark sans-io base class as being able to handle views that return \u003ccode\u003eAsyncIterable\u003c/code\u003e. This is not accurate for Flask, but makes typing easier for Quart. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5659\"\u003e#5659\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.0\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecations, or introduce potentially breaking changes. We encourage everyone to upgrade, and to use a tool such as \u003ca href=\"https://pypi.org/project/pip-tools/\"\u003epip-tools\u003c/a\u003e to pin all dependencies and control upgrades. Test with warnings treated as errors to be able to adapt to deprecation warnings early.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.0/\"\u003ehttps://pypi.org/project/Flask/3.1.0/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-0\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-0\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/33?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/33?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5623\"\u003e#5623\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate minimum dependency versions to latest feature releases. Werkzeug \u0026gt;= 3.1, ItsDangerous \u0026gt;= 2.2, Blinker \u0026gt;= 1.9. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5624\"\u003e#5624\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5633\"\u003e#5633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProvide a configuration option to control automatic option responses. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5496\"\u003e#5496\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFlask.open_resource\u003c/code\u003e/\u003ccode\u003eopen_instance_resource\u003c/code\u003e and \u003ccode\u003eBlueprint.open_resource\u003c/code\u003e take an \u003ccode\u003eencoding\u003c/code\u003e parameter to use when opening in text mode. It defaults to \u003ccode\u003eutf-8\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5504\"\u003e#5504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.max_content_length\u003c/code\u003e can be customized per-request instead of only through the \u003ccode\u003eMAX_CONTENT_LENGTH\u003c/code\u003e config. Added \u003ccode\u003eMAX_FORM_MEMORY_SIZE\u003c/code\u003e and \u003ccode\u003eMAX_FORM_PARTS\u003c/code\u003e config. Added documentation about resource limits to the security page. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5625\"\u003e#5625\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for the \u003ccode\u003ePartitioned\u003c/code\u003e cookie attribute (CHIPS), with the \u003ccode\u003eSESSION_COOKIE_PARTITIONED\u003c/code\u003e config. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5472\"\u003e#5472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e-e path\u003c/code\u003e takes precedence over default \u003ccode\u003e.env\u003c/code\u003e and \u003ccode\u003e.flaskenv\u003c/code\u003e files. \u003ccode\u003eload_dotenv\u003c/code\u003e loads default files in addition to a path unless \u003ccode\u003eload_defaults=False\u003c/code\u003e is passed. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5628\"\u003e#5628\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport key rotation with the \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e config, a list of old secret keys that can still be used for unsigning. Extensions will need to add support. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5621\"\u003e#5621\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix how setting \u003ccode\u003ehost_matching=True\u003c/code\u003e or \u003ccode\u003esubdomain_matching=False\u003c/code\u003e interacts with \u003ccode\u003eSERVER_NAME\u003c/code\u003e. Setting \u003ccode\u003eSERVER_NAME\u003c/code\u003e no longer restricts requests to only that domain. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5553\"\u003e#5553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.trusted_hosts\u003c/code\u003e is checked during routing, and can be set through the \u003ccode\u003eTRUSTED_HOSTS\u003c/code\u003e config. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5636\"\u003e#5636\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.0.3\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/blob/main/CHANGES.rst\"\u003eflask's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.1.3\u003c/h2\u003e\n\u003cp\u003eReleased 2026-02-18\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys\nbut not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. :ghsa:\u003ccode\u003e68rp-wp8r-4726\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.2\u003c/h2\u003e\n\u003cp\u003eReleased 2025-08-19\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. :issue:\u003ccode\u003e5774\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state\nof \u003ccode\u003esession\u003c/code\u003e is correct. :issue:\u003ccode\u003e5786\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. :issue:\u003ccode\u003e5776\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-05-13\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via\n\u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. :ghsa:\u003ccode\u003e4grg-w6v8-c28g\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. :issue:\u003ccode\u003e5645\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loads the app and plugins first to make sure all commands\nare shown. :issue:\u003ccode\u003e5673\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eMark sans-io base class as being able to handle views that return\n\u003ccode\u003eAsyncIterable\u003c/code\u003e. This is not accurate for Flask, but makes typing easier\nfor Quart. :pr:\u003ccode\u003e5659\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.0\u003c/h2\u003e\n\u003cp\u003eReleased 2024-11-13\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. :pr:\u003ccode\u003e5623\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUpdate minimum dependency versions to latest feature releases.\nWerkzeug \u0026gt;= 3.1, ItsDangerous \u0026gt;= 2.2, Blinker \u0026gt;= 1.9. :pr:\u003ccode\u003e5624,5633\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eProvide a configuration option to control automatic option\nresponses. :pr:\u003ccode\u003e5496\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFlask.open_resource\u003c/code\u003e/\u003ccode\u003eopen_instance_resource\u003c/code\u003e and\n\u003ccode\u003eBlueprint.open_resource\u003c/code\u003e take an \u003ccode\u003eencoding\u003c/code\u003e parameter to use when\nopening in text mode. It defaults to \u003ccode\u003eutf-8\u003c/code\u003e. :issue:\u003ccode\u003e5504\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.max_content_length\u003c/code\u003e can be customized per-request instead of only\nthrough the \u003ccode\u003eMAX_CONTENT_LENGTH\u003c/code\u003e config. Added\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/22d924701a6ae2e4cd01e9a15bbaf3946094af65\"\u003e\u003ccode\u003e22d9247\u003c/code\u003e\u003c/a\u003e release version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/089cb86dd22bff589a4eafb7ab8e42dc357623b4\"\u003e\u003ccode\u003e089cb86\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/c17f379390731543eea33a570a47bd4ef76a54fa\"\u003e\u003ccode\u003ec17f379\u003c/code\u003e\u003c/a\u003e request context tracks session access\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/27be9338405382445a7cb01151e084559b98d602\"\u003e\u003ccode\u003e27be933\u003c/code\u003e\u003c/a\u003e start version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4e652d3f68b90d50aa2301d3b7e68c3fafd9251d\"\u003e\u003ccode\u003e4e652d3\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5903\"\u003e#5903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/3d03098a97ddc6a908aa4a50c2ef7381f8297d0a\"\u003e\u003ccode\u003e3d03098\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/407eb76b27884848383a37c7274654f0271e4bc4\"\u003e\u003ccode\u003e407eb76\u003c/code\u003e\u003c/a\u003e document using gevent for async (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5900\"\u003e#5900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/ac5664d2281533eacafd64f5cc7d5edcdaccab60\"\u003e\u003ccode\u003eac5664d\u003c/code\u003e\u003c/a\u003e document using gevent for async\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4f79d5b59a56bc4356a97f2e81a35f98cb18d7b3\"\u003e\u003ccode\u003e4f79d5b\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11 (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5865\"\u003e#5865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/fe3b215d3ade4db68262dae1a3cdc464a1fc524f\"\u003e\u003ccode\u003efe3b215\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/flask/compare/2.2.5...3.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyopenssl` from 25.0.0 to 26.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyca/pyopenssl/blob/main/CHANGELOG.rst\"\u003epyopenssl's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.0.0 (2026-03-15)\u003c/h2\u003e\n\u003cp\u003eBackward-incompatible changes:\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.7.\u003c/li\u003e\n\u003cli\u003eThe minimum \u003ccode\u003ecryptography\u003c/code\u003e version is now 46.0.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations:\n^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003eChanges:\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for using aws-lc instead of OpenSSL.\u003c/li\u003e\n\u003cli\u003eProperly raise an error if a DTLS cookie callback returned a cookie longer than \u003cco...\n\n_Description has been truncated_","html_url":"https://github.com/ASISBusiness/python-docs-samples/pull/10","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ASISBusiness%2Fpython-docs-samples/issues/10","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/10/packages"},{"uuid":"4190872602","node_id":"PR_kwDOI9hyzc7Pa-qC","number":182,"state":"open","title":"Update apache-airflow requirement from \u003c3,\u003e=2.8 to \u003e=2.8,\u003c4","user":"dependabot[bot]","labels":["lang: python","part: dependencies"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-02T01:39:15.000Z","updated_at":"2026-04-02T01:40:42.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Update","packages":[{"name":"apache-airflow","old_version":"\u003c3,\u003e=2.8","new_version":"\u003e=2.8,\u003c4","repository_url":"https://github.com/apache/airflow"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [apache-airflow](https://github.com/apache/airflow) 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/apache/airflow/releases\"\u003eapache-airflow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eApache Airflow 3.1.8\u003c/h2\u003e\n\u003cp\u003e:package: PyPI: \u003ca href=\"https://pypi.org/project/apache-airflow/3.1.8/\"\u003ehttps://pypi.org/project/apache-airflow/3.1.8/\u003c/a\u003e\n:books: Docs: \u003ca href=\"https://airflow.apache.org/docs/apache-airflow/3.1.8/\"\u003ehttps://airflow.apache.org/docs/apache-airflow/3.1.8/\u003c/a\u003e\n:hammer_and_wrench: Release Notes: \u003ca href=\"https://airflow.apache.org/docs/apache-airflow/3.1.8/release_notes.html\"\u003ehttps://airflow.apache.org/docs/apache-airflow/3.1.8/release_notes.html\u003c/a\u003e\n:whale: Docker Image: \u0026quot;docker pull apache/airflow:3.1.8\u0026quot;\n:busstop: Constraints: \u003ca href=\"https://github.com/apache/airflow/tree/constraints-3.1.8\"\u003ehttps://github.com/apache/airflow/tree/constraints-3.1.8\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eSignificant Changes\u003c/h2\u003e\n\u003ch3\u003eBackfill permissions are now handled via \u003ccode\u003eDagAccessEntity.Run\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61456\"\u003e#61456\u003c/a\u003e)\u003c/h3\u003e\n\u003cp\u003e\u003ccode\u003eis_authorized_backfill\u003c/code\u003e of the \u003ccode\u003eBaseAuthManager\u003c/code\u003e interface has been removed. Core will no longer call this method and their\nprovider counterpart implementation will be marked as deprecated.\nPermissions for backfill operations are now checked against the \u003ccode\u003eDagAccessEntity.Run\u003c/code\u003e permission using the existing\n\u003ccode\u003erequires_access_dag\u003c/code\u003e decorator. In other words, if a user has permission to run a DAG, they can perform backfill operations on it.\u003c/p\u003e\n\u003cp\u003ePlease update your security policies to ensure that users who need to perform backfill operations have the appropriate \u003ccode\u003eDagAccessEntity.Run\u003c/code\u003e permissions. (Users\nhaving the Backfill permissions without having the DagRun ones will no longer be able to perform backfill operations without any update)\u003c/p\u003e\n\u003ch3\u003eElasticsearch is now fully compatible with remote logging along (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62940\"\u003e#62940\u003c/a\u003e)\u003c/h3\u003e\n\u003cp\u003eElasticsearch is now fully compatible with remote logging along side with \u003ccode\u003eapache-airflow-providers-elasticsearch\u0026gt;=6.5.0\u003c/code\u003e. Please review elasticsearch provider release notes for more information \u003ca href=\"https://airflow.apache.org/docs/apache-airflow-providers-elasticsearch/6.5.0/changelog.html\"\u003ehttps://airflow.apache.org/docs/apache-airflow-providers-elasticsearch/6.5.0/changelog.html\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62121\"\u003e#62121\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62940\"\u003e#62940\u003c/a\u003e)\u003c/p\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix SQLite migration disable \u003ccode\u003edisable_sqlite_fkeys\u003c/code\u003e in revision \u003ccode\u003e509b94a1042d\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/63256\"\u003e#63256\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/63272\"\u003e#63272\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: 404 queued asset events from API server logs (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62934\"\u003e#62934\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62976\"\u003e#62976\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Always include kid in JWT header for symmetric key tokens (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62883\"\u003e#62883\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62943\"\u003e#62943\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Scope session token in cookie to base_url  (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62771\"\u003e#62771\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62851\"\u003e#62851\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: UI of Scope session token in cookie to base_url (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62771\"\u003e#62771\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62859\"\u003e#62859\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: UI tasks log missing in UP_FOR_RETRY and UP_FOR_RESCHEDULE states (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54547\"\u003e#54547\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62862\"\u003e#62862\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Backfill permissions (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62856\"\u003e#62856\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62873\"\u003e#62873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Use \u003ccode\u003euseAssetServiceGetDagAssetQueuedEvents\u003c/code\u003e to get the correct number of ADRQs (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62868\"\u003e#62868\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62902\"\u003e#62902\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Adds task instance validation for HITL (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62886\"\u003e#62886\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62909\"\u003e#62909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Restore task_instance_history sequence on downgrade (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62759\"\u003e#62759\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix broken \u003ccode\u003edag_processing.total_parse_time\u003c/code\u003e metric (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62128\"\u003e#62128\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62764\"\u003e#62764\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Trigger UI form rendering for null enum values (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62060\"\u003e#62060\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62767\"\u003e#62767\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003etimer.duration\u003c/code\u003e unit labels in logs (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61824\"\u003e#61824\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62757\"\u003e#62757\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix XCom migration failing for NaN/Infinity float values (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62686\"\u003e#62686\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62760\"\u003e#62760\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix SQL not rendered in Rendered Templates view (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60739\"\u003e#60739\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62348\"\u003e#62348\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix missing DAG read permission checks on dependencies endpoint (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62046\"\u003e#62046\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62586\"\u003e#62586\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003edag_bundle.signed_url_template\u003c/code\u003e from \u003ccode\u003evarchar(200)\u003c/code\u003e to \u003ccode\u003etext\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61041\"\u003e#61041\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62568\"\u003e#62568\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix WASB remote logging base path handling (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/58946\"\u003e#58946\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61013\"\u003e#61013\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62456\"\u003e#62456\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle non-dictionary json payload during logging to avoid internal server error. (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62355\"\u003e#62355\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62367\"\u003e#62367\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix grid view crash when task converted to TaskGroup (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61208\"\u003e#61208\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61279\"\u003e#61279\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62181\"\u003e#62181\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix running task duration showing as null in UI (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61898\"\u003e#61898\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62136\"\u003e#62136\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix deferrable sensors not respecting soft_fail on timeout (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61132\"\u003e#61132\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61421\"\u003e#61421\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix task failure details being obscured by finalization errors (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62070\"\u003e#62070\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62113\"\u003e#62113\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd missing ti.start and ti.finish metrics in Airflow 3 (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62019\"\u003e#62019\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62110\"\u003e#62110\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix DepContext mutation leak and restore reschedule-mode guard (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62089\"\u003e#62089\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix scheduler heartbeat misses caused by slow reschedule dependency check (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61983\"\u003e#61983\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62068\"\u003e#62068\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFlush in-memory OTEL metrics at process shutdown (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61808\"\u003e#61808\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61869\"\u003e#61869\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\u003eSee full diff in \u003ca href=\"https://github.com/apache/airflow/commits/3.1.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/airflow-laminar/airflow-supervisor/pull/182","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/airflow-laminar%2Fairflow-supervisor/issues/182","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/182/packages"},{"uuid":"4147706060","node_id":"PR_kwDOOK9uiM7N4A8_","number":150,"state":"closed","title":"chore(deps): bump the pip group across 28 directories with 13 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-02T03:17:45.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-26T22:23:02.000Z","updated_at":"2026-04-02T03:17:47.000Z","time_to_close":536083,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"pip","update_count":13,"packages":[{"name":"requests","old_version":"2.31.0","new_version":"2.33.0","repository_url":"https://github.com/psf/requests"},{"name":"flask","old_version":"2.2.5","new_version":"3.1.3","repository_url":"https://github.com/pallets/flask"},{"name":"pyopenssl","old_version":"23.2.0","new_version":"26.0.0","repository_url":"https://github.com/pyca/pyopenssl"},{"name":"werkzeug","old_version":"2.2.3","new_version":"3.1.6","repository_url":"https://github.com/pallets/werkzeug"},{"name":"apache-airflow","old_version":"2.6.3","new_version":"3.2.0b1","repository_url":"https://github.com/apache/airflow"},{"name":"black","old_version":"23.1a1","new_version":"26.3.1","repository_url":"https://github.com/psf/black"},{"name":"cryptography","old_version":"40.0.2","new_version":"46.0.5","repository_url":"https://github.com/pyca/cryptography"},{"name":"google-cloud-aiplatform","old_version":"1.27.1","new_version":"1.133.0","repository_url":"https://github.com/googleapis/python-aiplatform"},{"name":"protobuf","old_version":"4.23.4","new_version":"5.29.6","repository_url":"https://github.com/protocolbuffers/protobuf"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pip group with 1 update in the /alloydb/notebooks directory: [nbconvert](https://github.com/jupyter/nbconvert).\nBumps the pip group with 1 update in the /aml-ai directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 1 update in the /auth/cloud-client-temp directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 1 update in the /auth/service-to-service directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 1 update in the /bigquery/continuous-queries directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 4 updates in the /cloud-media-livestream/keypublisher directory: [requests](https://github.com/psf/requests), [flask](https://github.com/pallets/flask), [pyopenssl](https://github.com/pyca/pyopenssl) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 2 updates in the /cloud_scheduler/snippets directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 1 update in the /cloud_tasks/http_queues directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 9 updates in the /composer/2022_airflow_summit directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [requests](https://github.com/psf/requests) | `2.31.0` | `2.33.0` |\n| [flask](https://github.com/pallets/flask) | `2.2.5` | `3.1.3` |\n| [pyopenssl](https://github.com/pyca/pyopenssl) | `23.2.0` | `26.0.0` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `2.2.3` | `3.1.6` |\n| [apache-airflow](https://github.com/apache/airflow) | `2.6.3` | `3.2.0b1` |\n| [black](https://github.com/psf/black) | `23.1a1` | `26.3.1` |\n| [cryptography](https://github.com/pyca/cryptography) | `40.0.2` | `46.0.5` |\n| [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) | `1.27.1` | `1.133.0` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `4.23.4` | `5.29.6` |\n\nBumps the pip group with 5 updates in the /composer/airflow_1_samples directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [flask](https://github.com/pallets/flask) | `1.1.2` | `3.1.3` |\n| [pyopenssl](https://github.com/pyca/pyopenssl) | `20.0.0` | `26.0.0` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `0.16.1` | `3.1.6` |\n| [cryptography](https://github.com/pyca/cryptography) | `3.2.1` | `46.0.5` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `3.14.0` | `5.29.6` |\n\nBumps the pip group with 9 updates in the /composer/cicd_sample directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [requests](https://github.com/psf/requests) | `2.31.0` | `2.33.0` |\n| [flask](https://github.com/pallets/flask) | `2.2.5` | `3.1.3` |\n| [pyopenssl](https://github.com/pyca/pyopenssl) | `23.2.0` | `26.0.0` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `2.2.3` | `3.1.6` |\n| [apache-airflow](https://github.com/apache/airflow) | `2.6.3` | `3.2.0b1` |\n| [black](https://github.com/psf/black) | `23.1a1` | `26.3.1` |\n| [cryptography](https://github.com/pyca/cryptography) | `40.0.2` | `46.0.5` |\n| [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) | `1.27.1` | `1.133.0` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `4.23.4` | `5.29.6` |\n\nBumps the pip group with 1 update in the /composer/rest directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 9 updates in the /composer/workflows directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [requests](https://github.com/psf/requests) | `2.31.0` | `2.33.0` |\n| [flask](https://github.com/pallets/flask) | `2.2.5` | `3.1.3` |\n| [pyopenssl](https://github.com/pyca/pyopenssl) | `24.1.0` | `26.0.0` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `2.2.3` | `3.1.6` |\n| [apache-airflow](https://github.com/apache/airflow) | `2.9.2` | `3.2.0b1` |\n| [black](https://github.com/psf/black) | `24.4.2` | `26.3.1` |\n| [cryptography](https://github.com/pyca/cryptography) | `41.0.7` | `46.0.5` |\n| [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) | `1.53.0` | `1.133.0` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `4.25.3` | `5.29.6` |\n\nBumps the pip group with 1 update in the /compute/auth directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 1 update in the /compute/client_library directory: [black](https://github.com/psf/black).\nBumps the pip group with 2 updates in the /compute/encryption directory: [requests](https://github.com/psf/requests) and [cryptography](https://github.com/pyca/cryptography).\nBumps the pip group with 1 update in the /compute/metadata directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 1 update in the /compute/oslogin directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 3 updates in the /dataflow/gemma directory: [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform), [protobuf](https://github.com/protocolbuffers/protobuf) and [keras](https://github.com/keras-team/keras).\nBumps the pip group with 1 update in the /dataflow/gemma-flex-template directory: [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform).\nBumps the pip group with 3 updates in the /dataflow/run-inference directory: [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform), [torch](https://github.com/pytorch/pytorch) and [transformers](https://github.com/huggingface/transformers).\nBumps the pip group with 1 update in the /dataflow/run_template directory: [flask](https://github.com/pallets/flask).\nBumps the pip group with 2 updates in the /datastore/cloud-ndb directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 2 updates in the /dialogflow directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 2 updates in the /dialogflow-cx directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 2 updates in the /gemma2 directory: [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) and [protobuf](https://github.com/protocolbuffers/protobuf).\nBumps the pip group with 3 updates in the /iap directory: [requests](https://github.com/psf/requests), [werkzeug](https://github.com/pallets/werkzeug) and [cryptography](https://github.com/pyca/cryptography).\nBumps the pip group with 1 update in the /media_cdn directory: [cryptography](https://github.com/pyca/cryptography).\n\nUpdates `nbconvert` from 7.16.6 to 7.17.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jupyter/nbconvert/releases\"\u003enbconvert's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.17.0\u003c/h2\u003e\n\u003ch2\u003e7.17.0\u003c/h2\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbconvert/compare/v7.16.6...c9ac1d1040459ed1ff9eb34e9918ce5a87cf9d71\"\u003eFull Changelog\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eEnhancements made\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for arbitrary browser arguments \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2227\"\u003e#2227\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugs fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix QtPNGExporter returning empty bytes on macOS \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2264\"\u003e#2264\u003c/a\u003e (\u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/QuLogic\"\u003e\u003ccode\u003e@​QuLogic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix CVE-2025-53000: Secure Inkscape Windows path (registry first + block CWD) \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2261\"\u003e#2261\u003c/a\u003e (\u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/mberlanda\"\u003e\u003ccode\u003e@​mberlanda\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/salmankadaya\"\u003e\u003ccode\u003e@​salmankadaya\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/th3gowtham\"\u003e\u003ccode\u003e@​th3gowtham\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix get_export_names and get_exporter default args \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2228\"\u003e#2228\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePyPA-Compliant Summary \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2226\"\u003e#2226\u003c/a\u003e (\u003ca href=\"https://github.com/hackowitz-af\"\u003e\u003ccode\u003e@​hackowitz-af\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMaintenance and upkeep improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eavoid cov environment on free-threaded Pythons \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2267\"\u003e#2267\u003c/a\u003e (\u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate pre-commit, and fix all issues. \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2238\"\u003e#2238\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop test on 3.9, test on 3.13, 3.14, 3.14t \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2237\"\u003e#2237\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the actions group across 1 directory with 2 updates \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2231\"\u003e#2231\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003e@flaky.flaky\u003c/code\u003e decorate with pytest marker \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2229\"\u003e#2229\u003c/a\u003e (\u003ca href=\"https://github.com/mgorny\"\u003e\u003ccode\u003e@​mgorny\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate to mermaid 11.10.0 \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2224\"\u003e#2224\u003c/a\u003e (\u003ca href=\"https://github.com/bollwyvl\"\u003e\u003ccode\u003e@​bollwyvl\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.8, fix the CI tests \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2221\"\u003e#2221\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse \u003ccode\u003eintersphinx_registry\u003c/code\u003e \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2232\"\u003e#2232\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors to this release\u003c/h3\u003e\n\u003cp\u003eThe following people contributed discussions, new ideas, code and documentation contributions, and review.\nSee \u003ca href=\"https://github-activity.readthedocs.io/en/latest/use/#how-does-this-tool-define-contributions-in-the-reports\"\u003eour definition of contributors\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbconvert/graphs/contributors?from=2025-01-28\u0026amp;to=2026-01-29\u0026amp;type=c\"\u003eGitHub contributors page for this release\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/bollwyvl\"\u003e\u003ccode\u003e@​bollwyvl\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Abollwyvl+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3ACarreau+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ah3pdesign+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/hackowitz-af\"\u003e\u003ccode\u003e@​hackowitz-af\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ahackowitz-af+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Akrassowski+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/mberlanda\"\u003e\u003ccode\u003e@​mberlanda\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Amberlanda+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/mgorny\"\u003e\u003ccode\u003e@​mgorny\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Amgorny+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Aminrk+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/MSeal\"\u003e\u003ccode\u003e@​MSeal\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3AMSeal+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/QuLogic\"\u003e\u003ccode\u003e@​QuLogic\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3AQuLogic+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/salmankadaya\"\u003e\u003ccode\u003e@​salmankadaya\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Asalmankadaya+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ashreve+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/th3gowtham\"\u003e\u003ccode\u003e@​th3gowtham\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ath3gowtham+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e)\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jupyter/nbconvert/blob/main/CHANGELOG.md\"\u003enbconvert's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.17.0\u003c/h2\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbconvert/compare/v7.16.6...c9ac1d1040459ed1ff9eb34e9918ce5a87cf9d71\"\u003eFull Changelog\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eEnhancements made\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for arbitrary browser arguments \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2227\"\u003e#2227\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugs fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix QtPNGExporter returning empty bytes on macOS \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2264\"\u003e#2264\u003c/a\u003e (\u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/QuLogic\"\u003e\u003ccode\u003e@​QuLogic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix CVE-2025-53000: Secure Inkscape Windows path (registry first + block CWD) \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2261\"\u003e#2261\u003c/a\u003e (\u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/mberlanda\"\u003e\u003ccode\u003e@​mberlanda\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/salmankadaya\"\u003e\u003ccode\u003e@​salmankadaya\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/th3gowtham\"\u003e\u003ccode\u003e@​th3gowtham\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix get_export_names and get_exporter default args \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2228\"\u003e#2228\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePyPA-Compliant Summary \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2226\"\u003e#2226\u003c/a\u003e (\u003ca href=\"https://github.com/hackowitz-af\"\u003e\u003ccode\u003e@​hackowitz-af\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMaintenance and upkeep improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eavoid cov environment on free-threaded Pythons \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2267\"\u003e#2267\u003c/a\u003e (\u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate pre-commit, and fix all issues. \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2238\"\u003e#2238\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop test on 3.9, test on 3.13, 3.14, 3.14t \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2237\"\u003e#2237\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the actions group across 1 directory with 2 updates \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2231\"\u003e#2231\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003e@flaky.flaky\u003c/code\u003e decorate with pytest marker \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2229\"\u003e#2229\u003c/a\u003e (\u003ca href=\"https://github.com/mgorny\"\u003e\u003ccode\u003e@​mgorny\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate to mermaid 11.10.0 \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2224\"\u003e#2224\u003c/a\u003e (\u003ca href=\"https://github.com/bollwyvl\"\u003e\u003ccode\u003e@​bollwyvl\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.8, fix the CI tests \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2221\"\u003e#2221\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse \u003ccode\u003eintersphinx_registry\u003c/code\u003e \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2232\"\u003e#2232\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors to this release\u003c/h3\u003e\n\u003cp\u003eThe following people contributed discussions, new ideas, code and documentation contributions, and review.\nSee \u003ca href=\"https://github-activity.readthedocs.io/en/latest/use/#how-does-this-tool-define-contributions-in-the-reports\"\u003eour definition of contributors\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbconvert/graphs/contributors?from=2025-01-28\u0026amp;to=2026-01-29\u0026amp;type=c\"\u003eGitHub contributors page for this release\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/bollwyvl\"\u003e\u003ccode\u003e@​bollwyvl\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Abollwyvl+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3ACarreau+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ah3pdesign+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/hackowitz-af\"\u003e\u003ccode\u003e@​hackowitz-af\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ahackowitz-af+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Akrassowski+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/mberlanda\"\u003e\u003ccode\u003e@​mberlanda\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Amberlanda+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/mgorny\"\u003e\u003ccode\u003e@​mgorny\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Amgorny+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Aminrk+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/MSeal\"\u003e\u003ccode\u003e@​MSeal\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3AMSeal+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/QuLogic\"\u003e\u003ccode\u003e@​QuLogic\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3AQuLogic+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/salmankadaya\"\u003e\u003ccode\u003e@​salmankadaya\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Asalmankadaya+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ashreve+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/th3gowtham\"\u003e\u003ccode\u003e@​th3gowtham\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ath3gowtham+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e)\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/21b35d85b46f5ff0956d3d088a52b9bef00e8196\"\u003e\u003ccode\u003e21b35d8\u003c/code\u003e\u003c/a\u003e Publish 7.17.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/c9ac1d1040459ed1ff9eb34e9918ce5a87cf9d71\"\u003e\u003ccode\u003ec9ac1d1\u003c/code\u003e\u003c/a\u003e Fix CVE-2025-53000: Secure Inkscape Windows path (registry first + block CWD)...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/b13276d80ae6fadbfda981304810e26f421c4ced\"\u003e\u003ccode\u003eb13276d\u003c/code\u003e\u003c/a\u003e avoid cov environment on free-threaded Pythons (\u003ca href=\"https://redirect.github.com/jupyter/nbconvert/issues/2267\"\u003e#2267\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/7c7055fe833fe9832e6f9a64fa5f67d66692c8d6\"\u003e\u003ccode\u003e7c7055f\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] auto fixes from pre-commit.com hooks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/74f3ddd37ef4b7ffb5eee9acbf52062217c15852\"\u003e\u003ccode\u003e74f3ddd\u003c/code\u003e\u003c/a\u003e Fix QtPNGExporter returning empty bytes on macOS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/216550b2aae4c329f4dab597a96ae7cac30de79a\"\u003e\u003ccode\u003e216550b\u003c/code\u003e\u003c/a\u003e fix links\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/39777ac5716350e994171d025a7369c58b0afc8c\"\u003e\u003ccode\u003e39777ac\u003c/code\u003e\u003c/a\u003e try to comment fialing test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/7b591ca526f2598dbae3256a53765659c3edcf14\"\u003e\u003ccode\u003e7b591ca\u003c/code\u003e\u003c/a\u003e ruff-check\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/6ec7638a3dc7a0bc2c533c116202d7f9b07ce9d9\"\u003e\u003ccode\u003e6ec7638\u003c/code\u003e\u003c/a\u003e parent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/59414b36f94e318d4207e8af863167047d936c19\"\u003e\u003ccode\u003e59414b3\u003c/code\u003e\u003c/a\u003e fix mypy\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jupyter/nbconvert/compare/v7.16.6...v7.17.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.4 to 2.33.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.33.0\u003c/h2\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that uses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report any gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts contents to a non-deterministic location to prevent malicious file replacement. This does not affect default usage of Requests, only applications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause malformed authentication to be applied to Requests on Python 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\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/M0d3v1\"\u003e\u003ccode\u003e@​M0d3v1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6865\"\u003epsf/requests#6865\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminvakil\"\u003e\u003ccode\u003e@​aminvakil\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7220\"\u003epsf/requests#7220\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/E8Price\"\u003e\u003ccode\u003e@​E8Price\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6960\"\u003epsf/requests#6960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mitre88\"\u003e\u003ccode\u003e@​mitre88\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7244\"\u003epsf/requests#7244\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/magsen\"\u003e\u003ccode\u003e@​magsen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6553\"\u003epsf/requests#6553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rohan5commit\"\u003e\u003ccode\u003e@​Rohan5commit\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7227\"\u003epsf/requests#7227\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\"\u003ehttps://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that\nuses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report\nany gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts\ncontents to a non-deterministic location to prevent malicious file\nreplacement. This does not affect default usage of Requests, only\napplications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause\nmalformed authentication to be applied to Requests on\nPython 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/bc04dfd6dad4cb02cd92f5daa81eb562d280a761\"\u003e\u003ccode\u003ebc04dfd\u003c/code\u003e\u003c/a\u003e v2.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/66d21cb07bd6255b1280291c4fafb71803cdb3b7\"\u003e\u003ccode\u003e66d21cb\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/8b9bc8fc0f63be84602387913c4b689f19efd028\"\u003e\u003ccode\u003e8b9bc8f\u003c/code\u003e\u003c/a\u003e Move badges to top of README (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7293\"\u003e#7293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/e331a288f369973f5de0ec8901c94cae4fa87286\"\u003e\u003ccode\u003ee331a28\u003c/code\u003e\u003c/a\u003e Remove unused extraction call (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7292\"\u003e#7292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/753fd08c5eacce0aa0df73fe47e49525c67e0a29\"\u003e\u003ccode\u003e753fd08\u003c/code\u003e\u003c/a\u003e docs: fix FAQ grammar in httplib2 example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/774a0b837a194ee885d4fdd9ca947900cc3daf71\"\u003e\u003ccode\u003e774a0b8\u003c/code\u003e\u003c/a\u003e docs(socks): same block as other sections\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/9c72a41bec8597f948c9d8caa5dc3f12273b3303\"\u003e\u003ccode\u003e9c72a41\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.33.0 to 4.34.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/ebf71906798ec82f34e07d3168f8b8aecaf8a3be\"\u003e\u003ccode\u003eebf7190\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.32.0 to 4.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/0e4ae38f0c93d4f92a96c774bd52c069d12a4798\"\u003e\u003ccode\u003e0e4ae38\u003c/code\u003e\u003c/a\u003e docs: exclude Response.is_permanent_redirect from API docs (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7244\"\u003e#7244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d568f47278492e630cc990a259047c67991d007a\"\u003e\u003ccode\u003ed568f47\u003c/code\u003e\u003c/a\u003e docs: clarify Quickstart POST example (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6960\"\u003e#6960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.4...v2.33.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.5 to 2.33.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.33.0\u003c/h2\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that uses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report any gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts contents to a non-deterministic location to prevent malicious file replacement. This does not affect default usage of Requests, only applications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause malformed authentication to be applied to Requests on Python 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\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/M0d3v1\"\u003e\u003ccode\u003e@​M0d3v1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6865\"\u003epsf/requests#6865\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminvakil\"\u003e\u003ccode\u003e@​aminvakil\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7220\"\u003epsf/requests#7220\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/E8Price\"\u003e\u003ccode\u003e@​E8Price\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6960\"\u003epsf/requests#6960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mitre88\"\u003e\u003ccode\u003e@​mitre88\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7244\"\u003epsf/requests#7244\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/magsen\"\u003e\u003ccode\u003e@​magsen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6553\"\u003epsf/requests#6553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rohan5commit\"\u003e\u003ccode\u003e@​Rohan5commit\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7227\"\u003epsf/requests#7227\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\"\u003ehttps://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that\nuses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report\nany gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts\ncontents to a non-deterministic location to prevent malicious file\nreplacement. This does not affect default usage of Requests, only\napplications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause\nmalformed authentication to be applied to Requests on\nPython 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/bc04dfd6dad4cb02cd92f5daa81eb562d280a761\"\u003e\u003ccode\u003ebc04dfd\u003c/code\u003e\u003c/a\u003e v2.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/66d21cb07bd6255b1280291c4fafb71803cdb3b7\"\u003e\u003ccode\u003e66d21cb\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/8b9bc8fc0f63be84602387913c4b689f19efd028\"\u003e\u003ccode\u003e8b9bc8f\u003c/code\u003e\u003c/a\u003e Move badges to top of README (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7293\"\u003e#7293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/e331a288f369973f5de0ec8901c94cae4fa87286\"\u003e\u003ccode\u003ee331a28\u003c/code\u003e\u003c/a\u003e Remove unused extraction call (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7292\"\u003e#7292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/753fd08c5eacce0aa0df73fe47e49525c67e0a29\"\u003e\u003ccode\u003e753fd08\u003c/code\u003e\u003c/a\u003e docs: fix FAQ grammar in httplib2 example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/774a0b837a194ee885d4fdd9ca947900cc3daf71\"\u003e\u003ccode\u003e774a0b8\u003c/code\u003e\u003c/a\u003e docs(socks): same block as other sections\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/9c72a41bec8597f948c9d8caa5dc3f12273b3303\"\u003e\u003ccode\u003e9c72a41\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.33.0 to 4.34.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/ebf71906798ec82f34e07d3168f8b8aecaf8a3be\"\u003e\u003ccode\u003eebf7190\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.32.0 to 4.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/0e4ae38f0c93d4f92a96c774bd52c069d12a4798\"\u003e\u003ccode\u003e0e4ae38\u003c/code\u003e\u003c/a\u003e docs: exclude Response.is_permanent_redirect from API docs (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7244\"\u003e#7244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d568f47278492e630cc990a259047c67991d007a\"\u003e\u003ccode\u003ed568f47\u003c/code\u003e\u003c/a\u003e docs: clarify Quickstart POST example (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6960\"\u003e#6960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.4...v2.33.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.4 to 2.33.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.33.0\u003c/h2\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that uses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report any gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts contents to a non-deterministic location to prevent malicious file replacement. This does not affect default usage of Requests, only applications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause malformed authentication to be applied to Requests on Python 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\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/M0d3v1\"\u003e\u003ccode\u003e@​M0d3v1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6865\"\u003epsf/requests#6865\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminvakil\"\u003e\u003ccode\u003e@​aminvakil\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7220\"\u003epsf/requests#7220\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/E8Price\"\u003e\u003ccode\u003e@​E8Price\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6960\"\u003epsf/requests#6960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mitre88\"\u003e\u003ccode\u003e@​mitre88\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7244\"\u003epsf/requests#7244\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/magsen\"\u003e\u003ccode\u003e@​magsen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6553\"\u003epsf/requests#6553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rohan5commit\"\u003e\u003ccode\u003e@​Rohan5commit\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7227\"\u003epsf/requests#7227\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\"\u003ehttps://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that\nuses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report\nany gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts\ncontents to a non-deterministic location to prevent malicious file\nreplacement. This does not affect default usage of Requests, only\napplications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause\nmalformed authentication to be applied to Requests on\nPython 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/bc04dfd6dad4cb02cd92f5daa81eb562d280a761\"\u003e\u003ccode\u003ebc04dfd\u003c/code\u003e\u003c/a\u003e v2.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/66d21cb07bd6255b1280291c4fafb71803cdb3b7\"\u003e\u003ccode\u003e66d21cb\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/8b9bc8fc0f63be84602387913c4b689f19efd028\"\u003e\u003ccode\u003e8b9bc8f\u003c/code\u003e\u003c/a\u003e Move badges to top of README (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7293\"\u003e#7293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/e331a288f369973f5de0ec8901c94cae4fa87286\"\u003e\u003ccode\u003ee331a28\u003c/code\u003e\u003c/a\u003e Remove unused extraction call (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7292\"\u003e#7292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/753fd08c5eacce0aa0df73fe47e49525c67e0a29\"\u003e\u003ccode\u003e753fd08\u003c/code\u003e\u003c/a\u003e docs: fix FAQ grammar in httplib2 example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/774a0b837a194ee885d4fdd9ca947900cc3daf71\"\u003e\u003ccode\u003e774a0b8\u003c/code\u003e\u003c/a\u003e docs(socks): same block as other sections\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/9c72a41bec8597f948c9d8caa5dc3f12273b3303\"\u003e\u003ccode\u003e9c72a41\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.33.0 to 4.34.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/ebf71906798ec82f34e07d3168f8b8aecaf8a3be\"\u003e\u003ccode\u003eebf7190\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.32.0 to 4.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/0e4ae38f0c93d4f92a96c774bd52c069d12a4798\"\u003e\u003ccode\u003e0e4ae38\u003c/code\u003e\u003c/a\u003e docs: exclude Response.is_permanent_redirect from API docs (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7244\"\u003e#7244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d568f47278492e630cc990a259047c67991d007a\"\u003e\u003ccode\u003ed568f47\u003c/code\u003e\u003c/a\u003e docs: clarify Quickstart POST example (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6960\"\u003e#6960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.4...v2.33.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.4 to 2.33.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.33.0\u003c/h2\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that uses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report any gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts contents to a non-deterministic location to prevent malicious file replacement. This does not affect default usage of Requests, only applications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause malformed authentication to be applied to Requests on Python 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\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/M0d3v1\"\u003e\u003ccode\u003e@​M0d3v1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6865\"\u003epsf/requests#6865\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminvakil\"\u003e\u003ccode\u003e@​aminvakil\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7220\"\u003epsf/requests#7220\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/E8Price\"\u003e\u003ccode\u003e@​E8Price\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6960\"\u003epsf/requests#6960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mitre88\"\u003e\u003ccode\u003e@​mitre88\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7244\"\u003epsf/requests#7244\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/magsen\"\u003e\u003ccode\u003e@​magsen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6553\"\u003epsf/requests#6553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rohan5commit\"\u003e\u003ccode\u003e@​Rohan5commit\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7227\"\u003epsf/requests#7227\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\"\u003ehttps://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that\nuses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report\nany gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts\ncontents to a non-deterministic location to prevent malicious file\nreplacement. This does not affect default usage of Requests, only\napplications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause\nmalformed authentication to be applied to Requests on\nPython 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/bc04dfd6dad4cb02cd92f5daa81eb562d280a761\"\u003e\u003ccode\u003ebc04dfd\u003c/code\u003e\u003c/a\u003e v2.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/66d21cb07bd6255b1280291c4fafb71803cdb3b7\"\u003e\u003ccode\u003e66d21cb\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/8b9bc8fc0f63be84602387913c4b689f19efd028\"\u003e\u003ccode\u003e8b9bc8f\u003c/code\u003e\u003c/a\u003e Move badges to top of README (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7293\"\u003e#7293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/e331a288f369973f5de0ec8901c94cae4fa87286\"\u003e\u003ccode\u003ee331a28\u003c/code\u003e\u003c/a\u003e Remove unused extraction call (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7292\"\u003e#7292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/753fd08c5eacce0aa0df73fe47e49525c67e0a29\"\u003e\u003ccode\u003e753fd08\u003c/code\u003e\u003c/a\u003e docs: fix FAQ grammar in httplib2 example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/774a0b837a194ee885d4fdd9ca947900cc3daf71\"\u003e\u003ccode\u003e774a0b8\u003c/code\u003e\u003c/a\u003e docs(socks): same block as other sections\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/9c72a41bec8597f948c9d8caa5dc3f12273b3303\"\u003e\u003ccode\u003e9c72a41\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.33.0 to 4.34.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/ebf71906798ec82f34e07d3168f8b8aecaf8a3be\"\u003e\u003ccode\u003eebf7190\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.32.0 to 4.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/0e4ae38f0c93d4f92a96c774bd52c069d12a4798\"\u003e\u003ccode\u003e0e4ae38\u003c/code\u003e\u003c/a\u003e docs: exclude Response.is_permanent_redirect from API docs (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7244\"\u003e#7244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d568f47278492e630cc990a259047c67991d007a\"\u003e\u003ccode\u003ed568f47\u003c/code\u003e\u003c/a\u003e docs: clarify Quickstart POST example (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6960\"\u003e#6960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.4...v2.33.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.4 to 2.33.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.33.0\u003c/h2\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that uses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report any gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts contents to a non-deterministic location to prevent malicious file replacement. This does not affect default usage of Requests, only applications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause malformed authentication to be applied to Requests on Python 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\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/M0d3v1\"\u003e\u003ccode\u003e@​M0d3v1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6865\"\u003epsf/requests#6865\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminvakil\"\u003e\u003ccode\u003e@​aminvakil\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7220\"\u003epsf/requests#7220\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/E8Price\"\u003e\u003ccode\u003e@​E8Price\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6960\"\u003epsf/requests#6960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mitre88\"\u003e\u003ccode\u003e@​mitre88\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7244\"\u003epsf/requests#7244\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/magsen\"\u003e\u003ccode\u003e@​magsen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6553\"\u003epsf/requests#6553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rohan5commit\"\u003e\u003ccode\u003e@​Rohan5commit\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7227\"\u003epsf/requests#7227\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\"\u003ehttps://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that\nuses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report\nany gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts\ncontents to a non-deterministic location to prevent malicious file\nreplacement. This does not affect default usage of Requests, only\napplications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause\nmalformed authentication to be applied to Requests on\nPython 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/bc04dfd6dad4cb02cd92f5daa81eb562d280a761\"\u003e\u003ccode\u003ebc04dfd\u003c/code\u003e\u003c/a\u003e v2.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/66d21cb07bd6255b1280291c4fafb71803cdb3b7\"\u003e\u003ccode\u003e66d21cb\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/8b9bc8fc0f63be84602387913c4b689f19efd028\"\u003e\u003ccode\u003e8b9bc8f\u003c/code\u003e\u003c/a\u003e Move badges to top of README (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7293\"\u003e#7293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/e331a288f369973f5de0ec8901c94cae4fa87286\"\u003e\u003ccode\u003ee331a28\u003c/code\u003e\u003c/a\u003e Remove unused extraction call (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7292\"\u003e#7292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/753fd08c5eacce0aa0df73fe47e49525c67e0a29\"\u003e\u003ccode\u003e753fd08\u003c/code\u003e\u003c/a\u003e docs: fix FAQ grammar in httplib2 example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/774a0b837a194ee885d4fdd9ca947900cc3daf71\"\u003e\u003ccode\u003e774a0b8\u003c/code\u003e\u003c/a\u003e docs(socks): same block as other sections\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/9c72a41bec8597f948c9d8caa5dc3f12273b3303\"\u003e\u003ccode\u003e9c72a41\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.33.0 to 4.34.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/ebf71906798ec82f34e07d3168f8b8aecaf8a3be\"\u003e\u003ccode\u003eebf7190\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.32.0 to 4.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/0e4ae38f0c93d4f92a96c774bd52c069d12a4798\"\u003e\u003ccode\u003e0e4ae38\u003c/code\u003e\u003c/a\u003e docs: exclude Response.is_permanent_redirect from API docs (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7244\"\u003e#7244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d568f47278492e630cc990a259047c67991d007a\"\u003e\u003ccode\u003ed568f47\u003c/code\u003e\u003c/a\u003e docs: clarify Quickstart POST example (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6960\"\u003e#6960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.4...v2.33.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `flask` from 2.2.5 to 3.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/releases\"\u003eflask's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.3\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.3 security fix release, which fixes a security issue but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.3/\"\u003ehttps://pypi.org/project/Flask/3.1.3/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-3\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-3\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys but not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. \u003ca href=\"https://github.com/pallets/flask/security/advisories/GHSA-68rp-wp8r-4726\"\u003eGHSA-68rp-wp8r-4726\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.2\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.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/Flask/3.1.2/\"\u003ehttps://pypi.org/project/Flask/3.1.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-2\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-2\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/38?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/38?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5774\"\u003e#5774\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state of \u003ccode\u003esession\u003c/code\u003e is correct. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5786\"\u003e#5786\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5776\"\u003e#5776\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.1\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.1 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.1/\"\u003ehttps://pypi.org/project/Flask/3.1.1/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/flask/milestone/36?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/36?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. GHSA-4grg-w6v8-c28g\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5645\"\u003e#5645\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loa...\n\n_Description has been truncated_","html_url":"https://github.com/Reality2byte/python-docs-samples/pull/150","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Reality2byte%2Fpython-docs-samples/issues/150","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/150/packages"},{"uuid":"4144396385","node_id":"PR_kwDOO-I9t87Nvas_","number":8,"state":"closed","title":"chore(deps): bump the pip group across 25 directories with 13 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-04-02T04:10:16.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-26T14:19:09.000Z","updated_at":"2026-04-02T04:10:18.000Z","time_to_close":568267,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"pip","update_count":13,"packages":[{"name":"requests","old_version":"2.31.0","new_version":"2.33.0","repository_url":"https://github.com/psf/requests"},{"name":"flask","old_version":"2.2.5","new_version":"3.1.3","repository_url":"https://github.com/pallets/flask"},{"name":"pyopenssl","old_version":"23.2.0","new_version":"26.0.0","repository_url":"https://github.com/pyca/pyopenssl"},{"name":"werkzeug","old_version":"2.2.3","new_version":"3.1.6","repository_url":"https://github.com/pallets/werkzeug"},{"name":"apache-airflow","old_version":"2.6.3","new_version":"3.2.0b1","repository_url":"https://github.com/apache/airflow"},{"name":"black","old_version":"23.1a1","new_version":"26.3.1","repository_url":"https://github.com/psf/black"},{"name":"cryptography","old_version":"40.0.2","new_version":"46.0.5","repository_url":"https://github.com/pyca/cryptography"},{"name":"google-cloud-aiplatform","old_version":"1.27.1","new_version":"1.133.0","repository_url":"https://github.com/googleapis/python-aiplatform"},{"name":"protobuf","old_version":"4.23.4","new_version":"5.29.6","repository_url":"https://github.com/protocolbuffers/protobuf"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pip group with 1 update in the /alloydb/notebooks directory: [nbconvert](https://github.com/jupyter/nbconvert).\nBumps the pip group with 1 update in the /aml-ai directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 1 update in the /auth/service-to-service directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 1 update in the /bigquery/continuous-queries directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 4 updates in the /cloud-media-livestream/keypublisher directory: [requests](https://github.com/psf/requests), [flask](https://github.com/pallets/flask), [pyopenssl](https://github.com/pyca/pyopenssl) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 2 updates in the /cloud_scheduler/snippets directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 1 update in the /cloud_tasks/http_queues directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 9 updates in the /composer/2022_airflow_summit directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [requests](https://github.com/psf/requests) | `2.31.0` | `2.33.0` |\n| [flask](https://github.com/pallets/flask) | `2.2.5` | `3.1.3` |\n| [pyopenssl](https://github.com/pyca/pyopenssl) | `23.2.0` | `26.0.0` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `2.2.3` | `3.1.6` |\n| [apache-airflow](https://github.com/apache/airflow) | `2.6.3` | `3.2.0b1` |\n| [black](https://github.com/psf/black) | `23.1a1` | `26.3.1` |\n| [cryptography](https://github.com/pyca/cryptography) | `40.0.2` | `46.0.5` |\n| [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) | `1.27.1` | `1.133.0` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `4.23.4` | `5.29.6` |\n\nBumps the pip group with 5 updates in the /composer/airflow_1_samples directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [flask](https://github.com/pallets/flask) | `1.1.2` | `3.1.3` |\n| [pyopenssl](https://github.com/pyca/pyopenssl) | `20.0.0` | `26.0.0` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `0.16.1` | `3.1.6` |\n| [cryptography](https://github.com/pyca/cryptography) | `3.2.1` | `46.0.5` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `3.14.0` | `5.29.6` |\n\nBumps the pip group with 9 updates in the /composer/cicd_sample directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [requests](https://github.com/psf/requests) | `2.31.0` | `2.33.0` |\n| [flask](https://github.com/pallets/flask) | `2.2.5` | `3.1.3` |\n| [pyopenssl](https://github.com/pyca/pyopenssl) | `23.2.0` | `26.0.0` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `2.2.3` | `3.1.6` |\n| [apache-airflow](https://github.com/apache/airflow) | `2.6.3` | `3.2.0b1` |\n| [black](https://github.com/psf/black) | `23.1a1` | `26.3.1` |\n| [cryptography](https://github.com/pyca/cryptography) | `40.0.2` | `46.0.5` |\n| [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) | `1.27.1` | `1.133.0` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `4.23.4` | `5.29.6` |\n\nBumps the pip group with 1 update in the /composer/rest directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 1 update in the /compute/auth directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 1 update in the /compute/client_library directory: [black](https://github.com/psf/black).\nBumps the pip group with 2 updates in the /compute/encryption directory: [requests](https://github.com/psf/requests) and [cryptography](https://github.com/pyca/cryptography).\nBumps the pip group with 1 update in the /compute/metadata directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 1 update in the /compute/oslogin directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 3 updates in the /dataflow/gemma directory: [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform), [protobuf](https://github.com/protocolbuffers/protobuf) and [keras](https://github.com/keras-team/keras).\nBumps the pip group with 1 update in the /dataflow/gemma-flex-template directory: [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform).\nBumps the pip group with 3 updates in the /dataflow/run-inference directory: [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform), [torch](https://github.com/pytorch/pytorch) and [transformers](https://github.com/huggingface/transformers).\nBumps the pip group with 2 updates in the /datastore/cloud-ndb directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 2 updates in the /dialogflow directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 2 updates in the /dialogflow-cx directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 2 updates in the /gemma2 directory: [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) and [protobuf](https://github.com/protocolbuffers/protobuf).\nBumps the pip group with 4 updates in the /iap directory: [requests](https://github.com/psf/requests), [flask](https://github.com/pallets/flask), [werkzeug](https://github.com/pallets/werkzeug) and [cryptography](https://github.com/pyca/cryptography).\nBumps the pip group with 1 update in the /media_cdn directory: [cryptography](https://github.com/pyca/cryptography).\n\nUpdates `nbconvert` from 7.16.6 to 7.17.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jupyter/nbconvert/releases\"\u003enbconvert's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.17.0\u003c/h2\u003e\n\u003ch2\u003e7.17.0\u003c/h2\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbconvert/compare/v7.16.6...c9ac1d1040459ed1ff9eb34e9918ce5a87cf9d71\"\u003eFull Changelog\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eEnhancements made\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for arbitrary browser arguments \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2227\"\u003e#2227\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugs fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix QtPNGExporter returning empty bytes on macOS \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2264\"\u003e#2264\u003c/a\u003e (\u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/QuLogic\"\u003e\u003ccode\u003e@​QuLogic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix CVE-2025-53000: Secure Inkscape Windows path (registry first + block CWD) \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2261\"\u003e#2261\u003c/a\u003e (\u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/mberlanda\"\u003e\u003ccode\u003e@​mberlanda\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/salmankadaya\"\u003e\u003ccode\u003e@​salmankadaya\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/th3gowtham\"\u003e\u003ccode\u003e@​th3gowtham\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix get_export_names and get_exporter default args \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2228\"\u003e#2228\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePyPA-Compliant Summary \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2226\"\u003e#2226\u003c/a\u003e (\u003ca href=\"https://github.com/hackowitz-af\"\u003e\u003ccode\u003e@​hackowitz-af\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMaintenance and upkeep improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eavoid cov environment on free-threaded Pythons \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2267\"\u003e#2267\u003c/a\u003e (\u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate pre-commit, and fix all issues. \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2238\"\u003e#2238\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop test on 3.9, test on 3.13, 3.14, 3.14t \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2237\"\u003e#2237\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the actions group across 1 directory with 2 updates \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2231\"\u003e#2231\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003e@flaky.flaky\u003c/code\u003e decorate with pytest marker \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2229\"\u003e#2229\u003c/a\u003e (\u003ca href=\"https://github.com/mgorny\"\u003e\u003ccode\u003e@​mgorny\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate to mermaid 11.10.0 \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2224\"\u003e#2224\u003c/a\u003e (\u003ca href=\"https://github.com/bollwyvl\"\u003e\u003ccode\u003e@​bollwyvl\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.8, fix the CI tests \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2221\"\u003e#2221\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse \u003ccode\u003eintersphinx_registry\u003c/code\u003e \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2232\"\u003e#2232\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors to this release\u003c/h3\u003e\n\u003cp\u003eThe following people contributed discussions, new ideas, code and documentation contributions, and review.\nSee \u003ca href=\"https://github-activity.readthedocs.io/en/latest/use/#how-does-this-tool-define-contributions-in-the-reports\"\u003eour definition of contributors\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbconvert/graphs/contributors?from=2025-01-28\u0026amp;to=2026-01-29\u0026amp;type=c\"\u003eGitHub contributors page for this release\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/bollwyvl\"\u003e\u003ccode\u003e@​bollwyvl\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Abollwyvl+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3ACarreau+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ah3pdesign+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/hackowitz-af\"\u003e\u003ccode\u003e@​hackowitz-af\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ahackowitz-af+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Akrassowski+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/mberlanda\"\u003e\u003ccode\u003e@​mberlanda\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Amberlanda+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/mgorny\"\u003e\u003ccode\u003e@​mgorny\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Amgorny+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Aminrk+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/MSeal\"\u003e\u003ccode\u003e@​MSeal\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3AMSeal+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/QuLogic\"\u003e\u003ccode\u003e@​QuLogic\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3AQuLogic+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/salmankadaya\"\u003e\u003ccode\u003e@​salmankadaya\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Asalmankadaya+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ashreve+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/th3gowtham\"\u003e\u003ccode\u003e@​th3gowtham\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ath3gowtham+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e)\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jupyter/nbconvert/blob/main/CHANGELOG.md\"\u003enbconvert's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.17.0\u003c/h2\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbconvert/compare/v7.16.6...c9ac1d1040459ed1ff9eb34e9918ce5a87cf9d71\"\u003eFull Changelog\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eEnhancements made\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for arbitrary browser arguments \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2227\"\u003e#2227\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugs fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix QtPNGExporter returning empty bytes on macOS \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2264\"\u003e#2264\u003c/a\u003e (\u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/QuLogic\"\u003e\u003ccode\u003e@​QuLogic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix CVE-2025-53000: Secure Inkscape Windows path (registry first + block CWD) \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2261\"\u003e#2261\u003c/a\u003e (\u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/mberlanda\"\u003e\u003ccode\u003e@​mberlanda\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/salmankadaya\"\u003e\u003ccode\u003e@​salmankadaya\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/th3gowtham\"\u003e\u003ccode\u003e@​th3gowtham\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix get_export_names and get_exporter default args \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2228\"\u003e#2228\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePyPA-Compliant Summary \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2226\"\u003e#2226\u003c/a\u003e (\u003ca href=\"https://github.com/hackowitz-af\"\u003e\u003ccode\u003e@​hackowitz-af\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMaintenance and upkeep improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eavoid cov environment on free-threaded Pythons \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2267\"\u003e#2267\u003c/a\u003e (\u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate pre-commit, and fix all issues. \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2238\"\u003e#2238\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop test on 3.9, test on 3.13, 3.14, 3.14t \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2237\"\u003e#2237\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the actions group across 1 directory with 2 updates \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2231\"\u003e#2231\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003e@flaky.flaky\u003c/code\u003e decorate with pytest marker \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2229\"\u003e#2229\u003c/a\u003e (\u003ca href=\"https://github.com/mgorny\"\u003e\u003ccode\u003e@​mgorny\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate to mermaid 11.10.0 \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2224\"\u003e#2224\u003c/a\u003e (\u003ca href=\"https://github.com/bollwyvl\"\u003e\u003ccode\u003e@​bollwyvl\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.8, fix the CI tests \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2221\"\u003e#2221\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse \u003ccode\u003eintersphinx_registry\u003c/code\u003e \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2232\"\u003e#2232\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors to this release\u003c/h3\u003e\n\u003cp\u003eThe following people contributed discussions, new ideas, code and documentation contributions, and review.\nSee \u003ca href=\"https://github-activity.readthedocs.io/en/latest/use/#how-does-this-tool-define-contributions-in-the-reports\"\u003eour definition of contributors\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbconvert/graphs/contributors?from=2025-01-28\u0026amp;to=2026-01-29\u0026amp;type=c\"\u003eGitHub contributors page for this release\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/bollwyvl\"\u003e\u003ccode\u003e@​bollwyvl\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Abollwyvl+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3ACarreau+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ah3pdesign+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/hackowitz-af\"\u003e\u003ccode\u003e@​hackowitz-af\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ahackowitz-af+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Akrassowski+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/mberlanda\"\u003e\u003ccode\u003e@​mberlanda\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Amberlanda+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/mgorny\"\u003e\u003ccode\u003e@​mgorny\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Amgorny+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Aminrk+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/MSeal\"\u003e\u003ccode\u003e@​MSeal\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3AMSeal+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/QuLogic\"\u003e\u003ccode\u003e@​QuLogic\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3AQuLogic+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/salmankadaya\"\u003e\u003ccode\u003e@​salmankadaya\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Asalmankadaya+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ashreve+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/th3gowtham\"\u003e\u003ccode\u003e@​th3gowtham\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ath3gowtham+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e)\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/21b35d85b46f5ff0956d3d088a52b9bef00e8196\"\u003e\u003ccode\u003e21b35d8\u003c/code\u003e\u003c/a\u003e Publish 7.17.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/c9ac1d1040459ed1ff9eb34e9918ce5a87cf9d71\"\u003e\u003ccode\u003ec9ac1d1\u003c/code\u003e\u003c/a\u003e Fix CVE-2025-53000: Secure Inkscape Windows path (registry first + block CWD)...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/b13276d80ae6fadbfda981304810e26f421c4ced\"\u003e\u003ccode\u003eb13276d\u003c/code\u003e\u003c/a\u003e avoid cov environment on free-threaded Pythons (\u003ca href=\"https://redirect.github.com/jupyter/nbconvert/issues/2267\"\u003e#2267\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/7c7055fe833fe9832e6f9a64fa5f67d66692c8d6\"\u003e\u003ccode\u003e7c7055f\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] auto fixes from pre-commit.com hooks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/74f3ddd37ef4b7ffb5eee9acbf52062217c15852\"\u003e\u003ccode\u003e74f3ddd\u003c/code\u003e\u003c/a\u003e Fix QtPNGExporter returning empty bytes on macOS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/216550b2aae4c329f4dab597a96ae7cac30de79a\"\u003e\u003ccode\u003e216550b\u003c/code\u003e\u003c/a\u003e fix links\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/39777ac5716350e994171d025a7369c58b0afc8c\"\u003e\u003ccode\u003e39777ac\u003c/code\u003e\u003c/a\u003e try to comment fialing test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/7b591ca526f2598dbae3256a53765659c3edcf14\"\u003e\u003ccode\u003e7b591ca\u003c/code\u003e\u003c/a\u003e ruff-check\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/6ec7638a3dc7a0bc2c533c116202d7f9b07ce9d9\"\u003e\u003ccode\u003e6ec7638\u003c/code\u003e\u003c/a\u003e parent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/59414b36f94e318d4207e8af863167047d936c19\"\u003e\u003ccode\u003e59414b3\u003c/code\u003e\u003c/a\u003e fix mypy\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jupyter/nbconvert/compare/v7.16.6...v7.17.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.4 to 2.33.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.33.0\u003c/h2\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that uses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report any gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts contents to a non-deterministic location to prevent malicious file replacement. This does not affect default usage of Requests, only applications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause malformed authentication to be applied to Requests on Python 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\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/M0d3v1\"\u003e\u003ccode\u003e@​M0d3v1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6865\"\u003epsf/requests#6865\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminvakil\"\u003e\u003ccode\u003e@​aminvakil\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7220\"\u003epsf/requests#7220\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/E8Price\"\u003e\u003ccode\u003e@​E8Price\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6960\"\u003epsf/requests#6960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mitre88\"\u003e\u003ccode\u003e@​mitre88\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7244\"\u003epsf/requests#7244\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/magsen\"\u003e\u003ccode\u003e@​magsen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6553\"\u003epsf/requests#6553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rohan5commit\"\u003e\u003ccode\u003e@​Rohan5commit\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7227\"\u003epsf/requests#7227\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\"\u003ehttps://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that\nuses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report\nany gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts\ncontents to a non-deterministic location to prevent malicious file\nreplacement. This does not affect default usage of Requests, only\napplications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause\nmalformed authentication to be applied to Requests on\nPython 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/bc04dfd6dad4cb02cd92f5daa81eb562d280a761\"\u003e\u003ccode\u003ebc04dfd\u003c/code\u003e\u003c/a\u003e v2.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/66d21cb07bd6255b1280291c4fafb71803cdb3b7\"\u003e\u003ccode\u003e66d21cb\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/8b9bc8fc0f63be84602387913c4b689f19efd028\"\u003e\u003ccode\u003e8b9bc8f\u003c/code\u003e\u003c/a\u003e Move badges to top of README (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7293\"\u003e#7293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/e331a288f369973f5de0ec8901c94cae4fa87286\"\u003e\u003ccode\u003ee331a28\u003c/code\u003e\u003c/a\u003e Remove unused extraction call (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7292\"\u003e#7292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/753fd08c5eacce0aa0df73fe47e49525c67e0a29\"\u003e\u003ccode\u003e753fd08\u003c/code\u003e\u003c/a\u003e docs: fix FAQ grammar in httplib2 example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/774a0b837a194ee885d4fdd9ca947900cc3daf71\"\u003e\u003ccode\u003e774a0b8\u003c/code\u003e\u003c/a\u003e docs(socks): same block as other sections\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/9c72a41bec8597f948c9d8caa5dc3f12273b3303\"\u003e\u003ccode\u003e9c72a41\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.33.0 to 4.34.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/ebf71906798ec82f34e07d3168f8b8aecaf8a3be\"\u003e\u003ccode\u003eebf7190\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.32.0 to 4.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/0e4ae38f0c93d4f92a96c774bd52c069d12a4798\"\u003e\u003ccode\u003e0e4ae38\u003c/code\u003e\u003c/a\u003e docs: exclude Response.is_permanent_redirect from API docs (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7244\"\u003e#7244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d568f47278492e630cc990a259047c67991d007a\"\u003e\u003ccode\u003ed568f47\u003c/code\u003e\u003c/a\u003e docs: clarify Quickstart POST example (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6960\"\u003e#6960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.4...v2.33.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.4 to 2.33.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.33.0\u003c/h2\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that uses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report any gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts contents to a non-deterministic location to prevent malicious file replacement. This does not affect default usage of Requests, only applications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause malformed authentication to be applied to Requests on Python 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\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/M0d3v1\"\u003e\u003ccode\u003e@​M0d3v1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6865\"\u003epsf/requests#6865\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminvakil\"\u003e\u003ccode\u003e@​aminvakil\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7220\"\u003epsf/requests#7220\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/E8Price\"\u003e\u003ccode\u003e@​E8Price\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6960\"\u003epsf/requests#6960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mitre88\"\u003e\u003ccode\u003e@​mitre88\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7244\"\u003epsf/requests#7244\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/magsen\"\u003e\u003ccode\u003e@​magsen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6553\"\u003epsf/requests#6553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rohan5commit\"\u003e\u003ccode\u003e@​Rohan5commit\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7227\"\u003epsf/requests#7227\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\"\u003ehttps://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that\nuses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report\nany gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts\ncontents to a non-deterministic location to prevent malicious file\nreplacement. This does not affect default usage of Requests, only\napplications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause\nmalformed authentication to be applied to Requests on\nPython 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/bc04dfd6dad4cb02cd92f5daa81eb562d280a761\"\u003e\u003ccode\u003ebc04dfd\u003c/code\u003e\u003c/a\u003e v2.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/66d21cb07bd6255b1280291c4fafb71803cdb3b7\"\u003e\u003ccode\u003e66d21cb\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/8b9bc8fc0f63be84602387913c4b689f19efd028\"\u003e\u003ccode\u003e8b9bc8f\u003c/code\u003e\u003c/a\u003e Move badges to top of README (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7293\"\u003e#7293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/e331a288f369973f5de0ec8901c94cae4fa87286\"\u003e\u003ccode\u003ee331a28\u003c/code\u003e\u003c/a\u003e Remove unused extraction call (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7292\"\u003e#7292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/753fd08c5eacce0aa0df73fe47e49525c67e0a29\"\u003e\u003ccode\u003e753fd08\u003c/code\u003e\u003c/a\u003e docs: fix FAQ grammar in httplib2 example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/774a0b837a194ee885d4fdd9ca947900cc3daf71\"\u003e\u003ccode\u003e774a0b8\u003c/code\u003e\u003c/a\u003e docs(socks): same block as other sections\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/9c72a41bec8597f948c9d8caa5dc3f12273b3303\"\u003e\u003ccode\u003e9c72a41\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.33.0 to 4.34.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/ebf71906798ec82f34e07d3168f8b8aecaf8a3be\"\u003e\u003ccode\u003eebf7190\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.32.0 to 4.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/0e4ae38f0c93d4f92a96c774bd52c069d12a4798\"\u003e\u003ccode\u003e0e4ae38\u003c/code\u003e\u003c/a\u003e docs: exclude Response.is_permanent_redirect from API docs (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7244\"\u003e#7244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d568f47278492e630cc990a259047c67991d007a\"\u003e\u003ccode\u003ed568f47\u003c/code\u003e\u003c/a\u003e docs: clarify Quickstart POST example (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6960\"\u003e#6960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.4...v2.33.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.4 to 2.33.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.33.0\u003c/h2\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that uses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report any gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts contents to a non-deterministic location to prevent malicious file replacement. This does not affect default usage of Requests, only applications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause malformed authentication to be applied to Requests on Python 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\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/M0d3v1\"\u003e\u003ccode\u003e@​M0d3v1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6865\"\u003epsf/requests#6865\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminvakil\"\u003e\u003ccode\u003e@​aminvakil\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7220\"\u003epsf/requests#7220\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/E8Price\"\u003e\u003ccode\u003e@​E8Price\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6960\"\u003epsf/requests#6960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mitre88\"\u003e\u003ccode\u003e@​mitre88\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7244\"\u003epsf/requests#7244\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/magsen\"\u003e\u003ccode\u003e@​magsen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6553\"\u003epsf/requests#6553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rohan5commit\"\u003e\u003ccode\u003e@​Rohan5commit\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7227\"\u003epsf/requests#7227\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\"\u003ehttps://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that\nuses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report\nany gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts\ncontents to a non-deterministic location to prevent malicious file\nreplacement. This does not affect default usage of Requests, only\napplications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause\nmalformed authentication to be applied to Requests on\nPython 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/bc04dfd6dad4cb02cd92f5daa81eb562d280a761\"\u003e\u003ccode\u003ebc04dfd\u003c/code\u003e\u003c/a\u003e v2.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/66d21cb07bd6255b1280291c4fafb71803cdb3b7\"\u003e\u003ccode\u003e66d21cb\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/8b9bc8fc0f63be84602387913c4b689f19efd028\"\u003e\u003ccode\u003e8b9bc8f\u003c/code\u003e\u003c/a\u003e Move badges to top of README (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7293\"\u003e#7293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/e331a288f369973f5de0ec8901c94cae4fa87286\"\u003e\u003ccode\u003ee331a28\u003c/code\u003e\u003c/a\u003e Remove unused extraction call (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7292\"\u003e#7292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/753fd08c5eacce0aa0df73fe47e49525c67e0a29\"\u003e\u003ccode\u003e753fd08\u003c/code\u003e\u003c/a\u003e docs: fix FAQ grammar in httplib2 example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/774a0b837a194ee885d4fdd9ca947900cc3daf71\"\u003e\u003ccode\u003e774a0b8\u003c/code\u003e\u003c/a\u003e docs(socks): same block as other sections\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/9c72a41bec8597f948c9d8caa5dc3f12273b3303\"\u003e\u003ccode\u003e9c72a41\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.33.0 to 4.34.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/ebf71906798ec82f34e07d3168f8b8aecaf8a3be\"\u003e\u003ccode\u003eebf7190\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.32.0 to 4.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/0e4ae38f0c93d4f92a96c774bd52c069d12a4798\"\u003e\u003ccode\u003e0e4ae38\u003c/code\u003e\u003c/a\u003e docs: exclude Response.is_permanent_redirect from API docs (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7244\"\u003e#7244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d568f47278492e630cc990a259047c67991d007a\"\u003e\u003ccode\u003ed568f47\u003c/code\u003e\u003c/a\u003e docs: clarify Quickstart POST example (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6960\"\u003e#6960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.4...v2.33.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.4 to 2.33.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.33.0\u003c/h2\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that uses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report any gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts contents to a non-deterministic location to prevent malicious file replacement. This does not affect default usage of Requests, only applications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause malformed authentication to be applied to Requests on Python 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\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/M0d3v1\"\u003e\u003ccode\u003e@​M0d3v1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6865\"\u003epsf/requests#6865\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminvakil\"\u003e\u003ccode\u003e@​aminvakil\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7220\"\u003epsf/requests#7220\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/E8Price\"\u003e\u003ccode\u003e@​E8Price\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6960\"\u003epsf/requests#6960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mitre88\"\u003e\u003ccode\u003e@​mitre88\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7244\"\u003epsf/requests#7244\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/magsen\"\u003e\u003ccode\u003e@​magsen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6553\"\u003epsf/requests#6553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rohan5commit\"\u003e\u003ccode\u003e@​Rohan5commit\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7227\"\u003epsf/requests#7227\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\"\u003ehttps://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that\nuses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report\nany gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts\ncontents to a non-deterministic location to prevent malicious file\nreplacement. This does not affect default usage of Requests, only\napplications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause\nmalformed authentication to be applied to Requests on\nPython 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/bc04dfd6dad4cb02cd92f5daa81eb562d280a761\"\u003e\u003ccode\u003ebc04dfd\u003c/code\u003e\u003c/a\u003e v2.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/66d21cb07bd6255b1280291c4fafb71803cdb3b7\"\u003e\u003ccode\u003e66d21cb\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/8b9bc8fc0f63be84602387913c4b689f19efd028\"\u003e\u003ccode\u003e8b9bc8f\u003c/code\u003e\u003c/a\u003e Move badges to top of README (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7293\"\u003e#7293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/e331a288f369973f5de0ec8901c94cae4fa87286\"\u003e\u003ccode\u003ee331a28\u003c/code\u003e\u003c/a\u003e Remove unused extraction call (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7292\"\u003e#7292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/753fd08c5eacce0aa0df73fe47e49525c67e0a29\"\u003e\u003ccode\u003e753fd08\u003c/code\u003e\u003c/a\u003e docs: fix FAQ grammar in httplib2 example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/774a0b837a194ee885d4fdd9ca947900cc3daf71\"\u003e\u003ccode\u003e774a0b8\u003c/code\u003e\u003c/a\u003e docs(socks): same block as other sections\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/9c72a41bec8597f948c9d8caa5dc3f12273b3303\"\u003e\u003ccode\u003e9c72a41\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.33.0 to 4.34.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/ebf71906798ec82f34e07d3168f8b8aecaf8a3be\"\u003e\u003ccode\u003eebf7190\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.32.0 to 4.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/0e4ae38f0c93d4f92a96c774bd52c069d12a4798\"\u003e\u003ccode\u003e0e4ae38\u003c/code\u003e\u003c/a\u003e docs: exclude Response.is_permanent_redirect from API docs (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7244\"\u003e#7244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d568f47278492e630cc990a259047c67991d007a\"\u003e\u003ccode\u003ed568f47\u003c/code\u003e\u003c/a\u003e docs: clarify Quickstart POST example (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6960\"\u003e#6960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.4...v2.33.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `flask` from 2.2.5 to 3.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/releases\"\u003eflask's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.3\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.3 security fix release, which fixes a security issue but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.3/\"\u003ehttps://pypi.org/project/Flask/3.1.3/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-3\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-3\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys but not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. \u003ca href=\"https://github.com/pallets/flask/security/advisories/GHSA-68rp-wp8r-4726\"\u003eGHSA-68rp-wp8r-4726\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.2\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.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/Flask/3.1.2/\"\u003ehttps://pypi.org/project/Flask/3.1.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-2\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-2\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/38?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/38?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5774\"\u003e#5774\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state of \u003ccode\u003esession\u003c/code\u003e is correct. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5786\"\u003e#5786\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5776\"\u003e#5776\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.1\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.1 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.1/\"\u003ehttps://pypi.org/project/Flask/3.1.1/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/flask/milestone/36?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/36?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. GHSA-4grg-w6v8-c28g\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5645\"\u003e#5645\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loads the app and plugins first to make sure all commands are shown. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5673\"\u003e#5673\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMark sans-io base class as being able to handle views that return \u003ccode\u003eAsyncIterable\u003c/code\u003e. This is not accurate for Flask, but makes typing easier for Quart. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5659\"\u003e#5659\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.0\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecations, or introduce potentially breaking changes. We encourage everyone to upgrade, and to use a tool such as \u003ca href=\"https://pypi.org/project/pip-tools/\"\u003epip-tools\u003c/a\u003e to pin all dependencies and control upgrades. Test with warnings treated as errors to be able to adapt to deprecation warnings early.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.0/\"\u003ehttps://pypi.org/project/Flask/3.1.0/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-0\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-0\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/33?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/33?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5623\"\u003e#5623\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate minimum dependency versions to latest feature releases. Werkzeug \u0026gt;= 3.1, ItsDangerous \u0026gt;= 2.2, Blinker \u0026gt;= 1.9. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5624\"\u003e#5624\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5633\"\u003e#5633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProvide a configuration option to control automatic option responses. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5496\"\u003e#5496\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFlask.open_resource\u003c/code\u003e/\u003ccode\u003eopen_instance_resource\u003c/code\u003e and \u003ccode\u003eBlueprint.open_resource\u003c/code\u003e take an \u003ccode\u003eencoding\u003c/code\u003e parameter to use when opening in text mode. It defaults to \u003ccode\u003eutf-8\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5504\"\u003e#5504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.max_content_length\u003c/code\u003e can be customized per-request instead of only through the \u003ccode\u003eMAX_CONTENT_LENGTH\u003c/code\u003e config. Added \u003ccode\u003eMAX_FORM_MEMORY_SIZE\u003c/code\u003e and \u003ccode\u003eMAX_FORM_PARTS\u003c/code\u003e config. Added documentation about resource limits to the security page. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5625\"\u003e#5625\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for the \u003ccode\u003ePartitioned\u003c/code\u003e cookie attribute (CHIPS), with the \u003ccode\u003eSESSION_COOKIE_PARTITIONED\u003c/code\u003e config. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5472\"\u003e#5472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e-e path\u003c/code\u003e takes precedence over default \u003ccode\u003e.env\u003c/code\u003e and \u003ccode\u003e.flaskenv\u003c/code\u003e files. \u003ccode\u003eload_dotenv\u003c/code\u003e loads default files in addition to a path unless \u003ccode\u003eload_defaults=False\u003c/code\u003e is passed. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5628\"\u003e#5628\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport key rotation with the \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e config, a list of old secret keys that can still be used for unsigning. Extensions will need to add support. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5621\"\u003e#5621\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix how setting \u003ccode\u003ehost_matching=True\u003c/code\u003e or \u003ccode\u003esubdomain_matching=False\u003c/code\u003e interacts with \u003ccode\u003eSERVER_NAME\u003c/code\u003e. Setting \u003ccode\u003eSERVER_NAME\u003c/code\u003e no longer restricts requests to only that domain. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5553\"\u003e#5553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.trusted_hosts\u003c/code\u003e is checked during routing, and can be set through the \u003ccode\u003eTRUSTED_HOSTS\u003c/code\u003e config. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5636\"\u003e#5636\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.0.3\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/blob/main/CHANGES.rst\"\u003eflask's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.1.3\u003c/h2\u003e\n\u003cp\u003eReleased 2026-02-18\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys\nbut not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. :ghsa:\u003ccode\u003e68rp-wp8r-4726\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.2\u003c/h2\u003e\n\u003cp\u003eReleased 2025-08-19\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. :issue:\u003ccode\u003e5774\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state\nof \u003ccode\u003esession\u003c/code\u003e is correct. :issue:\u003ccode\u003e5786\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. :issue:\u003ccode\u003e5776\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-05-13\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via\n\u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. :ghsa:\u003ccode\u003e4grg-w6v8-c28g\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. :issue:\u003ccode\u003e5645\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loads the app and plugins first to make sure all commands\nare shown. :issue:\u003ccode\u003e5673\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eMark sans-io base class as being able to handle views that return\n\u003ccode\u003eAsyncIterable\u003c/code\u003e. This is not accurate for Flask, but makes typing easier\nfor Quart. :pr:\u003ccode\u003e5659\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.0\u003c/h2\u003e\n\u003cp\u003eReleased 2024-11-13\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. :pr:\u003ccode\u003e5623\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUpdate minimum dependency versions to latest feature releases.\nWerkzeug \u0026gt;= 3.1, ItsDangerous \u0026gt;= 2.2, Blinker \u0026gt;= 1.9. :pr:\u003ccode\u003e5624,5633\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eProvide a configuration option to control automatic option\nresponses. :pr:\u003ccode\u003e5496\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFlask.open_resource\u003c/code\u003e/\u003ccode\u003eopen_instance_resource\u003c/code\u003e and\n\u003ccode\u003eBlueprint.open_resource\u003c/code\u003e take an \u003ccode\u003eencoding\u003c/code\u003e parameter to use when\nopening in text mode. It defaults to \u003ccode\u003eutf-8\u003c/code\u003e. :issue:\u003ccode\u003e5504\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.max_content_length\u003c/code\u003e can be customized per-request instead of only\nthrough the \u003ccode\u003eMAX_CONTENT_LENGTH\u003c/code\u003e config. Added\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/22d924701a6ae2e4cd01e9a15bbaf3946094af65\"\u003e\u003ccode\u003e22d9247\u003c/code\u003e\u003c/a\u003e release version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/089cb86dd22bff589a4eafb7ab8e42dc357623b4\"\u003e\u003ccode\u003e089cb86\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/c17f379390731543eea33a570a47bd4ef76a54fa\"\u003e\u003ccode\u003ec17f379\u003c/code\u003e\u003c/a\u003e request context tracks session access\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/27be9338405382445a7cb01151e084559b98d602\"\u003e\u003ccode\u003e27be933\u003c/code\u003e\u003c/a\u003e start version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4e652d3f68b90d50aa2301d3b7e68c3fafd9251d\"\u003e\u003ccode\u003e4e652d3\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5903\"\u003e#5903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/3d03098a97ddc6a908aa4a50c2ef7381f8297d0a\"\u003e\u003ccode\u003e3d03098\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/407eb76b27884848383a37c7274654f0271e4bc4\"\u003e\u003ccode\u003e407eb76\u003c/code\u003e\u003c/a\u003e document using gevent for async (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5900\"\u003e#5900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/ac5664d2281533eacafd64f5cc7d5edcdaccab60\"\u003e\u003ccode\u003eac5664d\u003c/code\u003e\u003c/a\u003e document using gevent for async\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4f79d5b59a56bc4356a97f2e81a35f98cb18d7b3\"\u003e\u003ccode\u003e4f79d5b\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11 (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5865\"\u003e#5865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/fe3b215d3ade4db68262dae1a3cdc464a1fc524f\"\u003e\u003ccode\u003efe3b215\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/flask/compare/2.2.5...3.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyopenssl` from 25.0.0 to 26.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyca/pyopenssl/blob/main/CHANGELOG.rst\"\u003epyopenssl's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.0.0 (2026-03-15)\u003c/h2\u003e\n\u003cp\u003eBackward-incompatible changes:\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.7.\u003c/li\u003e\n\u003cli\u003eThe minimum \u003ccode\u003ecryptography\u003c/code\u003e version is now 46.0.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations:\n^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003eChanges:\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for using aws-lc instead of OpenSSL.\u003c/li\u003e\n\u003cli\u003eProperly raise an error if a DTLS cookie callback returned a cookie longer than \u003cco...\n\n_Description has been truncated_","html_url":"https://github.com/ASISBusiness/python-docs-samples/pull/8","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ASISBusiness%2Fpython-docs-samples/issues/8","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/8/packages"},{"uuid":"4144077079","node_id":"PR_kwDOOK9uiM7Nuhf9","number":147,"state":"open","title":"chore(deps): bump the pip group across 27 directories with 16 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-26T13:42:02.000Z","updated_at":"2026-04-08T04:51:47.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"pip","update_count":16,"packages":[{"name":"flask","old_version":"2.2.5","new_version":"3.1.3","repository_url":"https://github.com/pallets/flask"},{"name":"requests","old_version":"2.31.0","new_version":"2.33.0","repository_url":"https://github.com/psf/requests"},{"name":"werkzeug","old_version":"2.2.3","new_version":"3.1.6","repository_url":"https://github.com/pallets/werkzeug"},{"name":"pyopenssl","old_version":"23.2.0","new_version":"26.0.0","repository_url":"https://github.com/pyca/pyopenssl"},{"name":"apache-airflow","old_version":"2.6.3","new_version":"3.2.0b1","repository_url":"https://github.com/apache/airflow"},{"name":"authlib","old_version":"1.2.1","new_version":"1.6.9","repository_url":"https://github.com/authlib/authlib"},{"name":"black","old_version":"23.1a1","new_version":"26.3.1","repository_url":"https://github.com/psf/black"},{"name":"cryptography","old_version":"40.0.2","new_version":"46.0.5","repository_url":"https://github.com/pyca/cryptography"},{"name":"google-cloud-aiplatform","old_version":"1.27.1","new_version":"1.133.0","repository_url":"https://github.com/googleapis/python-aiplatform"},{"name":"orjson","old_version":"3.9.1","new_version":"3.11.6","repository_url":"https://github.com/ijl/orjson"},{"name":"protobuf","old_version":"4.23.4","new_version":"5.29.6","repository_url":"https://github.com/protocolbuffers/protobuf"},{"name":"pyasn1","old_version":"0.4.8","new_version":"0.6.3","repository_url":"https://github.com/pyasn1/pyasn1"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pip group with 1 update in the /alloydb/notebooks directory: [nbconvert](https://github.com/jupyter/nbconvert).\nBumps the pip group with 3 updates in the /appengine/standard/firebase/firenotes/backend directory: [flask](https://github.com/pallets/flask), [requests](https://github.com/psf/requests) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 4 updates in the /cloud-media-livestream/keypublisher directory: [flask](https://github.com/pallets/flask), [requests](https://github.com/psf/requests), [werkzeug](https://github.com/pallets/werkzeug) and [pyopenssl](https://github.com/pyca/pyopenssl).\nBumps the pip group with 3 updates in the /cloud-sql/sql-server/sqlalchemy directory: [flask](https://github.com/pallets/flask), [werkzeug](https://github.com/pallets/werkzeug) and [pyopenssl](https://github.com/pyca/pyopenssl).\nBumps the pip group with 2 updates in the /cloud_scheduler/snippets directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 12 updates in the /composer/2022_airflow_summit directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [flask](https://github.com/pallets/flask) | `2.2.5` | `3.1.3` |\n| [requests](https://github.com/psf/requests) | `2.31.0` | `2.33.0` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `2.2.3` | `3.1.6` |\n| [pyopenssl](https://github.com/pyca/pyopenssl) | `23.2.0` | `26.0.0` |\n| [apache-airflow](https://github.com/apache/airflow) | `2.6.3` | `3.2.0b1` |\n| [authlib](https://github.com/authlib/authlib) | `1.2.1` | `1.6.9` |\n| [black](https://github.com/psf/black) | `23.1a1` | `26.3.1` |\n| [cryptography](https://github.com/pyca/cryptography) | `40.0.2` | `46.0.5` |\n| [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) | `1.27.1` | `1.133.0` |\n| [orjson](https://github.com/ijl/orjson) | `3.9.1` | `3.11.6` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `4.23.4` | `5.29.6` |\n| [pyasn1](https://github.com/pyasn1/pyasn1) | `0.4.8` | `0.6.3` |\n\nBumps the pip group with 6 updates in the /composer/airflow_1_samples directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [flask](https://github.com/pallets/flask) | `1.1.2` | `3.1.3` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `0.16.1` | `3.1.6` |\n| [pyopenssl](https://github.com/pyca/pyopenssl) | `20.0.0` | `26.0.0` |\n| [cryptography](https://github.com/pyca/cryptography) | `3.2.1` | `46.0.5` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `3.14.0` | `5.29.6` |\n| [pyasn1](https://github.com/pyasn1/pyasn1) | `0.4.8` | `0.6.3` |\n\nBumps the pip group with 12 updates in the /composer/cicd_sample directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [flask](https://github.com/pallets/flask) | `2.2.5` | `3.1.3` |\n| [requests](https://github.com/psf/requests) | `2.31.0` | `2.33.0` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `2.2.3` | `3.1.6` |\n| [pyopenssl](https://github.com/pyca/pyopenssl) | `23.2.0` | `26.0.0` |\n| [apache-airflow](https://github.com/apache/airflow) | `2.6.3` | `3.2.0b1` |\n| [authlib](https://github.com/authlib/authlib) | `1.2.1` | `1.6.9` |\n| [black](https://github.com/psf/black) | `23.1a1` | `26.3.1` |\n| [cryptography](https://github.com/pyca/cryptography) | `40.0.2` | `46.0.5` |\n| [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) | `1.27.1` | `1.133.0` |\n| [orjson](https://github.com/ijl/orjson) | `3.9.1` | `3.11.6` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `4.23.4` | `5.29.6` |\n| [pyasn1](https://github.com/pyasn1/pyasn1) | `0.4.8` | `0.6.3` |\n\nBumps the pip group with 12 updates in the /composer/workflows directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [flask](https://github.com/pallets/flask) | `2.2.5` | `3.1.3` |\n| [requests](https://github.com/psf/requests) | `2.31.0` | `2.33.0` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `2.2.3` | `3.1.6` |\n| [pyopenssl](https://github.com/pyca/pyopenssl) | `24.1.0` | `26.0.0` |\n| [apache-airflow](https://github.com/apache/airflow) | `2.9.2` | `3.2.0b1` |\n| [authlib](https://github.com/authlib/authlib) | `1.3.1` | `1.6.9` |\n| [black](https://github.com/psf/black) | `24.4.2` | `26.3.1` |\n| [cryptography](https://github.com/pyca/cryptography) | `41.0.7` | `46.0.5` |\n| [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) | `1.53.0` | `1.133.0` |\n| [orjson](https://github.com/ijl/orjson) | `3.10.3` | `3.11.6` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `4.25.3` | `5.29.6` |\n| [pyasn1](https://github.com/pyasn1/pyasn1) | `0.5.1` | `0.6.3` |\n\nBumps the pip group with 1 update in the /compute/client_library directory: [black](https://github.com/psf/black).\nBumps the pip group with 2 updates in the /compute/encryption directory: [requests](https://github.com/psf/requests) and [cryptography](https://github.com/pyca/cryptography).\nBumps the pip group with 5 updates in the /dataflow/flex-templates/pipeline_with_dependencies directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [requests](https://github.com/psf/requests) | `2.31.0` | `2.33.0` |\n| [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) | `1.42.1` | `1.133.0` |\n| [orjson](https://github.com/ijl/orjson) | `3.9.15` | `3.11.6` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `4.25.8` | `5.29.6` |\n| [pyasn1](https://github.com/pyasn1/pyasn1) | `0.5.1` | `0.6.3` |\n\nBumps the pip group with 3 updates in the /dataflow/gemma directory: [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform), [protobuf](https://github.com/protocolbuffers/protobuf) and [keras](https://github.com/keras-team/keras).\nBumps the pip group with 1 update in the /dataflow/gemma-flex-template directory: [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform).\nBumps the pip group with 3 updates in the /dataflow/run-inference directory: [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform), [torch](https://github.com/pytorch/pytorch) and [transformers](https://github.com/huggingface/transformers).\nBumps the pip group with 1 update in the /dataflow/run_template directory: [flask](https://github.com/pallets/flask).\nBumps the pip group with 2 updates in the /datastore/cloud-ndb directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 2 updates in the /dialogflow directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 2 updates in the /dialogflow-cx directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 3 updates in the /endpoints/getting-started directory: [flask](https://github.com/pallets/flask), [requests](https://github.com/psf/requests) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 2 updates in the /functions/concepts-requests directory: [flask](https://github.com/pallets/flask) and [requests](https://github.com/psf/requests).\nBumps the pip group with 2 updates in the /functions/tips-connection-pooling directory: [flask](https://github.com/pallets/flask) and [requests](https://github.com/psf/requests).\nBumps the pip group with 2 updates in the /gemma2 directory: [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) and [protobuf](https://github.com/protocolbuffers/protobuf).\nBumps the pip group with 3 updates in the /iap directory: [requests](https://github.com/psf/requests), [werkzeug](https://github.com/pallets/werkzeug) and [cryptography](https://github.com/pyca/cryptography).\nBumps the pip group with 2 updates in the /kms/attestations directory: [requests](https://github.com/psf/requests) and [cryptography](https://github.com/pyca/cryptography).\nBumps the pip group with 1 update in the /media_cdn directory: [cryptography](https://github.com/pyca/cryptography).\nBumps the pip group with 2 updates in the /run/service-auth directory: [flask](https://github.com/pallets/flask) and [requests](https://github.com/psf/requests).\n\nUpdates `nbconvert` from 7.16.6 to 7.17.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jupyter/nbconvert/releases\"\u003enbconvert's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.17.0\u003c/h2\u003e\n\u003ch2\u003e7.17.0\u003c/h2\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbconvert/compare/v7.16.6...c9ac1d1040459ed1ff9eb34e9918ce5a87cf9d71\"\u003eFull Changelog\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eEnhancements made\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for arbitrary browser arguments \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2227\"\u003e#2227\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugs fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix QtPNGExporter returning empty bytes on macOS \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2264\"\u003e#2264\u003c/a\u003e (\u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/QuLogic\"\u003e\u003ccode\u003e@​QuLogic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix CVE-2025-53000: Secure Inkscape Windows path (registry first + block CWD) \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2261\"\u003e#2261\u003c/a\u003e (\u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/mberlanda\"\u003e\u003ccode\u003e@​mberlanda\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/salmankadaya\"\u003e\u003ccode\u003e@​salmankadaya\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/th3gowtham\"\u003e\u003ccode\u003e@​th3gowtham\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix get_export_names and get_exporter default args \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2228\"\u003e#2228\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePyPA-Compliant Summary \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2226\"\u003e#2226\u003c/a\u003e (\u003ca href=\"https://github.com/hackowitz-af\"\u003e\u003ccode\u003e@​hackowitz-af\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMaintenance and upkeep improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eavoid cov environment on free-threaded Pythons \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2267\"\u003e#2267\u003c/a\u003e (\u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate pre-commit, and fix all issues. \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2238\"\u003e#2238\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop test on 3.9, test on 3.13, 3.14, 3.14t \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2237\"\u003e#2237\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the actions group across 1 directory with 2 updates \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2231\"\u003e#2231\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003e@flaky.flaky\u003c/code\u003e decorate with pytest marker \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2229\"\u003e#2229\u003c/a\u003e (\u003ca href=\"https://github.com/mgorny\"\u003e\u003ccode\u003e@​mgorny\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate to mermaid 11.10.0 \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2224\"\u003e#2224\u003c/a\u003e (\u003ca href=\"https://github.com/bollwyvl\"\u003e\u003ccode\u003e@​bollwyvl\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.8, fix the CI tests \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2221\"\u003e#2221\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse \u003ccode\u003eintersphinx_registry\u003c/code\u003e \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2232\"\u003e#2232\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors to this release\u003c/h3\u003e\n\u003cp\u003eThe following people contributed discussions, new ideas, code and documentation contributions, and review.\nSee \u003ca href=\"https://github-activity.readthedocs.io/en/latest/use/#how-does-this-tool-define-contributions-in-the-reports\"\u003eour definition of contributors\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbconvert/graphs/contributors?from=2025-01-28\u0026amp;to=2026-01-29\u0026amp;type=c\"\u003eGitHub contributors page for this release\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/bollwyvl\"\u003e\u003ccode\u003e@​bollwyvl\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Abollwyvl+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3ACarreau+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ah3pdesign+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/hackowitz-af\"\u003e\u003ccode\u003e@​hackowitz-af\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ahackowitz-af+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Akrassowski+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/mberlanda\"\u003e\u003ccode\u003e@​mberlanda\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Amberlanda+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/mgorny\"\u003e\u003ccode\u003e@​mgorny\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Amgorny+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Aminrk+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/MSeal\"\u003e\u003ccode\u003e@​MSeal\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3AMSeal+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/QuLogic\"\u003e\u003ccode\u003e@​QuLogic\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3AQuLogic+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/salmankadaya\"\u003e\u003ccode\u003e@​salmankadaya\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Asalmankadaya+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ashreve+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/th3gowtham\"\u003e\u003ccode\u003e@​th3gowtham\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ath3gowtham+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e)\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jupyter/nbconvert/blob/main/CHANGELOG.md\"\u003enbconvert's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.17.0\u003c/h2\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbconvert/compare/v7.16.6...c9ac1d1040459ed1ff9eb34e9918ce5a87cf9d71\"\u003eFull Changelog\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eEnhancements made\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for arbitrary browser arguments \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2227\"\u003e#2227\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugs fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix QtPNGExporter returning empty bytes on macOS \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2264\"\u003e#2264\u003c/a\u003e (\u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/QuLogic\"\u003e\u003ccode\u003e@​QuLogic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix CVE-2025-53000: Secure Inkscape Windows path (registry first + block CWD) \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2261\"\u003e#2261\u003c/a\u003e (\u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/mberlanda\"\u003e\u003ccode\u003e@​mberlanda\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/salmankadaya\"\u003e\u003ccode\u003e@​salmankadaya\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/th3gowtham\"\u003e\u003ccode\u003e@​th3gowtham\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix get_export_names and get_exporter default args \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2228\"\u003e#2228\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePyPA-Compliant Summary \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2226\"\u003e#2226\u003c/a\u003e (\u003ca href=\"https://github.com/hackowitz-af\"\u003e\u003ccode\u003e@​hackowitz-af\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMaintenance and upkeep improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eavoid cov environment on free-threaded Pythons \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2267\"\u003e#2267\u003c/a\u003e (\u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate pre-commit, and fix all issues. \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2238\"\u003e#2238\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop test on 3.9, test on 3.13, 3.14, 3.14t \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2237\"\u003e#2237\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the actions group across 1 directory with 2 updates \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2231\"\u003e#2231\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003e@flaky.flaky\u003c/code\u003e decorate with pytest marker \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2229\"\u003e#2229\u003c/a\u003e (\u003ca href=\"https://github.com/mgorny\"\u003e\u003ccode\u003e@​mgorny\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate to mermaid 11.10.0 \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2224\"\u003e#2224\u003c/a\u003e (\u003ca href=\"https://github.com/bollwyvl\"\u003e\u003ccode\u003e@​bollwyvl\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.8, fix the CI tests \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2221\"\u003e#2221\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse \u003ccode\u003eintersphinx_registry\u003c/code\u003e \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2232\"\u003e#2232\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors to this release\u003c/h3\u003e\n\u003cp\u003eThe following people contributed discussions, new ideas, code and documentation contributions, and review.\nSee \u003ca href=\"https://github-activity.readthedocs.io/en/latest/use/#how-does-this-tool-define-contributions-in-the-reports\"\u003eour definition of contributors\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbconvert/graphs/contributors?from=2025-01-28\u0026amp;to=2026-01-29\u0026amp;type=c\"\u003eGitHub contributors page for this release\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/bollwyvl\"\u003e\u003ccode\u003e@​bollwyvl\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Abollwyvl+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3ACarreau+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ah3pdesign+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/hackowitz-af\"\u003e\u003ccode\u003e@​hackowitz-af\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ahackowitz-af+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Akrassowski+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/mberlanda\"\u003e\u003ccode\u003e@​mberlanda\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Amberlanda+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/mgorny\"\u003e\u003ccode\u003e@​mgorny\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Amgorny+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Aminrk+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/MSeal\"\u003e\u003ccode\u003e@​MSeal\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3AMSeal+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/QuLogic\"\u003e\u003ccode\u003e@​QuLogic\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3AQuLogic+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/salmankadaya\"\u003e\u003ccode\u003e@​salmankadaya\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Asalmankadaya+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ashreve+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/th3gowtham\"\u003e\u003ccode\u003e@​th3gowtham\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ath3gowtham+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e)\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/21b35d85b46f5ff0956d3d088a52b9bef00e8196\"\u003e\u003ccode\u003e21b35d8\u003c/code\u003e\u003c/a\u003e Publish 7.17.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/c9ac1d1040459ed1ff9eb34e9918ce5a87cf9d71\"\u003e\u003ccode\u003ec9ac1d1\u003c/code\u003e\u003c/a\u003e Fix CVE-2025-53000: Secure Inkscape Windows path (registry first + block CWD)...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/b13276d80ae6fadbfda981304810e26f421c4ced\"\u003e\u003ccode\u003eb13276d\u003c/code\u003e\u003c/a\u003e avoid cov environment on free-threaded Pythons (\u003ca href=\"https://redirect.github.com/jupyter/nbconvert/issues/2267\"\u003e#2267\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/7c7055fe833fe9832e6f9a64fa5f67d66692c8d6\"\u003e\u003ccode\u003e7c7055f\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] auto fixes from pre-commit.com hooks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/74f3ddd37ef4b7ffb5eee9acbf52062217c15852\"\u003e\u003ccode\u003e74f3ddd\u003c/code\u003e\u003c/a\u003e Fix QtPNGExporter returning empty bytes on macOS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/216550b2aae4c329f4dab597a96ae7cac30de79a\"\u003e\u003ccode\u003e216550b\u003c/code\u003e\u003c/a\u003e fix links\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/39777ac5716350e994171d025a7369c58b0afc8c\"\u003e\u003ccode\u003e39777ac\u003c/code\u003e\u003c/a\u003e try to comment fialing test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/7b591ca526f2598dbae3256a53765659c3edcf14\"\u003e\u003ccode\u003e7b591ca\u003c/code\u003e\u003c/a\u003e ruff-check\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/6ec7638a3dc7a0bc2c533c116202d7f9b07ce9d9\"\u003e\u003ccode\u003e6ec7638\u003c/code\u003e\u003c/a\u003e parent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/59414b36f94e318d4207e8af863167047d936c19\"\u003e\u003ccode\u003e59414b3\u003c/code\u003e\u003c/a\u003e fix mypy\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jupyter/nbconvert/compare/v7.16.6...v7.17.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `flask` from 3.0.0 to 3.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/releases\"\u003eflask's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.3\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.3 security fix release, which fixes a security issue but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.3/\"\u003ehttps://pypi.org/project/Flask/3.1.3/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-3\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-3\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys but not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. \u003ca href=\"https://github.com/pallets/flask/security/advisories/GHSA-68rp-wp8r-4726\"\u003eGHSA-68rp-wp8r-4726\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.2\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.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/Flask/3.1.2/\"\u003ehttps://pypi.org/project/Flask/3.1.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-2\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-2\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/38?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/38?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5774\"\u003e#5774\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state of \u003ccode\u003esession\u003c/code\u003e is correct. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5786\"\u003e#5786\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5776\"\u003e#5776\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.1\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.1 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.1/\"\u003ehttps://pypi.org/project/Flask/3.1.1/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/flask/milestone/36?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/36?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. GHSA-4grg-w6v8-c28g\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5645\"\u003e#5645\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loads the app and plugins first to make sure all commands are shown. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5673\"\u003e#5673\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMark sans-io base class as being able to handle views that return \u003ccode\u003eAsyncIterable\u003c/code\u003e. This is not accurate for Flask, but makes typing easier for Quart. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5659\"\u003e#5659\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.0\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecations, or introduce potentially breaking changes. We encourage everyone to upgrade, and to use a tool such as \u003ca href=\"https://pypi.org/project/pip-tools/\"\u003epip-tools\u003c/a\u003e to pin all dependencies and control upgrades. Test with warnings treated as errors to be able to adapt to deprecation warnings early.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.0/\"\u003ehttps://pypi.org/project/Flask/3.1.0/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-0\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-0\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/33?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/33?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5623\"\u003e#5623\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate minimum dependency versions to latest feature releases. Werkzeug \u0026gt;= 3.1, ItsDangerous \u0026gt;= 2.2, Blinker \u0026gt;= 1.9. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5624\"\u003e#5624\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5633\"\u003e#5633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProvide a configuration option to control automatic option responses. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5496\"\u003e#5496\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFlask.open_resource\u003c/code\u003e/\u003ccode\u003eopen_instance_resource\u003c/code\u003e and \u003ccode\u003eBlueprint.open_resource\u003c/code\u003e take an \u003ccode\u003eencoding\u003c/code\u003e parameter to use when opening in text mode. It defaults to \u003ccode\u003eutf-8\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5504\"\u003e#5504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.max_content_length\u003c/code\u003e can be customized per-request instead of only through the \u003ccode\u003eMAX_CONTENT_LENGTH\u003c/code\u003e config. Added \u003ccode\u003eMAX_FORM_MEMORY_SIZE\u003c/code\u003e and \u003ccode\u003eMAX_FORM_PARTS\u003c/code\u003e config. Added documentation about resource limits to the security page. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5625\"\u003e#5625\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for the \u003ccode\u003ePartitioned\u003c/code\u003e cookie attribute (CHIPS), with the \u003ccode\u003eSESSION_COOKIE_PARTITIONED\u003c/code\u003e config. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5472\"\u003e#5472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e-e path\u003c/code\u003e takes precedence over default \u003ccode\u003e.env\u003c/code\u003e and \u003ccode\u003e.flaskenv\u003c/code\u003e files. \u003ccode\u003eload_dotenv\u003c/code\u003e loads default files in addition to a path unless \u003ccode\u003eload_defaults=False\u003c/code\u003e is passed. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5628\"\u003e#5628\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport key rotation with the \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e config, a list of old secret keys that can still be used for unsigning. Extensions will need to add support. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5621\"\u003e#5621\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix how setting \u003ccode\u003ehost_matching=True\u003c/code\u003e or \u003ccode\u003esubdomain_matching=False\u003c/code\u003e interacts with \u003ccode\u003eSERVER_NAME\u003c/code\u003e. Setting \u003ccode\u003eSERVER_NAME\u003c/code\u003e no longer restricts requests to only that domain. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5553\"\u003e#5553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.trusted_hosts\u003c/code\u003e is checked during routing, and can be set through the \u003ccode\u003eTRUSTED_HOSTS\u003c/code\u003e config. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5636\"\u003e#5636\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.0.3\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/blob/main/CHANGES.rst\"\u003eflask's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.1.3\u003c/h2\u003e\n\u003cp\u003eReleased 2026-02-18\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys\nbut not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. :ghsa:\u003ccode\u003e68rp-wp8r-4726\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.2\u003c/h2\u003e\n\u003cp\u003eReleased 2025-08-19\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. :issue:\u003ccode\u003e5774\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state\nof \u003ccode\u003esession\u003c/code\u003e is correct. :issue:\u003ccode\u003e5786\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. :issue:\u003ccode\u003e5776\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-05-13\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via\n\u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. :ghsa:\u003ccode\u003e4grg-w6v8-c28g\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. :issue:\u003ccode\u003e5645\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loads the app and plugins first to make sure all commands\nare shown. :issue:\u003ccode\u003e5673\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eMark sans-io base class as being able to handle views that return\n\u003ccode\u003eAsyncIterable\u003c/code\u003e. This is not accurate for Flask, but makes typing easier\nfor Quart. :pr:\u003ccode\u003e5659\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.0\u003c/h2\u003e\n\u003cp\u003eReleased 2024-11-13\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. :pr:\u003ccode\u003e5623\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUpdate minimum dependency versions to latest feature releases.\nWerkzeug \u0026gt;= 3.1, ItsDangerous \u0026gt;= 2.2, Blinker \u0026gt;= 1.9. :pr:\u003ccode\u003e5624,5633\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eProvide a configuration option to control automatic option\nresponses. :pr:\u003ccode\u003e5496\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFlask.open_resource\u003c/code\u003e/\u003ccode\u003eopen_instance_resource\u003c/code\u003e and\n\u003ccode\u003eBlueprint.open_resource\u003c/code\u003e take an \u003ccode\u003eencoding\u003c/code\u003e parameter to use when\nopening in text mode. It defaults to \u003ccode\u003eutf-8\u003c/code\u003e. :issue:\u003ccode\u003e5504\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.max_content_length\u003c/code\u003e can be customized per-request instead of only\nthrough the \u003ccode\u003eMAX_CONTENT_LENGTH\u003c/code\u003e config. Added\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/22d924701a6ae2e4cd01e9a15bbaf3946094af65\"\u003e\u003ccode\u003e22d9247\u003c/code\u003e\u003c/a\u003e release version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/089cb86dd22bff589a4eafb7ab8e42dc357623b4\"\u003e\u003ccode\u003e089cb86\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/c17f379390731543eea33a570a47bd4ef76a54fa\"\u003e\u003ccode\u003ec17f379\u003c/code\u003e\u003c/a\u003e request context tracks session access\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/27be9338405382445a7cb01151e084559b98d602\"\u003e\u003ccode\u003e27be933\u003c/code\u003e\u003c/a\u003e start version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4e652d3f68b90d50aa2301d3b7e68c3fafd9251d\"\u003e\u003ccode\u003e4e652d3\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5903\"\u003e#5903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/3d03098a97ddc6a908aa4a50c2ef7381f8297d0a\"\u003e\u003ccode\u003e3d03098\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/407eb76b27884848383a37c7274654f0271e4bc4\"\u003e\u003ccode\u003e407eb76\u003c/code\u003e\u003c/a\u003e document using gevent for async (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5900\"\u003e#5900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/ac5664d2281533eacafd64f5cc7d5edcdaccab60\"\u003e\u003ccode\u003eac5664d\u003c/code\u003e\u003c/a\u003e document using gevent for async\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4f79d5b59a56bc4356a97f2e81a35f98cb18d7b3\"\u003e\u003ccode\u003e4f79d5b\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11 (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5865\"\u003e#5865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/fe3b215d3ade4db68262dae1a3cdc464a1fc524f\"\u003e\u003ccode\u003efe3b215\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/flask/compare/3.0.0...3.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.27.1 to 2.33.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.33.0\u003c/h2\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that uses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report any gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts contents to a non-deterministic location to prevent malicious file replacement. This does not affect default usage of Requests, only applications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause malformed authentication to be applied to Requests on Python 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\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/M0d3v1\"\u003e\u003ccode\u003e@​M0d3v1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6865\"\u003epsf/requests#6865\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminvakil\"\u003e\u003ccode\u003e@​aminvakil\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7220\"\u003epsf/requests#7220\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/E8Price\"\u003e\u003ccode\u003e@​E8Price\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6960\"\u003epsf/requests#6960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mitre88\"\u003e\u003ccode\u003e@​mitre88\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7244\"\u003epsf/requests#7244\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/magsen\"\u003e\u003ccode\u003e@​magsen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6553\"\u003epsf/requests#6553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rohan5commit\"\u003e\u003ccode\u003e@​Rohan5commit\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7227\"\u003epsf/requests#7227\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\"\u003ehttps://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.32.4\u003c/h2\u003e\n\u003ch2\u003e2.32.4 (2025-06-10)\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that\nuses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report\nany gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts\ncontents to a non-deterministic location to prevent malicious file\nreplacement. This does not affect default usage of Requests, only\napplications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause\nmalformed authentication to be applied to Requests on\nPython 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.4 (2025-06-10)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2024-47081 Fixed an issue where a maliciously crafted URL and trusted\nenvironment will retrieve credentials for the wrong hostname/machine from a\nnetrc file.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/bc04dfd6dad4cb02cd92f5daa81eb562d280a761\"\u003e\u003ccode\u003ebc04dfd\u003c/code\u003e\u003c/a\u003e v2.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/66d21cb07bd6255b1280291c4fafb71803cdb3b7\"\u003e\u003ccode\u003e66d21cb\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/8b9bc8fc0f63be84602387913c4b689f19efd028\"\u003e\u003ccode\u003e8b9bc8f\u003c/code\u003e\u003c/a\u003e Move badges to top of README (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7293\"\u003e#7293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/e331a288f369973f5de0ec8901c94cae4fa87286\"\u003e\u003ccode\u003ee331a28\u003c/code\u003e\u003c/a\u003e Remove unused extraction call (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7292\"\u003e#7292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/753fd08c5eacce0aa0df73fe47e49525c67e0a29\"\u003e\u003ccode\u003e753fd08\u003c/code\u003e\u003c/a\u003e docs: fix FAQ grammar in httplib2 example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/774a0b837a194ee885d4fdd9ca947900cc3daf71\"\u003e\u003ccode\u003e774a0b8\u003c/code\u003e\u003c/a\u003e docs(socks): same block as other sections\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/9c72a41bec8597f948c9d8caa5dc3f12273b3303\"\u003e\u003ccode\u003e9c72a41\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.33.0 to 4.34.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/ebf71906798ec82f34e07d3168f8b8aecaf8a3be\"\u003e\u003ccode\u003eebf7190\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.32.0 to 4.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/0e4ae38f0c93d4f92a96c774bd52c069d12a4798\"\u003e\u003ccode\u003e0e4ae38\u003c/code\u003e\u003c/a\u003e docs: exclude Response.is_permanent_redirect from API docs (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7244\"\u003e#7244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d568f47278492e630cc990a259047c67991d007a\"\u003e\u003ccode\u003ed568f47\u003c/code\u003e\u003c/a\u003e docs: clarify Quickstart POST example (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6960\"\u003e#6960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.27.1...v2.33.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `werkzeug` from 3.0.3 to 3.1.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/werkzeug/releases\"\u003ewerkzeug's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.6\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.6 security fix release, which fixes a security issue but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Werkzeug/3.1.6/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.6/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/page/changes/#version-3-1-6\"\u003ehttps://werkzeug.palletsprojects.com/page/changes/#version-3-1-6\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow special devices names in multi-segment paths. \u003ca href=\"https://github.com/pallets/werkzeug/security/advisories/GHSA-29vq-49wr-vm6x\"\u003eGHSA-29vq-49wr-vm6x\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.5\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.5 security fix release, which fixes security issues and 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/Werkzeug/3.1.5/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.5/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/page/changes/#version-3-1-5\"\u003ehttps://werkzeug.palletsprojects.com/page/changes/#version-3-1-5\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/werkzeug/milestone/43?closed=1\"\u003ehttps://github.com/pallets/werkzeug/milestone/43?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow more special device names, regardless of extension or surrounding spaces. \u003ca href=\"https://github.com/pallets/werkzeug/security/advisories/GHSA-87hc-h4r5-73f7\"\u003eGHSA-87hc-h4r5-73f7\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe multipart form parser handles a \u003ccode\u003e\\r\\n\u003c/code\u003e sequence at a chunk boundary. This fixes the previous attempt, which caused incorrect content lengths. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3065\"\u003e#3065\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3077\"\u003e#3077\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eAttributeError\u003c/code\u003e when initializing \u003ccode\u003eDebuggedApplication\u003c/code\u003e with \u003ccode\u003epin_security=False\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3075\"\u003e#3075\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.4\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.4 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/Werkzeug/3.1.4/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.4/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/page/changes/#version-3-1-4\"\u003ehttps://werkzeug.palletsprojects.com/page/changes/#version-3-1-4\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/werkzeug/milestone/42?closed=1\"\u003ehttps://github.com/pallets/werkzeug/milestone/42?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow special device names. This prevents reading from these when using \u003ccode\u003esend_from_directory\u003c/code\u003e. \u003ccode\u003esecure_filename\u003c/code\u003e already prevented writing to these. \u003ca href=\"https://github.com/pallets/werkzeug/security/advisories/GHSA-hgf8-39gv-g3f2\"\u003eghsa-hgf8-39gv-g3f2\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe debugger pin fails after 10 attempts instead of 11. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3020\"\u003e#3020\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe multipart form parser handles a \u003ccode\u003e\\r\\n\u003c/code\u003e sequence at a chunk boundary. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3065\"\u003e#3065\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove CPU usage during Watchdog reloader. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3054\"\u003e#3054\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.json\u003c/code\u003e annotation is more accurate. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3067\"\u003e#3067\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTraceback rendering handles when the line number is beyond the available source lines. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3044\"\u003e#3044\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eHTTPException.get_response\u003c/code\u003e annotation and doc better conveys the distinction between WSGI and sans-IO responses. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3056\"\u003e#3056\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.3\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.3 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes vs 3.1.0.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Werkzeug/3.1.3/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.3/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/en/stable/changes/#version-3-1-3\"\u003ehttps://werkzeug.palletsprojects.com/en/stable/changes/#version-3-1-3\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/werkzeug/milestone/41?closed=1\"\u003ehttps://github.com/pallets/werkzeug/milestone/41?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eInitial data passed to \u003ccode\u003eMultiDict\u003c/code\u003e and similar interfaces only accepts \u003ccode\u003elist\u003c/code\u003e, \u003ccode\u003etuple\u003c/code\u003e, or \u003ccode\u003eset\u003c/code\u003e when passing multiple values. It had been changed to accept any \u003ccode\u003eCollection\u003c/code\u003e, but this matched types that should be treated as single values, such as \u003ccode\u003ebytes\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/2994\"\u003e#2994\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen the \u003ccode\u003eHost\u003c/code\u003e header is not set and \u003ccode\u003eRequest.host\u003c/code\u003e falls back to the WSGI \u003ccode\u003eSERVER_NAME\u003c/code\u003e value, if that value is an IPv6 address it is wrapped in \u003ccode\u003e[]\u003c/code\u003e to match the \u003ccode\u003eHost\u003c/code\u003e header. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/2993\"\u003e#2993\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.2\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.2 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes vs 3.1.0.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Werkzeug/3.1.2/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/en/stable/changes/#version-3-1-2\"\u003ehttps://werkzeug.palletsprojects.com/en/stable/changes/#version-3-1-2\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/werkzeug/blob/main/CHANGES.rst\"\u003ewerkzeug's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.1.6\u003c/h2\u003e\n\u003cp\u003eReleased 2026-02-19\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow special devices names in\nmulti-segment paths. :ghsa:\u003ccode\u003e29vq-49wr-vm6x\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eResponse.make_conditional\u003c/code\u003e sets the \u003ccode\u003eAccept-Ranges\u003c/code\u003e header even if it\nis not a satisfiable range request. :issue:\u003ccode\u003e3108\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.5\u003c/h2\u003e\n\u003cp\u003eReleased 2026-01-08\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow more special device names, regardless\nof extension or surrounding spaces. :ghsa:\u003ccode\u003e87hc-h4r5-73f7\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe multipart form parser handles a \u003ccode\u003e\\r\\n\u003c/code\u003e sequence at a chunk boundary.\nThis fixes the previous attempt, which caused incorrect content lengths.\n:issue:\u003ccode\u003e3065\u003c/code\u003e :issue:\u003ccode\u003e3077\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eAttributeError\u003c/code\u003e when initializing \u003ccode\u003eDebuggedApplication\u003c/code\u003e with\n\u003ccode\u003epin_security=False\u003c/code\u003e. :issue:\u003ccode\u003e3075\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.4\u003c/h2\u003e\n\u003cp\u003eReleased 2025-11-28\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow special device names. This prevents\nreading from these when using \u003ccode\u003esend_from_directory\u003c/code\u003e. \u003ccode\u003esecure_filename\u003c/code\u003e\nalready prevented writing to these. :ghsa:\u003ccode\u003ehgf8-39gv-g3f2\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe debugger pin fails after 10 attempts instead of 11. :pr:\u003ccode\u003e3020\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe multipart form parser handles a \u003ccode\u003e\\r\\n\u003c/code\u003e sequence at a chunk boundary.\n:issue:\u003ccode\u003e3065\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eImprove CPU usage during Watchdog reloader. :issue:\u003ccode\u003e3054\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.json\u003c/code\u003e annotation is more accurate. :issue:\u003ccode\u003e3067\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eTraceback rendering handles when the line number is beyond the available\nsource lines. :issue:\u003ccode\u003e3044\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eHTTPException.get_response\u003c/code\u003e annotation and doc better conveys the\ndistinction between WSGI and sans-IO responses. :issue:\u003ccode\u003e3056\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.3\u003c/h2\u003e\n\u003cp\u003eReleased 2024-11-08\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eInitial data passed to \u003ccode\u003eMultiDict\u003c/code\u003e and similar interfaces only accepts\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/werkzeug/commit/04da1b5221b7a7b57e82246e4b5741d37a6b2e56\"\u003e\u003ccode\u003e04da1b5\u003c/code\u003e\u003c/a\u003e release version 3.1.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/f407712fdc60a09c2b3f4fe7db557703e5d9338d\"\u003e\u003ccode\u003ef407712\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/f54fe98026253e70fbbcd35a6b52fb67cfff1c03\"\u003e\u003ccode\u003ef54fe98\u003c/code\u003e\u003c/a\u003e safe_join prevents Windows special device names in multi-segment paths\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/d005985ef69ffe3275eda8fb6fb25e074dbe871b\"\u003e\u003ccode\u003ed005985\u003c/code\u003e\u003c/a\u003e start version 3.1.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/8565c2cbd6681ae8463e77d4fc0795324a7fdae7\"\u003e\u003ccode\u003e8565c2c\u003c/code\u003e\u003c/a\u003e document rule priority (\u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3102\"\u003e#3102\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/3febc7e90072bffe04c27e6b7478dfc4f88930df\"\u003e\u003ccode\u003e3febc7e\u003c/code\u003e\u003c/a\u003e document rule priority\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/2525b827646c10ab7adb334664e6a4af1b769181\"\u003e\u003ccode\u003e2525b82\u003c/code\u003e\u003c/a\u003e remove state machine docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/4abfbd553cdeb6d4e6fa693340d52b13c884079f\"\u003e\u003ccode\u003e4abfbd5\u003c/code\u003e\u003c/a\u003e rewrite build docstring (\u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3097\"\u003e#3097\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/161c18b2a8800ae6ef377fb3cbdb933a878fea67\"\u003e\u003ccode\u003e161c18b\u003c/code\u003e\u003c/a\u003e rewrite build docstring\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/86e11c29e44726dae524cd9db11549b3b1ad681d\"\u003e\u003ccode\u003e86e11c2\u003c/code\u003e\u003c/a\u003e release version 3.1.5 (\u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3085\"\u003e#3085\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/werkzeug/compare/3.0.3...3.1.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `flask` from 2.2.5 to 3.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/releases\"\u003eflask's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.3\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.3 security fix release, which fixes a security issue but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.3/\"\u003ehttps://pypi.org/project/Flask/3.1.3/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-3\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-3\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys but not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. \u003ca href=\"https://github.com/pallets/flask/security/advisories/GHSA-68rp-wp8r-4726\"\u003eGHSA-68rp-wp8r-4726\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.2\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.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/Flask/3.1.2/\"\u003ehttps://pypi.org/project/Flask/3.1.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-2\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-2\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/38?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/38?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5774\"\u003e#5774\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state of \u003ccode\u003esession\u003c/code\u003e is correct. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5786\"\u003e#5786\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5776\"\u003e#5776\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.1\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.1 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.1/\"\u003ehttps://pypi.org/project/Flask/3.1.1/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/flask/milestone/36?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/36?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. GHSA-4grg-w6v8-c28g\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5645\"\u003e#5645\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loads the app and plugins first to make sure all commands are shown. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5673\"\u003e#5673\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMark sans-io base class as being able to handle views that return \u003ccode\u003eAsyncIterable\u003c/code\u003e. This is not accurate for Flask, but makes typing easier for Quart. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5659\"\u003e#5659\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.0\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecations, or introduce potentially breaking changes. We encourage everyone to upgrade, and to use a tool such as \u003ca href=\"https://pypi.org/project/pip-tools/\"\u003epip-tools\u003c/a\u003e to pin all dependencies and control upgrades. Test with warnings treated as errors to be able to adapt to deprecation warnings early.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.0/\"\u003ehttps://pypi.org/project/Flask/3.1.0/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-0\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-0\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/33?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/33?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5623\"\u003e#5623\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate minimum dependency versions to latest feature releases. Werkzeug \u0026gt;= 3.1, ItsDangerous \u0026gt;= 2.2, Blinker \u0026gt;= 1.9. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5624\"\u003e#5624\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5633\"\u003e#5633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProvide a configuration option to control automatic option responses. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5496\"\u003e#5496\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFlask.open_resource\u003c/code\u003e/\u003ccode\u003eopen_instance_resource\u003c/code\u003e and \u003ccode\u003eBlueprint.open_resource\u003c/code\u003e take an \u003ccode\u003eencoding\u003c/code\u003e parameter to use when opening in text mode. It defaults to \u003ccode\u003eutf-8\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5504\"\u003e#5504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.max_content_length\u003c/code\u003e can be customized per-request instead of only through the \u003ccode\u003eMAX_CONTENT_LENGTH\u003c/code\u003e config. Added \u003ccode\u003eMAX_FORM_MEMORY_SIZE\u003c/code\u003e and \u003ccode\u003eMAX_FORM_PARTS\u003c/code\u003e config. Added documentation about resource limits to the security page. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5625\"\u003e#5625\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for the \u003ccode\u003ePartitioned\u003c/code\u003e cookie attribute (CHIPS), with the \u003ccode\u003eSESSION_COOKIE_PARTITIONED\u003c/code\u003e config. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5472\"\u003e#5472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e-e path\u003c/code\u003e takes precedence over default \u003ccode\u003e.env\u003c/code\u003e and \u003ccode\u003e.flaskenv\u003c/code\u003e files. \u003ccode\u003eload_dotenv\u003c/code\u003e loads default files in addition to a path unless \u003ccode\u003eload_defaults=False\u003c/code\u003e is passed. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5628\"\u003e#5628\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport key rotation with the \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e config, a list of old secret keys that can still be used for unsigning. Extensions will need to add support. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5621\"\u003e#5621\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix how setting \u003ccode\u003ehost_matching=True\u003c/code\u003e or \u003ccode\u003esubdomain_matching=False\u003c/code\u003e interacts with \u003ccode\u003eSERVER_NAME\u003c/code\u003e. Setting \u003ccode\u003eSERVER_NAME\u003c/code\u003e no longer restricts requests to only that domain. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5553\"\u003e#5553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.trusted_hosts\u003c/code\u003e is checked during routing, and can be set through the \u003ccode\u003eTRUSTED_HOSTS\u003c/code\u003e config. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5636\"\u003e#5636\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.0.3\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/blob/main/CHANGES.rst\"\u003eflask's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.1.3\u003c/h2\u003e\n\u003cp\u003eReleased 2026-02-18\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys\nbut not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. :ghsa:\u003ccode\u003e68rp-wp8r-4726\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.2\u003c/h2\u003e\n\u003cp\u003eReleased 2025-08-19\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. :issue:\u003ccode\u003e5774\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state\nof \u003ccode\u003esession\u003c/code\u003e is correct. :issue:\u003ccode\u003e5786\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. :issue:\u003ccode\u003e5776\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-05-13\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via\n\u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. :ghsa:\u003ccode\u003e4grg-w6v8-c28g\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. :issue:\u003ccode\u003e5645\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loads the app and plugins first to make sure all commands\nare shown. :issue:\u003ccode\u003e5673\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eMark sans-io base class as being able to handle views that return\n\u003ccode\u003eAsyncIterable\u003c/code\u003e. This is not accurate for Flask, but makes typing easier\nfor Quart. :pr:\u003ccode\u003e5659\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.0\u003c/h2\u003e\n\u003cp\u003eReleased 2024-11-13\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. :pr:\u003ccode\u003e5623\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUpdate minimum dependency versions to latest feature releases.\nWerkzeug \u0026gt;= 3.1, ItsDangerous \u0026gt;= 2.2, Blinker \u0026gt;= 1.9. :pr:\u003ccode\u003e5624,5633\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eProvide a configuration option to control automatic option\nresponses. :pr:\u003ccode\u003e5496\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFlask.open_resource\u003c/code\u003e/\u003ccode\u003eopen_instance_resource\u003c/code\u003e and\n\u003ccode\u003eBlueprint.open_resource\u003c/code\u003e take an \u003ccode\u003eencoding\u003c/code\u003e parameter to use when\nopening in text mode. It defaults to \u003ccode\u003eutf-8\u003c/code\u003e. :issue:\u003ccode\u003e5504\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.max_content_length\u003c/code\u003e can be customized per-request instead of only\nthrough the \u003ccode\u003eMAX_CONTENT_LENGTH\u003c/code\u003e config. Added\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/22d924701a6ae2e4cd01e9a15bbaf3946094af65\"\u003e\u003ccode\u003e22d9247\u003c/code\u003e\u003c/a\u003e release version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/089cb86dd22bff589a4eafb7ab8e42dc357623b4\"\u003e\u003ccode\u003e089cb86\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/c17f379390731543eea33a570a47bd4ef76a54fa\"\u003e\u003ccode\u003ec17f379\u003c/code\u003e\u003c/a\u003e request context tracks session access\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/27be9338405382445a7cb01151e084559b98d602\"\u003e\u003ccode\u003e27be933\u003c/code\u003e\u003c/a\u003e start version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4e652d3f68b90d50aa2301d3b7e68c3fafd9251d\"\u003e\u003ccode\u003e4e652d3\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5903\"\u003e#5903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/3d03098a97ddc6a908aa4a50c2ef7381f8297d0a\"\u003e\u003ccode\u003e3d03098\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/407eb76b27884848383a37c7274654f0271e4bc4\"\u003e\u003ccode\u003e407eb76\u003c/code\u003e\u003c/a\u003e document using gevent for async (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5900\"\u003e#5900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/ac5664d2281533eacafd64f5cc7d5edcdaccab60\"\u003e\u003ccode\u003eac5664d\u003c/code\u003e\u003c/a\u003e document using gevent for async\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4f79d5b59a56bc4356a97f2e81a35f98cb18d7b3\"\u003e\u003ccode\u003e4f79d5b\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11 (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/...\n\n_Description has been truncated_","html_url":"https://github.com/Reality2byte/python-docs-samples/pull/147","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Reality2byte%2Fpython-docs-samples/issues/147","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/147/packages"},{"uuid":"4083799073","node_id":"PR_kwDOOK9uiM7K_VkM","number":139,"state":"open","title":"chore(deps): bump the uv group across 23 directories with 14 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-16T17:25:46.000Z","updated_at":"2026-04-08T04:51:49.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"uv","update_count":14,"packages":[{"name":"flask","old_version":"2.2.5","new_version":"3.1.3","repository_url":"https://github.com/pallets/flask"},{"name":"werkzeug","old_version":"2.2.3","new_version":"3.1.6","repository_url":"https://github.com/pallets/werkzeug"},{"name":"pyopenssl","old_version":"23.2.0","new_version":"26.0.0","repository_url":"https://github.com/pyca/pyopenssl"},{"name":"apache-airflow","old_version":"2.6.3","new_version":"3.2.0b1","repository_url":"https://github.com/apache/airflow"},{"name":"authlib","old_version":"1.2.1","new_version":"1.6.9","repository_url":"https://github.com/authlib/authlib"},{"name":"black","old_version":"23.1a1","new_version":"26.3.1","repository_url":"https://github.com/psf/black"},{"name":"cryptography","old_version":"40.0.2","new_version":"46.0.5","repository_url":"https://github.com/pyca/cryptography"},{"name":"google-cloud-aiplatform","old_version":"1.27.1","new_version":"1.133.0","repository_url":"https://github.com/googleapis/python-aiplatform"},{"name":"orjson","old_version":"3.9.1","new_version":"3.11.6","repository_url":"https://github.com/ijl/orjson"},{"name":"protobuf","old_version":"4.23.4","new_version":"5.29.6","repository_url":"https://github.com/protocolbuffers/protobuf"}],"path":null,"ecosystem":"pip"},"body":"Bumps the uv group with 1 update in the /alloydb/notebooks directory: [nbconvert](https://github.com/jupyter/nbconvert).\nBumps the uv group with 2 updates in the /appengine/standard/firebase/firenotes/backend directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the uv group with 3 updates in the /cloud-media-livestream/keypublisher directory: [flask](https://github.com/pallets/flask), [werkzeug](https://github.com/pallets/werkzeug) and [pyopenssl](https://github.com/pyca/pyopenssl).\nBumps the uv group with 3 updates in the /cloud-sql/sql-server/sqlalchemy directory: [flask](https://github.com/pallets/flask), [werkzeug](https://github.com/pallets/werkzeug) and [pyopenssl](https://github.com/pyca/pyopenssl).\nBumps the uv group with 2 updates in the /cloud_scheduler/snippets directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the uv group with 10 updates in the /composer/2022_airflow_summit directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [flask](https://github.com/pallets/flask) | `2.2.5` | `3.1.3` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `2.2.3` | `3.1.6` |\n| [pyopenssl](https://github.com/pyca/pyopenssl) | `23.2.0` | `26.0.0` |\n| [apache-airflow](https://github.com/apache/airflow) | `2.6.3` | `3.2.0b1` |\n| [authlib](https://github.com/authlib/authlib) | `1.2.1` | `1.6.9` |\n| [black](https://github.com/psf/black) | `23.1a1` | `26.3.1` |\n| [cryptography](https://github.com/pyca/cryptography) | `40.0.2` | `46.0.5` |\n| [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) | `1.27.1` | `1.133.0` |\n| [orjson](https://github.com/ijl/orjson) | `3.9.1` | `3.11.6` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `4.23.4` | `5.29.6` |\n\nBumps the uv group with 6 updates in the /composer/airflow_1_samples directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [flask](https://github.com/pallets/flask) | `1.1.2` | `3.1.3` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `0.16.1` | `3.1.6` |\n| [pyopenssl](https://github.com/pyca/pyopenssl) | `20.0.0` | `26.0.0` |\n| [black](https://github.com/psf/black) | `20.8b0` | `25.11.0` |\n| [cryptography](https://github.com/pyca/cryptography) | `3.2.1` | `46.0.5` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `3.14.0` | `5.29.6` |\n\nBumps the uv group with 10 updates in the /composer/cicd_sample directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [flask](https://github.com/pallets/flask) | `2.2.5` | `3.1.3` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `2.2.3` | `3.1.6` |\n| [pyopenssl](https://github.com/pyca/pyopenssl) | `23.2.0` | `26.0.0` |\n| [apache-airflow](https://github.com/apache/airflow) | `2.6.3` | `3.2.0b1` |\n| [authlib](https://github.com/authlib/authlib) | `1.2.1` | `1.6.9` |\n| [black](https://github.com/psf/black) | `23.1a1` | `26.3.1` |\n| [cryptography](https://github.com/pyca/cryptography) | `40.0.2` | `46.0.5` |\n| [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) | `1.27.1` | `1.133.0` |\n| [orjson](https://github.com/ijl/orjson) | `3.9.1` | `3.11.6` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `4.23.4` | `5.29.6` |\n\nBumps the uv group with 9 updates in the /composer/workflows directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [flask](https://github.com/pallets/flask) | `2.2.5` | `3.1.3` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `2.2.3` | `3.1.6` |\n| [pyopenssl](https://github.com/pyca/pyopenssl) | `24.1.0` | `26.0.0` |\n| [authlib](https://github.com/authlib/authlib) | `1.3.1` | `1.6.9` |\n| [black](https://github.com/psf/black) | `24.4.2` | `26.3.1` |\n| [cryptography](https://github.com/pyca/cryptography) | `41.0.7` | `46.0.5` |\n| [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) | `1.53.0` | `1.133.0` |\n| [orjson](https://github.com/ijl/orjson) | `3.10.3` | `3.11.6` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `4.25.3` | `5.29.6` |\n\nBumps the uv group with 1 update in the /compute/client_library directory: [black](https://github.com/psf/black).\nBumps the uv group with 1 update in the /compute/encryption directory: [cryptography](https://github.com/pyca/cryptography).\nBumps the uv group with 3 updates in the /dataflow/flex-templates/pipeline_with_dependencies directory: [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform), [orjson](https://github.com/ijl/orjson) and [protobuf](https://github.com/protocolbuffers/protobuf).\nBumps the uv group with 3 updates in the /dataflow/gemma directory: [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform), [protobuf](https://github.com/protocolbuffers/protobuf) and [keras](https://github.com/keras-team/keras).\nBumps the uv group with 1 update in the /dataflow/gemma-flex-template directory: [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform).\nBumps the uv group with 3 updates in the /dataflow/run-inference directory: [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform), [torch](https://github.com/pytorch/pytorch) and [transformers](https://github.com/huggingface/transformers).\nBumps the uv group with 1 update in the /dataflow/run_template directory: [flask](https://github.com/pallets/flask).\nBumps the uv group with 2 updates in the /datastore/cloud-ndb directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the uv group with 2 updates in the /dialogflow directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the uv group with 2 updates in the /dialogflow-cx directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the uv group with 1 update in the /gemma2 directory: [protobuf](https://github.com/protocolbuffers/protobuf).\nBumps the uv group with 2 updates in the /iap directory: [werkzeug](https://github.com/pallets/werkzeug) and [cryptography](https://github.com/pyca/cryptography).\nBumps the uv group with 1 update in the /media_cdn directory: [cryptography](https://github.com/pyca/cryptography).\nBumps the uv group with 2 updates in the /run/mcp-server directory: [authlib](https://github.com/authlib/authlib) and [cryptography](https://github.com/pyca/cryptography).\n\nUpdates `nbconvert` from 7.16.6 to 7.17.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jupyter/nbconvert/releases\"\u003enbconvert's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.17.0\u003c/h2\u003e\n\u003ch2\u003e7.17.0\u003c/h2\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbconvert/compare/v7.16.6...c9ac1d1040459ed1ff9eb34e9918ce5a87cf9d71\"\u003eFull Changelog\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eEnhancements made\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for arbitrary browser arguments \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2227\"\u003e#2227\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugs fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix QtPNGExporter returning empty bytes on macOS \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2264\"\u003e#2264\u003c/a\u003e (\u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/QuLogic\"\u003e\u003ccode\u003e@​QuLogic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix CVE-2025-53000: Secure Inkscape Windows path (registry first + block CWD) \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2261\"\u003e#2261\u003c/a\u003e (\u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/mberlanda\"\u003e\u003ccode\u003e@​mberlanda\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/salmankadaya\"\u003e\u003ccode\u003e@​salmankadaya\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/th3gowtham\"\u003e\u003ccode\u003e@​th3gowtham\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix get_export_names and get_exporter default args \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2228\"\u003e#2228\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePyPA-Compliant Summary \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2226\"\u003e#2226\u003c/a\u003e (\u003ca href=\"https://github.com/hackowitz-af\"\u003e\u003ccode\u003e@​hackowitz-af\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMaintenance and upkeep improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eavoid cov environment on free-threaded Pythons \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2267\"\u003e#2267\u003c/a\u003e (\u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate pre-commit, and fix all issues. \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2238\"\u003e#2238\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop test on 3.9, test on 3.13, 3.14, 3.14t \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2237\"\u003e#2237\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the actions group across 1 directory with 2 updates \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2231\"\u003e#2231\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003e@flaky.flaky\u003c/code\u003e decorate with pytest marker \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2229\"\u003e#2229\u003c/a\u003e (\u003ca href=\"https://github.com/mgorny\"\u003e\u003ccode\u003e@​mgorny\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate to mermaid 11.10.0 \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2224\"\u003e#2224\u003c/a\u003e (\u003ca href=\"https://github.com/bollwyvl\"\u003e\u003ccode\u003e@​bollwyvl\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.8, fix the CI tests \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2221\"\u003e#2221\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse \u003ccode\u003eintersphinx_registry\u003c/code\u003e \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2232\"\u003e#2232\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors to this release\u003c/h3\u003e\n\u003cp\u003eThe following people contributed discussions, new ideas, code and documentation contributions, and review.\nSee \u003ca href=\"https://github-activity.readthedocs.io/en/latest/use/#how-does-this-tool-define-contributions-in-the-reports\"\u003eour definition of contributors\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbconvert/graphs/contributors?from=2025-01-28\u0026amp;to=2026-01-29\u0026amp;type=c\"\u003eGitHub contributors page for this release\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/bollwyvl\"\u003e\u003ccode\u003e@​bollwyvl\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Abollwyvl+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3ACarreau+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ah3pdesign+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/hackowitz-af\"\u003e\u003ccode\u003e@​hackowitz-af\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ahackowitz-af+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Akrassowski+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/mberlanda\"\u003e\u003ccode\u003e@​mberlanda\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Amberlanda+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/mgorny\"\u003e\u003ccode\u003e@​mgorny\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Amgorny+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Aminrk+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/MSeal\"\u003e\u003ccode\u003e@​MSeal\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3AMSeal+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/QuLogic\"\u003e\u003ccode\u003e@​QuLogic\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3AQuLogic+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/salmankadaya\"\u003e\u003ccode\u003e@​salmankadaya\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Asalmankadaya+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ashreve+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/th3gowtham\"\u003e\u003ccode\u003e@​th3gowtham\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ath3gowtham+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e)\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jupyter/nbconvert/blob/main/CHANGELOG.md\"\u003enbconvert's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.17.0\u003c/h2\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbconvert/compare/v7.16.6...c9ac1d1040459ed1ff9eb34e9918ce5a87cf9d71\"\u003eFull Changelog\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eEnhancements made\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for arbitrary browser arguments \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2227\"\u003e#2227\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugs fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix QtPNGExporter returning empty bytes on macOS \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2264\"\u003e#2264\u003c/a\u003e (\u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/QuLogic\"\u003e\u003ccode\u003e@​QuLogic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix CVE-2025-53000: Secure Inkscape Windows path (registry first + block CWD) \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2261\"\u003e#2261\u003c/a\u003e (\u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/mberlanda\"\u003e\u003ccode\u003e@​mberlanda\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/salmankadaya\"\u003e\u003ccode\u003e@​salmankadaya\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/th3gowtham\"\u003e\u003ccode\u003e@​th3gowtham\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix get_export_names and get_exporter default args \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2228\"\u003e#2228\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePyPA-Compliant Summary \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2226\"\u003e#2226\u003c/a\u003e (\u003ca href=\"https://github.com/hackowitz-af\"\u003e\u003ccode\u003e@​hackowitz-af\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMaintenance and upkeep improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eavoid cov environment on free-threaded Pythons \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2267\"\u003e#2267\u003c/a\u003e (\u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate pre-commit, and fix all issues. \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2238\"\u003e#2238\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop test on 3.9, test on 3.13, 3.14, 3.14t \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2237\"\u003e#2237\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the actions group across 1 directory with 2 updates \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2231\"\u003e#2231\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003e@flaky.flaky\u003c/code\u003e decorate with pytest marker \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2229\"\u003e#2229\u003c/a\u003e (\u003ca href=\"https://github.com/mgorny\"\u003e\u003ccode\u003e@​mgorny\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate to mermaid 11.10.0 \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2224\"\u003e#2224\u003c/a\u003e (\u003ca href=\"https://github.com/bollwyvl\"\u003e\u003ccode\u003e@​bollwyvl\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.8, fix the CI tests \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2221\"\u003e#2221\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse \u003ccode\u003eintersphinx_registry\u003c/code\u003e \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2232\"\u003e#2232\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors to this release\u003c/h3\u003e\n\u003cp\u003eThe following people contributed discussions, new ideas, code and documentation contributions, and review.\nSee \u003ca href=\"https://github-activity.readthedocs.io/en/latest/use/#how-does-this-tool-define-contributions-in-the-reports\"\u003eour definition of contributors\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbconvert/graphs/contributors?from=2025-01-28\u0026amp;to=2026-01-29\u0026amp;type=c\"\u003eGitHub contributors page for this release\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/bollwyvl\"\u003e\u003ccode\u003e@​bollwyvl\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Abollwyvl+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3ACarreau+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ah3pdesign+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/hackowitz-af\"\u003e\u003ccode\u003e@​hackowitz-af\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ahackowitz-af+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Akrassowski+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/mberlanda\"\u003e\u003ccode\u003e@​mberlanda\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Amberlanda+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/mgorny\"\u003e\u003ccode\u003e@​mgorny\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Amgorny+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Aminrk+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/MSeal\"\u003e\u003ccode\u003e@​MSeal\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3AMSeal+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/QuLogic\"\u003e\u003ccode\u003e@​QuLogic\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3AQuLogic+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/salmankadaya\"\u003e\u003ccode\u003e@​salmankadaya\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Asalmankadaya+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ashreve+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/th3gowtham\"\u003e\u003ccode\u003e@​th3gowtham\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ath3gowtham+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e)\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/21b35d85b46f5ff0956d3d088a52b9bef00e8196\"\u003e\u003ccode\u003e21b35d8\u003c/code\u003e\u003c/a\u003e Publish 7.17.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/c9ac1d1040459ed1ff9eb34e9918ce5a87cf9d71\"\u003e\u003ccode\u003ec9ac1d1\u003c/code\u003e\u003c/a\u003e Fix CVE-2025-53000: Secure Inkscape Windows path (registry first + block CWD)...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/b13276d80ae6fadbfda981304810e26f421c4ced\"\u003e\u003ccode\u003eb13276d\u003c/code\u003e\u003c/a\u003e avoid cov environment on free-threaded Pythons (\u003ca href=\"https://redirect.github.com/jupyter/nbconvert/issues/2267\"\u003e#2267\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/7c7055fe833fe9832e6f9a64fa5f67d66692c8d6\"\u003e\u003ccode\u003e7c7055f\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] auto fixes from pre-commit.com hooks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/74f3ddd37ef4b7ffb5eee9acbf52062217c15852\"\u003e\u003ccode\u003e74f3ddd\u003c/code\u003e\u003c/a\u003e Fix QtPNGExporter returning empty bytes on macOS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/216550b2aae4c329f4dab597a96ae7cac30de79a\"\u003e\u003ccode\u003e216550b\u003c/code\u003e\u003c/a\u003e fix links\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/39777ac5716350e994171d025a7369c58b0afc8c\"\u003e\u003ccode\u003e39777ac\u003c/code\u003e\u003c/a\u003e try to comment fialing test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/7b591ca526f2598dbae3256a53765659c3edcf14\"\u003e\u003ccode\u003e7b591ca\u003c/code\u003e\u003c/a\u003e ruff-check\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/6ec7638a3dc7a0bc2c533c116202d7f9b07ce9d9\"\u003e\u003ccode\u003e6ec7638\u003c/code\u003e\u003c/a\u003e parent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/59414b36f94e318d4207e8af863167047d936c19\"\u003e\u003ccode\u003e59414b3\u003c/code\u003e\u003c/a\u003e fix mypy\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jupyter/nbconvert/compare/v7.16.6...v7.17.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `flask` from 3.0.0 to 3.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/releases\"\u003eflask's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.3\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.3 security fix release, which fixes a security issue but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.3/\"\u003ehttps://pypi.org/project/Flask/3.1.3/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-3\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-3\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys but not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. \u003ca href=\"https://github.com/pallets/flask/security/advisories/GHSA-68rp-wp8r-4726\"\u003eGHSA-68rp-wp8r-4726\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.2\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.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/Flask/3.1.2/\"\u003ehttps://pypi.org/project/Flask/3.1.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-2\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-2\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/38?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/38?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5774\"\u003e#5774\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state of \u003ccode\u003esession\u003c/code\u003e is correct. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5786\"\u003e#5786\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5776\"\u003e#5776\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.1\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.1 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.1/\"\u003ehttps://pypi.org/project/Flask/3.1.1/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/flask/milestone/36?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/36?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. GHSA-4grg-w6v8-c28g\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5645\"\u003e#5645\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loads the app and plugins first to make sure all commands are shown. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5673\"\u003e#5673\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMark sans-io base class as being able to handle views that return \u003ccode\u003eAsyncIterable\u003c/code\u003e. This is not accurate for Flask, but makes typing easier for Quart. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5659\"\u003e#5659\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.0\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecations, or introduce potentially breaking changes. We encourage everyone to upgrade, and to use a tool such as \u003ca href=\"https://pypi.org/project/pip-tools/\"\u003epip-tools\u003c/a\u003e to pin all dependencies and control upgrades. Test with warnings treated as errors to be able to adapt to deprecation warnings early.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.0/\"\u003ehttps://pypi.org/project/Flask/3.1.0/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-0\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-0\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/33?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/33?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5623\"\u003e#5623\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate minimum dependency versions to latest feature releases. Werkzeug \u0026gt;= 3.1, ItsDangerous \u0026gt;= 2.2, Blinker \u0026gt;= 1.9. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5624\"\u003e#5624\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5633\"\u003e#5633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProvide a configuration option to control automatic option responses. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5496\"\u003e#5496\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFlask.open_resource\u003c/code\u003e/\u003ccode\u003eopen_instance_resource\u003c/code\u003e and \u003ccode\u003eBlueprint.open_resource\u003c/code\u003e take an \u003ccode\u003eencoding\u003c/code\u003e parameter to use when opening in text mode. It defaults to \u003ccode\u003eutf-8\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5504\"\u003e#5504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.max_content_length\u003c/code\u003e can be customized per-request instead of only through the \u003ccode\u003eMAX_CONTENT_LENGTH\u003c/code\u003e config. Added \u003ccode\u003eMAX_FORM_MEMORY_SIZE\u003c/code\u003e and \u003ccode\u003eMAX_FORM_PARTS\u003c/code\u003e config. Added documentation about resource limits to the security page. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5625\"\u003e#5625\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for the \u003ccode\u003ePartitioned\u003c/code\u003e cookie attribute (CHIPS), with the \u003ccode\u003eSESSION_COOKIE_PARTITIONED\u003c/code\u003e config. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5472\"\u003e#5472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e-e path\u003c/code\u003e takes precedence over default \u003ccode\u003e.env\u003c/code\u003e and \u003ccode\u003e.flaskenv\u003c/code\u003e files. \u003ccode\u003eload_dotenv\u003c/code\u003e loads default files in addition to a path unless \u003ccode\u003eload_defaults=False\u003c/code\u003e is passed. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5628\"\u003e#5628\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport key rotation with the \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e config, a list of old secret keys that can still be used for unsigning. Extensions will need to add support. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5621\"\u003e#5621\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix how setting \u003ccode\u003ehost_matching=True\u003c/code\u003e or \u003ccode\u003esubdomain_matching=False\u003c/code\u003e interacts with \u003ccode\u003eSERVER_NAME\u003c/code\u003e. Setting \u003ccode\u003eSERVER_NAME\u003c/code\u003e no longer restricts requests to only that domain. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5553\"\u003e#5553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.trusted_hosts\u003c/code\u003e is checked during routing, and can be set through the \u003ccode\u003eTRUSTED_HOSTS\u003c/code\u003e config. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5636\"\u003e#5636\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.0.3\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/blob/main/CHANGES.rst\"\u003eflask's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.1.3\u003c/h2\u003e\n\u003cp\u003eReleased 2026-02-18\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys\nbut not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. :ghsa:\u003ccode\u003e68rp-wp8r-4726\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.2\u003c/h2\u003e\n\u003cp\u003eReleased 2025-08-19\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. :issue:\u003ccode\u003e5774\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state\nof \u003ccode\u003esession\u003c/code\u003e is correct. :issue:\u003ccode\u003e5786\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. :issue:\u003ccode\u003e5776\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-05-13\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via\n\u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. :ghsa:\u003ccode\u003e4grg-w6v8-c28g\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. :issue:\u003ccode\u003e5645\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loads the app and plugins first to make sure all commands\nare shown. :issue:\u003ccode\u003e5673\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eMark sans-io base class as being able to handle views that return\n\u003ccode\u003eAsyncIterable\u003c/code\u003e. This is not accurate for Flask, but makes typing easier\nfor Quart. :pr:\u003ccode\u003e5659\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.0\u003c/h2\u003e\n\u003cp\u003eReleased 2024-11-13\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. :pr:\u003ccode\u003e5623\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUpdate minimum dependency versions to latest feature releases.\nWerkzeug \u0026gt;= 3.1, ItsDangerous \u0026gt;= 2.2, Blinker \u0026gt;= 1.9. :pr:\u003ccode\u003e5624,5633\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eProvide a configuration option to control automatic option\nresponses. :pr:\u003ccode\u003e5496\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFlask.open_resource\u003c/code\u003e/\u003ccode\u003eopen_instance_resource\u003c/code\u003e and\n\u003ccode\u003eBlueprint.open_resource\u003c/code\u003e take an \u003ccode\u003eencoding\u003c/code\u003e parameter to use when\nopening in text mode. It defaults to \u003ccode\u003eutf-8\u003c/code\u003e. :issue:\u003ccode\u003e5504\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.max_content_length\u003c/code\u003e can be customized per-request instead of only\nthrough the \u003ccode\u003eMAX_CONTENT_LENGTH\u003c/code\u003e config. Added\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/22d924701a6ae2e4cd01e9a15bbaf3946094af65\"\u003e\u003ccode\u003e22d9247\u003c/code\u003e\u003c/a\u003e release version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/089cb86dd22bff589a4eafb7ab8e42dc357623b4\"\u003e\u003ccode\u003e089cb86\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/c17f379390731543eea33a570a47bd4ef76a54fa\"\u003e\u003ccode\u003ec17f379\u003c/code\u003e\u003c/a\u003e request context tracks session access\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/27be9338405382445a7cb01151e084559b98d602\"\u003e\u003ccode\u003e27be933\u003c/code\u003e\u003c/a\u003e start version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4e652d3f68b90d50aa2301d3b7e68c3fafd9251d\"\u003e\u003ccode\u003e4e652d3\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5903\"\u003e#5903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/3d03098a97ddc6a908aa4a50c2ef7381f8297d0a\"\u003e\u003ccode\u003e3d03098\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/407eb76b27884848383a37c7274654f0271e4bc4\"\u003e\u003ccode\u003e407eb76\u003c/code\u003e\u003c/a\u003e document using gevent for async (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5900\"\u003e#5900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/ac5664d2281533eacafd64f5cc7d5edcdaccab60\"\u003e\u003ccode\u003eac5664d\u003c/code\u003e\u003c/a\u003e document using gevent for async\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4f79d5b59a56bc4356a97f2e81a35f98cb18d7b3\"\u003e\u003ccode\u003e4f79d5b\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11 (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5865\"\u003e#5865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/fe3b215d3ade4db68262dae1a3cdc464a1fc524f\"\u003e\u003ccode\u003efe3b215\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/flask/compare/3.0.0...3.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `werkzeug` from 3.0.3 to 3.1.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/werkzeug/releases\"\u003ewerkzeug's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.6\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.6 security fix release, which fixes a security issue but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Werkzeug/3.1.6/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.6/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/page/changes/#version-3-1-6\"\u003ehttps://werkzeug.palletsprojects.com/page/changes/#version-3-1-6\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow special devices names in multi-segment paths. \u003ca href=\"https://github.com/pallets/werkzeug/security/advisories/GHSA-29vq-49wr-vm6x\"\u003eGHSA-29vq-49wr-vm6x\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.5\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.5 security fix release, which fixes security issues and 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/Werkzeug/3.1.5/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.5/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/page/changes/#version-3-1-5\"\u003ehttps://werkzeug.palletsprojects.com/page/changes/#version-3-1-5\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/werkzeug/milestone/43?closed=1\"\u003ehttps://github.com/pallets/werkzeug/milestone/43?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow more special device names, regardless of extension or surrounding spaces. \u003ca href=\"https://github.com/pallets/werkzeug/security/advisories/GHSA-87hc-h4r5-73f7\"\u003eGHSA-87hc-h4r5-73f7\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe multipart form parser handles a \u003ccode\u003e\\r\\n\u003c/code\u003e sequence at a chunk boundary. This fixes the previous attempt, which caused incorrect content lengths. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3065\"\u003e#3065\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3077\"\u003e#3077\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eAttributeError\u003c/code\u003e when initializing \u003ccode\u003eDebuggedApplication\u003c/code\u003e with \u003ccode\u003epin_security=False\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3075\"\u003e#3075\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.4\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.4 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/Werkzeug/3.1.4/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.4/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/page/changes/#version-3-1-4\"\u003ehttps://werkzeug.palletsprojects.com/page/changes/#version-3-1-4\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/werkzeug/milestone/42?closed=1\"\u003ehttps://github.com/pallets/werkzeug/milestone/42?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow special device names. This prevents reading from these when using \u003ccode\u003esend_from_directory\u003c/code\u003e. \u003ccode\u003esecure_filename\u003c/code\u003e already prevented writing to these. \u003ca href=\"https://github.com/pallets/werkzeug/security/advisories/GHSA-hgf8-39gv-g3f2\"\u003eghsa-hgf8-39gv-g3f2\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe debugger pin fails after 10 attempts instead of 11. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3020\"\u003e#3020\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe multipart form parser handles a \u003ccode\u003e\\r\\n\u003c/code\u003e sequence at a chunk boundary. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3065\"\u003e#3065\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove CPU usage during Watchdog reloader. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3054\"\u003e#3054\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.json\u003c/code\u003e annotation is more accurate. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3067\"\u003e#3067\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTraceback rendering handles when the line number is beyond the available source lines. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3044\"\u003e#3044\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eHTTPException.get_response\u003c/code\u003e annotation and doc better conveys the distinction between WSGI and sans-IO responses. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3056\"\u003e#3056\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.3\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.3 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes vs 3.1.0.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Werkzeug/3.1.3/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.3/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/en/stable/changes/#version-3-1-3\"\u003ehttps://werkzeug.palletsprojects.com/en/stable/changes/#version-3-1-3\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/werkzeug/milestone/41?closed=1\"\u003ehttps://github.com/pallets/werkzeug/milestone/41?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eInitial data passed to \u003ccode\u003eMultiDict\u003c/code\u003e and similar interfaces only accepts \u003ccode\u003elist\u003c/code\u003e, \u003ccode\u003etuple\u003c/code\u003e, or \u003ccode\u003eset\u003c/code\u003e when passing multiple values. It had been changed to accept any \u003ccode\u003eCollection\u003c/code\u003e, but this matched types that should be treated as single values, such as \u003ccode\u003ebytes\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/2994\"\u003e#2994\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen the \u003ccode\u003eHost\u003c/code\u003e header is not set and \u003ccode\u003eRequest.host\u003c/code\u003e falls back to the WSGI \u003ccode\u003eSERVER_NAME\u003c/code\u003e value, if that value is an IPv6 address it is wrapped in \u003ccode\u003e[]\u003c/code\u003e to match the \u003ccode\u003eHost\u003c/code\u003e header. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/2993\"\u003e#2993\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.2\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.2 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes vs 3.1.0.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Werkzeug/3.1.2/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/en/stable/changes/#version-3-1-2\"\u003ehttps://werkzeug.palletsprojects.com/en/stable/changes/#version-3-1-2\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/werkzeug/blob/main/CHANGES.rst\"\u003ewerkzeug's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.1.6\u003c/h2\u003e\n\u003cp\u003eReleased 2026-02-19\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow special devices names in\nmulti-segment paths. :ghsa:\u003ccode\u003e29vq-49wr-vm6x\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eResponse.make_conditional\u003c/code\u003e sets the \u003ccode\u003eAccept-Ranges\u003c/code\u003e header even if it\nis not a satisfiable range request. :issue:\u003ccode\u003e3108\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.5\u003c/h2\u003e\n\u003cp\u003eReleased 2026-01-08\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow more special device names, regardless\nof extension or surrounding spaces. :ghsa:\u003ccode\u003e87hc-h4r5-73f7\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe multipart form parser handles a \u003ccode\u003e\\r\\n\u003c/code\u003e sequence at a chunk boundary.\nThis fixes the previous attempt, which caused incorrect content lengths.\n:issue:\u003ccode\u003e3065\u003c/code\u003e :issue:\u003ccode\u003e3077\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eAttributeError\u003c/code\u003e when initializing \u003ccode\u003eDebuggedApplication\u003c/code\u003e with\n\u003ccode\u003epin_security=False\u003c/code\u003e. :issue:\u003ccode\u003e3075\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.4\u003c/h2\u003e\n\u003cp\u003eReleased 2025-11-28\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow special device names. This prevents\nreading from these when using \u003ccode\u003esend_from_directory\u003c/code\u003e. \u003ccode\u003esecure_filename\u003c/code\u003e\nalready prevented writing to these. :ghsa:\u003ccode\u003ehgf8-39gv-g3f2\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe debugger pin fails after 10 attempts instead of 11. :pr:\u003ccode\u003e3020\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe multipart form parser handles a \u003ccode\u003e\\r\\n\u003c/code\u003e sequence at a chunk boundary.\n:issue:\u003ccode\u003e3065\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eImprove CPU usage during Watchdog reloader. :issue:\u003ccode\u003e3054\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.json\u003c/code\u003e annotation is more accurate. :issue:\u003ccode\u003e3067\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eTraceback rendering handles when the line number is beyond the available\nsource lines. :issue:\u003ccode\u003e3044\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eHTTPException.get_response\u003c/code\u003e annotation and doc better conveys the\ndistinction between WSGI and sans-IO responses. :issue:\u003ccode\u003e3056\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.3\u003c/h2\u003e\n\u003cp\u003eReleased 2024-11-08\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eInitial data passed to \u003ccode\u003eMultiDict\u003c/code\u003e and similar interfaces only accepts\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/werkzeug/commit/04da1b5221b7a7b57e82246e4b5741d37a6b2e56\"\u003e\u003ccode\u003e04da1b5\u003c/code\u003e\u003c/a\u003e release version 3.1.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/f407712fdc60a09c2b3f4fe7db557703e5d9338d\"\u003e\u003ccode\u003ef407712\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/f54fe98026253e70fbbcd35a6b52fb67cfff1c03\"\u003e\u003ccode\u003ef54fe98\u003c/code\u003e\u003c/a\u003e safe_join prevents Windows special device names in multi-segment paths\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/d005985ef69ffe3275eda8fb6fb25e074dbe871b\"\u003e\u003ccode\u003ed005985\u003c/code\u003e\u003c/a\u003e start version 3.1.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/8565c2cbd6681ae8463e77d4fc0795324a7fdae7\"\u003e\u003ccode\u003e8565c2c\u003c/code\u003e\u003c/a\u003e document rule priority (\u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3102\"\u003e#3102\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/3febc7e90072bffe04c27e6b7478dfc4f88930df\"\u003e\u003ccode\u003e3febc7e\u003c/code\u003e\u003c/a\u003e document rule priority\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/2525b827646c10ab7adb334664e6a4af1b769181\"\u003e\u003ccode\u003e2525b82\u003c/code\u003e\u003c/a\u003e remove state machine docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/4abfbd553cdeb6d4e6fa693340d52b13c884079f\"\u003e\u003ccode\u003e4abfbd5\u003c/code\u003e\u003c/a\u003e rewrite build docstring (\u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3097\"\u003e#3097\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/161c18b2a8800ae6ef377fb3cbdb933a878fea67\"\u003e\u003ccode\u003e161c18b\u003c/code\u003e\u003c/a\u003e rewrite build docstring\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/86e11c29e44726dae524cd9db11549b3b1ad681d\"\u003e\u003ccode\u003e86e11c2\u003c/code\u003e\u003c/a\u003e release version 3.1.5 (\u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3085\"\u003e#3085\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/werkzeug/compare/3.0.3...3.1.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `flask` from 3.0.0 to 3.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/releases\"\u003eflask's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.3\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.3 security fix release, which fixes a security issue but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.3/\"\u003ehttps://pypi.org/project/Flask/3.1.3/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-3\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-3\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys but not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. \u003ca href=\"https://github.com/pallets/flask/security/advisories/GHSA-68rp-wp8r-4726\"\u003eGHSA-68rp-wp8r-4726\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.2\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.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/Flask/3.1.2/\"\u003ehttps://pypi.org/project/Flask/3.1.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-2\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-2\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/38?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/38?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5774\"\u003e#5774\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state of \u003ccode\u003esession\u003c/code\u003e is correct. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5786\"\u003e#5786\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5776\"\u003e#5776\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.1\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.1 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.1/\"\u003ehttps://pypi.org/project/Flask/3.1.1/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/flask/milestone/36?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/36?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. GHSA-4grg-w6v8-c28g\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5645\"\u003e#5645\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loads the app and plugins first to make sure all commands are shown. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5673\"\u003e#5673\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMark sans-io base class as being able to handle views that return \u003ccode\u003eAsyncIterable\u003c/code\u003e. This is not accurate for Flask, but makes typing easier for Quart. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5659\"\u003e#5659\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.0\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecations, or introduce potentially breaking changes. We encourage everyone to upgrade, and to use a tool such as \u003ca href=\"https://pypi.org/project/pip-tools/\"\u003epip-tools\u003c/a\u003e to pin all dependencies and control upgrades. Test with warnings treated as errors to be able to adapt to deprecation warnings early.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.0/\"\u003ehttps://pypi.org/project/Flask/3.1.0/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-0\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-0\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/33?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/33?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5623\"\u003e#5623\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate minimum dependency versions to latest feature releases. Werkzeug \u0026gt;= 3.1, ItsDangerous \u0026gt;= 2.2, Blinker \u0026gt;= 1.9. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5624\"\u003e#5624\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5633\"\u003e#5633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProvide a configuration option to control automatic option responses. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5496\"\u003e#5496\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFlask.open_resource\u003c/code\u003e/\u003ccode\u003eopen_instance_resource\u003c/code\u003e and \u003ccode\u003eBlueprint.open_resource\u003c/code\u003e take an \u003ccode\u003eencoding\u003c/code\u003e parameter to use when opening in text mode. It defaults to \u003ccode\u003eutf-8\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5504\"\u003e#5504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.max_content_length\u003c/code\u003e can be customized per-request instead of only through the \u003ccode\u003eMAX_CONTENT_LENGTH\u003c/code\u003e config. Added \u003ccode\u003eMAX_FORM_MEMORY_SIZE\u003c/code\u003e and \u003ccode\u003eMAX_FORM_PARTS\u003c/code\u003e config. Added documentation about resource limits to the security page. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5625\"\u003e#5625\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for the \u003ccode\u003ePartitioned\u003c/code\u003e cookie attribute (CHIPS), with the \u003ccode\u003eSESSION_COOKIE_PARTITIONED\u003c/code\u003e config. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5472\"\u003e#5472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e-e path\u003c/code\u003e takes precedence over default \u003ccode\u003e.env\u003c/code\u003e and \u003ccode\u003e.flaskenv\u003c/code\u003e files. \u003ccode\u003eload_dotenv\u003c/code\u003e loads default files in addition to a path unless \u003ccode\u003eload_defaults=False\u003c/code\u003e is passed. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5628\"\u003e#5628\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport key rotation with the \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e config, a list of old secret keys that can still be used for unsigning. Extensions will need to add support. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5621\"\u003e#5621\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix how setting \u003ccode\u003ehost_matching=True\u003c/code\u003e or \u003ccode\u003esubdomain_matching=False\u003c/code\u003e interacts with \u003ccode\u003eSERVER_NAME\u003c/code\u003e. Setting \u003ccode\u003eSERVER_NAME\u003c/code\u003e no longer restricts requests to only that domain. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5553\"\u003e#5553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.trusted_hosts\u003c/code\u003e is checked during routing, and can be set through the \u003ccode\u003eTRUSTED_HOSTS\u003c/code\u003e config. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5636\"\u003e#5636\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.0.3\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/blob/main/CHANGES.rst\"\u003eflask's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.1.3\u003c/h2\u003e\n\u003cp\u003eReleased 2026-02-18\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys\nbut not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. :ghsa:\u003ccode\u003e68rp-wp8r-4726\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.2\u003c/h2\u003e\n\u003cp\u003eReleased 2025-08-19\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. :issue:\u003ccode\u003e5774\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state\nof \u003ccode\u003esession\u003c/code\u003e is correct. :issue:\u003ccode\u003e5786\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. :issue:\u003ccode\u003e5776\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-05-13\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via\n\u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. :ghsa:\u003ccode\u003e4grg-w6v8-c28g\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. :issue:\u003ccode\u003e5645\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loads the app and plugins first to make sure all commands\nare shown. :issue:\u003ccode\u003e5673\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eMark sans-io base class as being able to handle views that return\n\u003ccode\u003eAsyncIterable\u003c/code\u003e. This is not accurate for Flask, but makes typing easier\nfor Quart. :pr:\u003ccode\u003e5659\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.0\u003c/h2\u003e\n\u003cp\u003eReleased 2024-11-13\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. :pr:\u003ccode\u003e5623\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUpdate minimum dependency versions to latest feature releases.\nWerkzeug \u0026gt;= 3.1, ItsDangerous \u0026gt;= 2.2, Blinker \u0026gt;= 1.9. :pr:\u003ccode\u003e5624,5633\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eProvide a configuration option to control automatic option\nresponses. :pr:\u003ccode\u003e5496\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFlask.open_resource\u003c/code\u003e/\u003ccode\u003eopen_instance_resource\u003c/code\u003e and\n\u003ccode\u003eBlueprint.open_resource\u003c/code\u003e take an \u003ccode\u003eencoding\u003c/code\u003e parameter to use when\nopening in text mode. It defaults to \u003ccode\u003eutf-8\u003c/code\u003e. :issue:\u003ccode\u003e5504\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.max_content_length\u003c/code\u003e can be customized per-request instead of only\nthrough the \u003ccode\u003eMAX_CONTENT_LENGTH\u003c/code\u003e config. Added\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/22d924701a6ae2e4cd01e9a15bbaf3946094af65\"\u003e\u003ccode\u003e22d9247\u003c/code\u003e\u003c/a\u003e release version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/089cb86dd22bff589a4eafb7ab8e42dc357623b4\"\u003e\u003ccode\u003e089cb86\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/c17f379390731543eea33a570a47bd4ef76a54fa\"\u003e\u003ccode\u003ec17f379\u003c/code\u003e\u003c/a\u003e request context tracks session access\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/27be9338405382445a7cb01151e084559b98d602\"\u003e\u003ccode\u003e27be933\u003c/code\u003e\u003c/a\u003e start version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4e652d3f68b90d50aa2301d3b7e68c3fafd9251d\"\u003e\u003ccode\u003e4e652d3\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5903\"\u003e#5903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/3d03098a97ddc6a908aa4a50c2ef7381f8297d0a\"\u003e\u003ccode\u003e3d03098\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/407eb76b27884848383a37c7274654f0271e4bc4\"\u003e\u003ccode\u003e407eb76\u003c/code\u003e\u003c/a\u003e document using gevent for async (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5900\"\u003e#5900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/ac5664d2281533eacafd64f5cc7d5edcdaccab60\"\u003e\u003ccode\u003eac5664d\u003c/code\u003e\u003c/a\u003e document using gevent for async\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4f79d5b59a56bc4356a97f2e81a35f98cb18d7b3\"\u003e\u003ccode\u003e4f79d5b\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11 (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5865\"\u003e#5865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/fe3b215d3ade4db68262dae1a3cdc464a1fc524f\"\u003e\u003ccode\u003efe3b215\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/flask/compare/3.0.0...3.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `werkzeug` from 3.0.3 to 3.1.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/werkzeug/releases\"\u003ewerkzeug's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.6\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.6 security fix release, which fixes a security issue but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Werkzeug/3.1.6/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.6/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/page/changes/#version-3-1-6\"\u003ehttps://werkzeug.palletsprojects.com/page/changes/#version-3-1-6\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow special devices names in multi-segment paths. \u003ca href=\"https://github.com/pallets/werkzeug/security/advisories/GHSA-29vq-49wr-vm6x\"\u003eGHSA-29vq-49wr-vm6x\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.5\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.5 security fix release, which fixes security issues and 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/Werkzeug/3.1.5/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.5/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/page/changes/#version-3-1-5\"\u003ehttps://werkzeug.palletsprojects.com/page/changes/#version-3-1-5\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/werkzeug/milestone/43?closed=1\"\u003ehttps://github.com/pallets/werkzeug/milestone/43?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow more special device names, regardless of extension or surrounding spaces. \u003ca href=\"https://github.com/pallets/werkzeug/security/advisories/GHSA-87hc-h4r5-73f7\"\u003eGHSA-87hc-h4r5-73f7\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe multipart form parser handles a \u003ccode\u003e\\r\\n\u003c/code\u003e sequence at a chunk boundary. This fixes the previous attempt, which caused incorrect content lengths. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3065\"\u003e#3065\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3077\"\u003e#3077\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eAttributeError\u003c/code\u003e when initializing \u003ccode\u003eDebuggedApplication\u003c/code\u003e with \u003ccode\u003epin_security=False\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3075\"\u003e#3075\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.4\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.4 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/Werkzeug/3.1.4/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.4/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/page/changes/#version-3-1-4\"\u003ehttps://werkzeug.palletsprojects.com/page/changes/#version-3-1-4\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/werkzeug/milestone/42?closed=1\"\u003ehttps://github.com/pallets/werkzeug/milestone/42?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow special device names. This prevents reading from these when using \u003ccode\u003esend_from_directory\u003c/code\u003e. \u003ccode\u003esecure_filename\u003c/code\u003e already prevented writing to these. \u003ca href=\"https://github.com/pallets/werkzeug/security/advisories/GHSA-hgf8-39gv-g3f2\"\u003eghsa-hgf8-39gv-g3f2\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe debugger pin fails after 10 attempts instead of 11. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3020\"\u003e#3020\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe multipart form parser handles a \u003ccode\u003e\\r\\n\u003c/code\u003e sequence at a chunk boundary. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3065\"\u003e#3065\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove CPU usage during Watchdog reloader. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3054\"\u003e#3054\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.json\u003c/code\u003e annotation is more accurate. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3067\"\u003e#3067\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTraceback rendering handles when the line number is beyond the available source lines. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3044\"\u003e#3044\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eHTTPException.get_response\u003c/code\u003e annotation and doc better conveys the distinction between WSGI and sans-IO responses. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3056\"\u003e#3056\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.3\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.3 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes vs 3.1.0.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Werkzeug/3.1.3/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.3/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/en/stable/changes/#version-3-1-3\"\u003ehttps://werkzeug.palletsprojects.com/en/stable/changes/#version-3-1-3\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/werkzeug/milestone/41?closed=1\"\u003ehttps://github.com/pallets/werkzeug/milestone/41?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eInitial data passed to \u003ccode\u003eMultiDict\u003c/code\u003e and similar interfaces only accepts \u003ccode\u003elist\u003c/code\u003e, \u003ccode\u003etuple\u003c/code\u003e, or \u003ccode\u003eset\u003c/code\u003e when passing multiple values. It had been changed to accept any \u003ccode\u003eCollection\u003c/code\u003e, but this matched types that should be treated as single values, such as \u003ccode\u003ebytes\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/2994\"\u003e#2994\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen the \u003ccode\u003eHost\u003c/code\u003e header is not set and \u003ccode\u003eRequest.host\u003c/code\u003e falls back to the WSGI \u003ccode\u003eSERVER_NAME\u003c/code\u003e value, if that value is an IPv6 address it is wrapped in \u003ccode\u003e[]\u003c/code\u003e to match the \u003ccode\u003eHost\u003c/code\u003e header. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/2993\"\u003e#2993\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.2\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.2 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes vs 3.1.0.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Werkzeug/3.1.2/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/en/stable/changes/#version-3-1-2\"\u003ehttps://werkzeug.palletsprojects.com/en/stable/changes/#version-3-1-2\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/werkzeug/blob/main/CHANGES.rst\"\u003ewerkzeug's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.1.6\u003c/h2\u003e\n\u003cp\u003eReleased 2026-02-19\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow special devices names in\nmulti-segment paths. :ghsa:\u003ccode\u003e29vq-49wr-vm6x\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eResponse.make_conditional\u003c/code\u003e sets the \u003ccode\u003eAccept-Ranges\u003c/code\u003e header even if it\nis not a satisfiable range request. :issue:\u003ccode\u003e3108\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.5\u003c/h2\u003e\n\u003cp\u003eReleased 2026-01-08\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow more special device names, regardless\nof extension or surrounding spaces. :ghsa:\u003ccode\u003e87hc-h4r5-73f7\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe multipart form parser handles a \u003ccode\u003e\\r\\n\u003c/code\u003e sequence at a chunk boundary.\nThis fixes the previous attempt, which caused incorrect content lengths.\n:issue:\u003ccode\u003e3065\u003c/code\u003e :issue:\u003ccode\u003e3077\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eAttributeError\u003c/code\u003e when initializing \u003ccode\u003eDebuggedApplication\u003c/code\u003e with\n\u003ccode\u003epin_security=False\u003c/code\u003e. :issue:\u003ccode\u003e3075\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.4\u003c/h2\u003e\n\u003cp\u003eReleased 2025-11-28\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow special device names. This prevents\nreading from these when using \u003ccode\u003esend_from_directory\u003c/code\u003e. \u003ccode\u003esecure_filename\u003c/code\u003e\nalready prevented writing to these. :ghsa:\u003ccode\u003ehgf8-39gv-g3f2\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe debugger pin fails after 10 attempts instead of 11. :pr:\u003ccode\u003e3020\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe multipart form parser handles a \u003ccode\u003e\\r\\n\u003c/code\u003e sequence at a chunk boundary.\n:issue:\u003ccode\u003e3065\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eImprove CPU usage during Watchdog reloader. :issue:\u003ccode\u003e3054\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.json\u003c/code\u003e annotation is more accurate. :issue:\u003ccode\u003e3067\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eTraceback rendering handles when the line number is beyond the available\nsource lines. :issue:\u003ccode\u003e3044\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eHTTPException.get_response\u003c/code\u003e annotation and doc better conveys the\ndistinction between WSGI and sans-IO responses. :issue:\u003ccode\u003e3056\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.3\u003c/h2\u003e\n\u003cp\u003eReleased 2024-11-08\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eInitial data passed to \u003ccode\u003eMultiDict\u003c/code\u003e and similar interfaces only accepts\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/werkzeug/commit/04da1b5221b7a7b57e82246e4b5741d37a6b2e56\"\u003e\u003ccode\u003e04da1b5\u003c/code\u003e\u003c/a\u003e release version 3.1.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/f407712fdc60a09c2b3f4fe7db557703e5d9338d\"\u003e\u003ccode\u003ef407712\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/f54fe98026253e70fbbcd35a6b52fb67cfff1c03\"\u003e\u003ccode\u003ef54fe98\u003c/code\u003e\u003c/a\u003e safe_join prevents Windows special device names in multi-segment paths\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/d005985ef69ffe3275eda8fb6fb25e074dbe871b\"\u003e\u003ccode\u003ed005985\u003c/code\u003e\u003c/a\u003e start version 3.1.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/8565c2cbd6681ae8463e77d4fc0795324a7fdae7\"\u003e\u003ccode\u003e8565c2c\u003c/code\u003e\u003c/a\u003e document rule priority (\u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3102\"\u003e#3102\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/3febc7e90072bffe04c27e6b7478dfc4f88930df\"\u003e\u003ccode\u003e3febc7e\u003c/code\u003e\u003c/a\u003e document rule priority\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/2525b827646c10ab7adb334664e6a4af1b769181\"\u003e\u003ccode\u003e2525b82\u003c/code\u003e\u003c/a\u003e remove state mac...\n\n_Description has been truncated_","html_url":"https://github.com/Reality2byte/python-docs-samples/pull/139","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Reality2byte%2Fpython-docs-samples/issues/139","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/139/packages"},{"uuid":"4074968954","node_id":"PR_kwDOQm0A4M7Kj7Xj","number":124,"state":"closed","title":"Bump apache-airflow from 2.10.5 to 3.2.0b1 in /backend/fact-check","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-14T12:19:36.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-14T07:15:42.000Z","updated_at":"2026-03-14T12:19:45.000Z","time_to_close":18234,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"apache-airflow","old_version":"2.10.5","new_version":"3.2.0b1","repository_url":"https://github.com/apache/airflow"}],"path":"/backend/fact-check","ecosystem":"pip"},"body":"Bumps [apache-airflow](https://github.com/apache/airflow) from 2.10.5 to 3.2.0b1.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/airflow/releases\"\u003eapache-airflow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eApache Airflow 3.1.8\u003c/h2\u003e\n\u003cp\u003e:package: PyPI: \u003ca href=\"https://pypi.org/project/apache-airflow/3.1.8/\"\u003ehttps://pypi.org/project/apache-airflow/3.1.8/\u003c/a\u003e\n:books: Docs: \u003ca href=\"https://airflow.apache.org/docs/apache-airflow/3.1.8/\"\u003ehttps://airflow.apache.org/docs/apache-airflow/3.1.8/\u003c/a\u003e\n:hammer_and_wrench: Release Notes: \u003ca href=\"https://airflow.apache.org/docs/apache-airflow/3.1.8/release_notes.html\"\u003ehttps://airflow.apache.org/docs/apache-airflow/3.1.8/release_notes.html\u003c/a\u003e\n:whale: Docker Image: \u0026quot;docker pull apache/airflow:3.1.8\u0026quot;\n:busstop: Constraints: \u003ca href=\"https://github.com/apache/airflow/tree/constraints-3.1.8\"\u003ehttps://github.com/apache/airflow/tree/constraints-3.1.8\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eSignificant Changes\u003c/h2\u003e\n\u003ch3\u003eBackfill permissions are now handled via \u003ccode\u003eDagAccessEntity.Run\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61456\"\u003e#61456\u003c/a\u003e)\u003c/h3\u003e\n\u003cp\u003e\u003ccode\u003eis_authorized_backfill\u003c/code\u003e of the \u003ccode\u003eBaseAuthManager\u003c/code\u003e interface has been removed. Core will no longer call this method and their\nprovider counterpart implementation will be marked as deprecated.\nPermissions for backfill operations are now checked against the \u003ccode\u003eDagAccessEntity.Run\u003c/code\u003e permission using the existing\n\u003ccode\u003erequires_access_dag\u003c/code\u003e decorator. In other words, if a user has permission to run a DAG, they can perform backfill operations on it.\u003c/p\u003e\n\u003cp\u003ePlease update your security policies to ensure that users who need to perform backfill operations have the appropriate \u003ccode\u003eDagAccessEntity.Run\u003c/code\u003e permissions. (Users\nhaving the Backfill permissions without having the DagRun ones will no longer be able to perform backfill operations without any update)\u003c/p\u003e\n\u003ch3\u003eElasticsearch is now fully compatible with remote logging along (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62940\"\u003e#62940\u003c/a\u003e)\u003c/h3\u003e\n\u003cp\u003eElasticsearch is now fully compatible with remote logging along side with \u003ccode\u003eapache-airflow-providers-elasticsearch\u0026gt;=6.5.0\u003c/code\u003e. Please review elasticsearch provider release notes for more information \u003ca href=\"https://airflow.apache.org/docs/apache-airflow-providers-elasticsearch/6.5.0/changelog.html\"\u003ehttps://airflow.apache.org/docs/apache-airflow-providers-elasticsearch/6.5.0/changelog.html\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62121\"\u003e#62121\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62940\"\u003e#62940\u003c/a\u003e)\u003c/p\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix SQLite migration disable \u003ccode\u003edisable_sqlite_fkeys\u003c/code\u003e in revision \u003ccode\u003e509b94a1042d\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/63256\"\u003e#63256\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/63272\"\u003e#63272\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: 404 queued asset events from API server logs (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62934\"\u003e#62934\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62976\"\u003e#62976\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Always include kid in JWT header for symmetric key tokens (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62883\"\u003e#62883\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62943\"\u003e#62943\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Scope session token in cookie to base_url  (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62771\"\u003e#62771\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62851\"\u003e#62851\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: UI of Scope session token in cookie to base_url (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62771\"\u003e#62771\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62859\"\u003e#62859\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: UI tasks log missing in UP_FOR_RETRY and UP_FOR_RESCHEDULE states (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54547\"\u003e#54547\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62862\"\u003e#62862\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Backfill permissions (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62856\"\u003e#62856\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62873\"\u003e#62873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Use \u003ccode\u003euseAssetServiceGetDagAssetQueuedEvents\u003c/code\u003e to get the correct number of ADRQs (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62868\"\u003e#62868\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62902\"\u003e#62902\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Adds task instance validation for HITL (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62886\"\u003e#62886\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62909\"\u003e#62909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Restore task_instance_history sequence on downgrade (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62759\"\u003e#62759\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix broken \u003ccode\u003edag_processing.total_parse_time\u003c/code\u003e metric (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62128\"\u003e#62128\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62764\"\u003e#62764\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Trigger UI form rendering for null enum values (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62060\"\u003e#62060\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62767\"\u003e#62767\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003etimer.duration\u003c/code\u003e unit labels in logs (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61824\"\u003e#61824\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62757\"\u003e#62757\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix XCom migration failing for NaN/Infinity float values (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62686\"\u003e#62686\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62760\"\u003e#62760\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix SQL not rendered in Rendered Templates view (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60739\"\u003e#60739\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62348\"\u003e#62348\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix missing DAG read permission checks on dependencies endpoint (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62046\"\u003e#62046\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62586\"\u003e#62586\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003edag_bundle.signed_url_template\u003c/code\u003e from \u003ccode\u003evarchar(200)\u003c/code\u003e to \u003ccode\u003etext\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61041\"\u003e#61041\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62568\"\u003e#62568\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix WASB remote logging base path handling (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/58946\"\u003e#58946\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61013\"\u003e#61013\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62456\"\u003e#62456\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle non-dictionary json payload during logging to avoid internal server error. (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62355\"\u003e#62355\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62367\"\u003e#62367\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix grid view crash when task converted to TaskGroup (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61208\"\u003e#61208\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61279\"\u003e#61279\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62181\"\u003e#62181\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix running task duration showing as null in UI (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61898\"\u003e#61898\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62136\"\u003e#62136\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix deferrable sensors not respecting soft_fail on timeout (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61132\"\u003e#61132\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61421\"\u003e#61421\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix task failure details being obscured by finalization errors (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62070\"\u003e#62070\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62113\"\u003e#62113\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd missing ti.start and ti.finish metrics in Airflow 3 (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62019\"\u003e#62019\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62110\"\u003e#62110\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix DepContext mutation leak and restore reschedule-mode guard (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62089\"\u003e#62089\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix scheduler heartbeat misses caused by slow reschedule dependency check (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61983\"\u003e#61983\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62068\"\u003e#62068\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFlush in-memory OTEL metrics at process shutdown (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61808\"\u003e#61808\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61869\"\u003e#61869\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/apache/airflow/commit/7989f25ab78b7561102926b4867966271ef7e42a\"\u003e\u003ccode\u003e7989f25\u003c/code\u003e\u003c/a\u003e update release notes for 3.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/346f3329ec556755a14c0acf1d57cd172d4b3b6b\"\u003e\u003ccode\u003e346f332\u003c/code\u003e\u003c/a\u003e Add 3.2.0 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/6661a58f60e0f9f9b1fff1132b2bd257b146fede\"\u003e\u003ccode\u003e6661a58\u003c/code\u003e\u003c/a\u003e Update version to 3.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/0a82c312ed98ec38c23301a856154212dbbda8ef\"\u003e\u003ccode\u003e0a82c31\u003c/code\u003e\u003c/a\u003e updated versions in README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/21f5a375352e3b1e7295179ae97c7f7de5c99b7e\"\u003e\u003ccode\u003e21f5a37\u003c/code\u003e\u003c/a\u003e Pin Task-SDK for Airflow meta package\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/4c87c4cde01eae483d40f87ee9daa037426d00a7\"\u003e\u003ccode\u003e4c87c4c\u003c/code\u003e\u003c/a\u003e Update default branches for 3-2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/d42623e2b461fa362f2a5f7e6f2ca9a028d9e4b9\"\u003e\u003ccode\u003ed42623e\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eObjectStoragePath\u003c/code\u003e to exclude \u003ccode\u003econn_id\u003c/code\u003e from storage options passed to f...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/77c38f357c3ff7af50ceda862f837dab7a93f359\"\u003e\u003ccode\u003e77c38f3\u003c/code\u003e\u003c/a\u003e docs(asset-partition): add example Dag (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62491\"\u003e#62491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/05ea74a9429156400ca89ca913c5d838e568ef3a\"\u003e\u003ccode\u003e05ea74a\u003c/code\u003e\u003c/a\u003e Prepare provider's documentation 2026-03-03 (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62752\"\u003e#62752\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/1199dc5305ea1630b0e1f7681bdbc4daff28440b\"\u003e\u003ccode\u003e1199dc5\u003c/code\u003e\u003c/a\u003e Consolidate \u003ccode\u003eSkipMixin\u003c/code\u003e imports through \u003ccode\u003ecommon-compat\u003c/code\u003e layer (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62776\"\u003e#62776\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/airflow/compare/2.10.5...3.2.0b1\"\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=apache-airflow\u0026package-manager=pip\u0026previous-version=2.10.5\u0026new-version=3.2.0b1)](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)\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/Joluckyboy/FYP-Solution-Archi-TECH-Bias-News-Detection/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/Joluckyboy/FYP-Solution-Archi-TECH-Bias-News-Detection/pull/124","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Joluckyboy%2FFYP-Solution-Archi-TECH-Bias-News-Detection/issues/124","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/124/packages"},{"uuid":"4067138692","node_id":"PR_kwDOQE0kNc7KKdsI","number":164,"state":"open","title":"chore(deps): bump the pip group across 6 directories with 3 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-12T20:41:45.000Z","updated_at":"2026-03-12T20:43:44.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"pip","update_count":3,"packages":[{"name":"python-multipart","old_version":"0.0.9","new_version":"0.0.22","repository_url":"https://github.com/Kludex/python-multipart"},{"name":"black","old_version":"24.3.0","new_version":"26.3.1","repository_url":"https://github.com/psf/black"},{"name":"black","old_version":"24.3.0","new_version":"26.3.1","repository_url":"https://github.com/psf/black"},{"name":"black","old_version":"24.3.0","new_version":"26.3.1","repository_url":"https://github.com/psf/black"},{"name":"apache-airflow","old_version":"3.1.1","new_version":"3.2.0b1","repository_url":"https://github.com/apache/airflow"},{"name":"black","old_version":"24.4.2","new_version":"26.3.1","repository_url":"https://github.com/psf/black"},{"name":"black","old_version":"24.3.0","new_version":"26.3.1","repository_url":"https://github.com/psf/black"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pip group with 1 update in the /master-ia/Modulo 4 - Infraestructura y Cloud/Clase 8 - Proyecto Final directory: [python-multipart](https://github.com/Kludex/python-multipart).\nBumps the pip group with 1 update in the /modulo-02-sql/tema-2-sql-intermedio/04-proyecto-practico directory: [black](https://github.com/psf/black).\nBumps the pip group with 1 update in the /modulo-04-apis-scraping/tema-2-web-scraping/04-proyecto-practico directory: [black](https://github.com/psf/black).\nBumps the pip group with 2 updates in the /modulo-06-airflow/tema-2-intermedio/proyecto-practico directory: [black](https://github.com/psf/black) and [apache-airflow](https://github.com/apache/airflow).\nBumps the pip group with 1 update in the /modulo-07-cloud/tema-1-aws/04-proyecto-practico directory: [black](https://github.com/psf/black).\nBumps the pip group with 1 update in the /modulo-07-cloud/tema-2-gcp/04-proyecto-practico directory: [black](https://github.com/psf/black).\n\nUpdates `python-multipart` from 0.0.9 to 0.0.22\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kludex/python-multipart/releases\"\u003epython-multipart's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0.0.22\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop directory path from filename in \u003ccode\u003eFile\u003c/code\u003e \u003ca href=\"https://github.com/Kludex/python-multipart/commit/9433f4bbc9652bdde82bbe380984e32f8cfc89c4\"\u003e9433f4b\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/python-multipart/compare/0.0.21...0.0.22\"\u003ehttps://github.com/Kludex/python-multipart/compare/0.0.21...0.0.22\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.0.21\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14 and drop EOL 3.8 and 3.9 by \u003ca href=\"https://github.com/hugovk\"\u003e\u003ccode\u003e@​hugovk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/216\"\u003eKludex/python-multipart#216\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/waketzheng\"\u003e\u003ccode\u003e@​waketzheng\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/203\"\u003eKludex/python-multipart#203\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/python-multipart/compare/0.0.20...0.0.21\"\u003ehttps://github.com/Kludex/python-multipart/compare/0.0.20...0.0.21\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.0.20\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHandle messages containing only end boundary, fixes \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/38\"\u003e#38\u003c/a\u003e by \u003ca href=\"https://github.com/jhnstrk\"\u003e\u003ccode\u003e@​jhnstrk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/142\"\u003eKludex/python-multipart#142\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/Mr-Sunglasses\"\u003e\u003ccode\u003e@​Mr-Sunglasses\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/185\"\u003eKludex/python-multipart#185\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/python-multipart/compare/0.0.19...0.0.20\"\u003ehttps://github.com/Kludex/python-multipart/compare/0.0.19...0.0.20\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.0.19\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDon't warn when CRLF is found after last boundary by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/193\"\u003eKludex/python-multipart#193\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/python-multipart/compare/0.0.18...0.0.19\"\u003ehttps://github.com/Kludex/python-multipart/compare/0.0.18...0.0.19\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.0.18\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHard break if found data after last boundary on \u003ccode\u003eMultipartParser\u003c/code\u003e by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/189\"\u003eKludex/python-multipart#189\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/python-multipart/compare/0.0.17...0.0.18\"\u003ehttps://github.com/Kludex/python-multipart/compare/0.0.17...0.0.18\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.0.17\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHandle PermissionError in fallback code for old import name by \u003ca href=\"https://github.com/defnull\"\u003e\u003ccode\u003e@​defnull\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/182\"\u003eKludex/python-multipart#182\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kludex/python-multipart/blob/master/CHANGELOG.md\"\u003epython-multipart's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.22 (2026-01-25)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop directory path from filename in \u003ccode\u003eFile\u003c/code\u003e \u003ca href=\"https://github.com/Kludex/python-multipart/commit/9433f4bbc9652bdde82bbe380984e32f8cfc89c4\"\u003e9433f4b\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.21 (2025-12-17)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14 and drop EOL 3.8 and 3.9 \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/216\"\u003e#216\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.20 (2024-12-16)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHandle messages containing only end boundary \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/142\"\u003e#142\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.19 (2024-11-30)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDon't warn when CRLF is found after last boundary on \u003ccode\u003eMultipartParser\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/193\"\u003e#193\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.18 (2024-11-28)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHard break if found data after last boundary on \u003ccode\u003eMultipartParser\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/189\"\u003e#189\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.17 (2024-10-31)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHandle PermissionError in fallback code for old import name \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/182\"\u003e#182\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.16 (2024-10-27)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd dunder attributes to \u003ccode\u003emultipart\u003c/code\u003e package \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/177\"\u003e#177\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.15 (2024-10-27)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReplace \u003ccode\u003eFutureWarning\u003c/code\u003e to \u003ccode\u003ePendingDeprecationWarning\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/174\"\u003e#174\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdd missing files to SDist \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/171\"\u003e#171\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.14 (2024-10-24)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix import scheme for \u003ccode\u003emultipart\u003c/code\u003e module (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/168\"\u003e#168\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.13 (2024-10-20)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRename import to \u003ccode\u003epython_multipart\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/166\"\u003e#166\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.12 (2024-09-29)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImprove error message when boundary character does not match \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/124\"\u003e#124\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdd mypy strict typing \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/140\"\u003e#140\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eEnforce 100% coverage \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/159\"\u003e#159\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.11 (2024-09-28)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImprove performance, especially in data with many CR-LF \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/137\"\u003e#137\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/Kludex/python-multipart/commit/bea7bbb2904da8ce39123a845088dc72464eaddf\"\u003e\u003ccode\u003ebea7bbb\u003c/code\u003e\u003c/a\u003e Version 0.0.22 (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/222\"\u003e#222\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/0fb59a9df0f273bfde99740b302ccb2ae45e2b8a\"\u003e\u003ccode\u003e0fb59a9\u003c/code\u003e\u003c/a\u003e chore: add return type on test (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/221\"\u003e#221\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/9433f4bbc9652bdde82bbe380984e32f8cfc89c4\"\u003e\u003ccode\u003e9433f4b\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/d5c91ecb0aa1cae03fe2d9811d193c952e714f17\"\u003e\u003ccode\u003ed5c91ec\u003c/code\u003e\u003c/a\u003e Bump the github-actions group with 2 updates (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/219\"\u003e#219\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/5a90631b484f8d3284b691d453c24be3db57f5cb\"\u003e\u003ccode\u003e5a90631\u003c/code\u003e\u003c/a\u003e bump uv (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/218\"\u003e#218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/1f72955602445706b5517a6f58a720796ad3d96a\"\u003e\u003ccode\u003e1f72955\u003c/code\u003e\u003c/a\u003e Version 0.0.21 (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/217\"\u003e#217\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/47ecfed3533ed8dcafd800508dbf594438fd0949\"\u003e\u003ccode\u003e47ecfed\u003c/code\u003e\u003c/a\u003e Add support for Python 3.14 and drop EOL 3.8 and 3.9 (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/216\"\u003e#216\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/f18b70941b727c947f7e6b17e1c3321f5ad3afb6\"\u003e\u003ccode\u003ef18b709\u003c/code\u003e\u003c/a\u003e Bump the github-actions group across 1 directory with 4 updates (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/214\"\u003e#214\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/b388e9a7a82605cc8613798926afe8f6074cb372\"\u003e\u003ccode\u003eb388e9a\u003c/code\u003e\u003c/a\u003e chore: use depedency-groups in \u003ccode\u003epyproject.toml\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/212\"\u003e#212\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/6113e750971918a51f79c3bb2585e95ed1c53245\"\u003e\u003ccode\u003e6113e75\u003c/code\u003e\u003c/a\u003e Bump the github-actions group across 1 directory with 3 updates (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/210\"\u003e#210\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kludex/python-multipart/compare/0.0.9...0.0.22\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `black` from 24.3.0 to 26.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/black/releases\"\u003eblack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.3.1\u003c/h2\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent Jupyter notebook magic masking collisions from corrupting cells by using\nexact-length placeholders for short magics and aborting if a placeholder can no longer\nbe unmasked safely (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eConfiguration\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAlways hash cache filename components derived from \u003ccode\u003e--python-cell-magics\u003c/code\u003e so custom\nmagic names cannot affect cache paths (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003cem\u003eBlackd\u003c/em\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDisable browser-originated requests by default, add configurable origin allowlisting\nand request body limits, and bound executor submissions to improve backpressure\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/5039\"\u003e#5039\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e26.3.0\u003c/h2\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't double-decode input, causing non-UTF-8 files to be corrupted (\u003ca href=\"https://redirect.github.com/psf/black/issues/4964\"\u003e#4964\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on standalone comment in lambda default arguments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4993\"\u003e#4993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve parentheses when \u003ccode\u003e# type: ignore\u003c/code\u003e comments would be merged with other\ncomments on the same line, preventing AST equivalence failures (\u003ca href=\"https://redirect.github.com/psf/black/issues/4888\"\u003e#4888\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix bug where \u003ccode\u003eif\u003c/code\u003e guards in \u003ccode\u003ecase\u003c/code\u003e blocks were incorrectly split when the pattern had\na trailing comma (\u003ca href=\"https://redirect.github.com/psf/black/issues/4884\"\u003e#4884\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003estring_processing\u003c/code\u003e crashing on unassigned long string literals with trailing\ncommas (one-item tuples) (\u003ca href=\"https://redirect.github.com/psf/black/issues/4929\"\u003e#4929\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplify implementation of the power operator \u0026quot;hugging\u0026quot; logic (\u003ca href=\"https://redirect.github.com/psf/black/issues/4918\"\u003e#4918\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePackaging\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix shutdown errors in PyInstaller builds on macOS by disabling multiprocessing in\nfrozen environments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4930\"\u003e#4930\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce winloop for windows as an alternative to uvloop (\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove deprecated function \u003ccode\u003euvloop.install()\u003c/code\u003e in favor of \u003ccode\u003euvloop.new_event_loop()\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRename \u003ccode\u003emaybe_install_uvloop\u003c/code\u003e function to \u003ccode\u003emaybe_use_uvloop\u003c/code\u003e to simplify loop\ninstallation and creation of either a uvloop/winloop evenloop or default eventloop\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOutput\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/black/blob/main/CHANGES.md\"\u003eblack's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.3.1\u003c/h2\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent Jupyter notebook magic masking collisions from corrupting cells by using\nexact-length placeholders for short magics and aborting if a placeholder can no longer\nbe unmasked safely (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eConfiguration\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAlways hash cache filename components derived from \u003ccode\u003e--python-cell-magics\u003c/code\u003e so custom\nmagic names cannot affect cache paths (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003cem\u003eBlackd\u003c/em\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDisable browser-originated requests by default, add configurable origin allowlisting\nand request body limits, and bound executor submissions to improve backpressure\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/5039\"\u003e#5039\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e26.3.0\u003c/h2\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't double-decode input, causing non-UTF-8 files to be corrupted (\u003ca href=\"https://redirect.github.com/psf/black/issues/4964\"\u003e#4964\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on standalone comment in lambda default arguments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4993\"\u003e#4993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve parentheses when \u003ccode\u003e# type: ignore\u003c/code\u003e comments would be merged with other\ncomments on the same line, preventing AST equivalence failures (\u003ca href=\"https://redirect.github.com/psf/black/issues/4888\"\u003e#4888\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix bug where \u003ccode\u003eif\u003c/code\u003e guards in \u003ccode\u003ecase\u003c/code\u003e blocks were incorrectly split when the pattern had\na trailing comma (\u003ca href=\"https://redirect.github.com/psf/black/issues/4884\"\u003e#4884\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003estring_processing\u003c/code\u003e crashing on unassigned long string literals with trailing\ncommas (one-item tuples) (\u003ca href=\"https://redirect.github.com/psf/black/issues/4929\"\u003e#4929\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplify implementation of the power operator \u0026quot;hugging\u0026quot; logic (\u003ca href=\"https://redirect.github.com/psf/black/issues/4918\"\u003e#4918\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePackaging\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix shutdown errors in PyInstaller builds on macOS by disabling multiprocessing in\nfrozen environments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4930\"\u003e#4930\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce winloop for windows as an alternative to uvloop (\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove deprecated function \u003ccode\u003euvloop.install()\u003c/code\u003e in favor of \u003ccode\u003euvloop.new_event_loop()\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRename \u003ccode\u003emaybe_install_uvloop\u003c/code\u003e function to \u003ccode\u003emaybe_use_uvloop\u003c/code\u003e to simplify loop\ninstallation and creation of either a uvloop/winloop evenloop or default eventloop\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/c6755bb741b6481d6b3d3bb563c83fa060db96c9\"\u003e\u003ccode\u003ec6755bb\u003c/code\u003e\u003c/a\u003e Prepare release 26.3.1 (\u003ca href=\"https://redirect.github.com/psf/black/issues/5046\"\u003e#5046\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/69973fd6950985fbeb1090d96da717dc4d8380b0\"\u003e\u003ccode\u003e69973fd\u003c/code\u003e\u003c/a\u003e Harden blackd browser-facing request handling (\u003ca href=\"https://redirect.github.com/psf/black/issues/5039\"\u003e#5039\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/4937fe6cf241139ddbfc16b0bdbb5b422798909d\"\u003e\u003ccode\u003e4937fe6\u003c/code\u003e\u003c/a\u003e Fix some shenanigans with the cache file and IPython (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/2e641d174469c505d5ae905e75d4c769597e681f\"\u003e\u003ccode\u003e2e641d1\u003c/code\u003e\u003c/a\u003e docs: remove outdated Black Playground references (\u003ca href=\"https://redirect.github.com/psf/black/issues/5044\"\u003e#5044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/c014b22a2d5e0632587b47b81151658bddfa0b88\"\u003e\u003ccode\u003ec014b22\u003c/code\u003e\u003c/a\u003e Remove unused internal code (\u003ca href=\"https://redirect.github.com/psf/black/issues/5041\"\u003e#5041\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/0dae20b2d009f2f03de8696d06b0c947d3abafc9\"\u003e\u003ccode\u003e0dae20b\u003c/code\u003e\u003c/a\u003e Add new changelog (\u003ca href=\"https://redirect.github.com/psf/black/issues/5036\"\u003e#5036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/c5c1cbddd92cecb554ac2a77a24139dd76831030\"\u003e\u003ccode\u003ec5c1cbd\u003c/code\u003e\u003c/a\u003e Minor release patches (\u003ca href=\"https://redirect.github.com/psf/black/issues/5035\"\u003e#5035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/7e5a828c37d71b6a6666e28eed444816def6a8f4\"\u003e\u003ccode\u003e7e5a828\u003c/code\u003e\u003c/a\u003e docs: clarify relationship between Black style and PEP 8 (\u003ca href=\"https://redirect.github.com/psf/black/issues/5025\"\u003e#5025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/69705deb8776e7c5e585668da106d1abe2cb8d77\"\u003e\u003ccode\u003e69705de\u003c/code\u003e\u003c/a\u003e docs: add clearer pyproject configuration guidance (\u003ca href=\"https://redirect.github.com/psf/black/issues/5026\"\u003e#5026\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/35ea67920b7f6ac8e09be1c47278752b1e827f76\"\u003e\u003ccode\u003e35ea679\u003c/code\u003e\u003c/a\u003e Prepare release 26.3.0 (\u003ca href=\"https://redirect.github.com/psf/black/issues/5032\"\u003e#5032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/black/compare/24.3.0...26.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `black` from 24.3.0 to 26.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/black/releases\"\u003eblack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.3.1\u003c/h2\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent Jupyter notebook magic masking collisions from corrupting cells by using\nexact-length placeholders for short magics and aborting if a placeholder can no longer\nbe unmasked safely (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eConfiguration\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAlways hash cache filename components derived from \u003ccode\u003e--python-cell-magics\u003c/code\u003e so custom\nmagic names cannot affect cache paths (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003cem\u003eBlackd\u003c/em\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDisable browser-originated requests by default, add configurable origin allowlisting\nand request body limits, and bound executor submissions to improve backpressure\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/5039\"\u003e#5039\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e26.3.0\u003c/h2\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't double-decode input, causing non-UTF-8 files to be corrupted (\u003ca href=\"https://redirect.github.com/psf/black/issues/4964\"\u003e#4964\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on standalone comment in lambda default arguments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4993\"\u003e#4993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve parentheses when \u003ccode\u003e# type: ignore\u003c/code\u003e comments would be merged with other\ncomments on the same line, preventing AST equivalence failures (\u003ca href=\"https://redirect.github.com/psf/black/issues/4888\"\u003e#4888\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix bug where \u003ccode\u003eif\u003c/code\u003e guards in \u003ccode\u003ecase\u003c/code\u003e blocks were incorrectly split when the pattern had\na trailing comma (\u003ca href=\"https://redirect.github.com/psf/black/issues/4884\"\u003e#4884\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003estring_processing\u003c/code\u003e crashing on unassigned long string literals with trailing\ncommas (one-item tuples) (\u003ca href=\"https://redirect.github.com/psf/black/issues/4929\"\u003e#4929\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplify implementation of the power operator \u0026quot;hugging\u0026quot; logic (\u003ca href=\"https://redirect.github.com/psf/black/issues/4918\"\u003e#4918\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePackaging\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix shutdown errors in PyInstaller builds on macOS by disabling multiprocessing in\nfrozen environments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4930\"\u003e#4930\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce winloop for windows as an alternative to uvloop (\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove deprecated function \u003ccode\u003euvloop.install()\u003c/code\u003e in favor of \u003ccode\u003euvloop.new_event_loop()\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRename \u003ccode\u003emaybe_install_uvloop\u003c/code\u003e function to \u003ccode\u003emaybe_use_uvloop\u003c/code\u003e to simplify loop\ninstallation and creation of either a uvloop/winloop evenloop or default eventloop\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOutput\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/black/blob/main/CHANGES.md\"\u003eblack's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.3.1\u003c/h2\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent Jupyter notebook magic masking collisions from corrupting cells by using\nexact-length placeholders for short magics and aborting if a placeholder can no longer\nbe unmasked safely (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eConfiguration\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAlways hash cache filename components derived from \u003ccode\u003e--python-cell-magics\u003c/code\u003e so custom\nmagic names cannot affect cache paths (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003cem\u003eBlackd\u003c/em\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDisable browser-originated requests by default, add configurable origin allowlisting\nand request body limits, and bound executor submissions to improve backpressure\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/5039\"\u003e#5039\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e26.3.0\u003c/h2\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't double-decode input, causing non-UTF-8 files to be corrupted (\u003ca href=\"https://redirect.github.com/psf/black/issues/4964\"\u003e#4964\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on standalone comment in lambda default arguments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4993\"\u003e#4993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve parentheses when \u003ccode\u003e# type: ignore\u003c/code\u003e comments would be merged with other\ncomments on the same line, preventing AST equivalence failures (\u003ca href=\"https://redirect.github.com/psf/black/issues/4888\"\u003e#4888\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix bug where \u003ccode\u003eif\u003c/code\u003e guards in \u003ccode\u003ecase\u003c/code\u003e blocks were incorrectly split when the pattern had\na trailing comma (\u003ca href=\"https://redirect.github.com/psf/black/issues/4884\"\u003e#4884\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003estring_processing\u003c/code\u003e crashing on unassigned long string literals with trailing\ncommas (one-item tuples) (\u003ca href=\"https://redirect.github.com/psf/black/issues/4929\"\u003e#4929\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplify implementation of the power operator \u0026quot;hugging\u0026quot; logic (\u003ca href=\"https://redirect.github.com/psf/black/issues/4918\"\u003e#4918\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePackaging\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix shutdown errors in PyInstaller builds on macOS by disabling multiprocessing in\nfrozen environments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4930\"\u003e#4930\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce winloop for windows as an alternative to uvloop (\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove deprecated function \u003ccode\u003euvloop.install()\u003c/code\u003e in favor of \u003ccode\u003euvloop.new_event_loop()\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRename \u003ccode\u003emaybe_install_uvloop\u003c/code\u003e function to \u003ccode\u003emaybe_use_uvloop\u003c/code\u003e to simplify loop\ninstallation and creation of either a uvloop/winloop evenloop or default eventloop\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/c6755bb741b6481d6b3d3bb563c83fa060db96c9\"\u003e\u003ccode\u003ec6755bb\u003c/code\u003e\u003c/a\u003e Prepare release 26.3.1 (\u003ca href=\"https://redirect.github.com/psf/black/issues/5046\"\u003e#5046\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/69973fd6950985fbeb1090d96da717dc4d8380b0\"\u003e\u003ccode\u003e69973fd\u003c/code\u003e\u003c/a\u003e Harden blackd browser-facing request handling (\u003ca href=\"https://redirect.github.com/psf/black/issues/5039\"\u003e#5039\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/4937fe6cf241139ddbfc16b0bdbb5b422798909d\"\u003e\u003ccode\u003e4937fe6\u003c/code\u003e\u003c/a\u003e Fix some shenanigans with the cache file and IPython (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/2e641d174469c505d5ae905e75d4c769597e681f\"\u003e\u003ccode\u003e2e641d1\u003c/code\u003e\u003c/a\u003e docs: remove outdated Black Playground references (\u003ca href=\"https://redirect.github.com/psf/black/issues/5044\"\u003e#5044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/c014b22a2d5e0632587b47b81151658bddfa0b88\"\u003e\u003ccode\u003ec014b22\u003c/code\u003e\u003c/a\u003e Remove unused internal code (\u003ca href=\"https://redirect.github.com/psf/black/issues/5041\"\u003e#5041\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/0dae20b2d009f2f03de8696d06b0c947d3abafc9\"\u003e\u003ccode\u003e0dae20b\u003c/code\u003e\u003c/a\u003e Add new changelog (\u003ca href=\"https://redirect.github.com/psf/black/issues/5036\"\u003e#5036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/c5c1cbddd92cecb554ac2a77a24139dd76831030\"\u003e\u003ccode\u003ec5c1cbd\u003c/code\u003e\u003c/a\u003e Minor release patches (\u003ca href=\"https://redirect.github.com/psf/black/issues/5035\"\u003e#5035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/7e5a828c37d71b6a6666e28eed444816def6a8f4\"\u003e\u003ccode\u003e7e5a828\u003c/code\u003e\u003c/a\u003e docs: clarify relationship between Black style and PEP 8 (\u003ca href=\"https://redirect.github.com/psf/black/issues/5025\"\u003e#5025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/69705deb8776e7c5e585668da106d1abe2cb8d77\"\u003e\u003ccode\u003e69705de\u003c/code\u003e\u003c/a\u003e docs: add clearer pyproject configuration guidance (\u003ca href=\"https://redirect.github.com/psf/black/issues/5026\"\u003e#5026\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/35ea67920b7f6ac8e09be1c47278752b1e827f76\"\u003e\u003ccode\u003e35ea679\u003c/code\u003e\u003c/a\u003e Prepare release 26.3.0 (\u003ca href=\"https://redirect.github.com/psf/black/issues/5032\"\u003e#5032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/black/compare/24.3.0...26.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `black` from 24.3.0 to 26.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/black/releases\"\u003eblack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.3.1\u003c/h2\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent Jupyter notebook magic masking collisions from corrupting cells by using\nexact-length placeholders for short magics and aborting if a placeholder can no longer\nbe unmasked safely (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eConfiguration\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAlways hash cache filename components derived from \u003ccode\u003e--python-cell-magics\u003c/code\u003e so custom\nmagic names cannot affect cache paths (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003cem\u003eBlackd\u003c/em\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDisable browser-originated requests by default, add configurable origin allowlisting\nand request body limits, and bound executor submissions to improve backpressure\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/5039\"\u003e#5039\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e26.3.0\u003c/h2\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't double-decode input, causing non-UTF-8 files to be corrupted (\u003ca href=\"https://redirect.github.com/psf/black/issues/4964\"\u003e#4964\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on standalone comment in lambda default arguments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4993\"\u003e#4993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve parentheses when \u003ccode\u003e# type: ignore\u003c/code\u003e comments would be merged with other\ncomments on the same line, preventing AST equivalence failures (\u003ca href=\"https://redirect.github.com/psf/black/issues/4888\"\u003e#4888\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix bug where \u003ccode\u003eif\u003c/code\u003e guards in \u003ccode\u003ecase\u003c/code\u003e blocks were incorrectly split when the pattern had\na trailing comma (\u003ca href=\"https://redirect.github.com/psf/black/issues/4884\"\u003e#4884\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003estring_processing\u003c/code\u003e crashing on unassigned long string literals with trailing\ncommas (one-item tuples) (\u003ca href=\"https://redirect.github.com/psf/black/issues/4929\"\u003e#4929\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplify implementation of the power operator \u0026quot;hugging\u0026quot; logic (\u003ca href=\"https://redirect.github.com/psf/black/issues/4918\"\u003e#4918\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePackaging\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix shutdown errors in PyInstaller builds on macOS by disabling multiprocessing in\nfrozen environments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4930\"\u003e#4930\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce winloop for windows as an alternative to uvloop (\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove deprecated function \u003ccode\u003euvloop.install()\u003c/code\u003e in favor of \u003ccode\u003euvloop.new_event_loop()\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRename \u003ccode\u003emaybe_install_uvloop\u003c/code\u003e function to \u003ccode\u003emaybe_use_uvloop\u003c/code\u003e to simplify loop\ninstallation and creation of either a uvloop/winloop evenloop or default eventloop\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOutput\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/black/blob/main/CHANGES.md\"\u003eblack's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.3.1\u003c/h2\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent Jupyter notebook magic masking collisions from corrupting cells by using\nexact-length placeholders for short magics and aborting if a placeholder can no longer\nbe unmasked safely (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eConfiguration\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAlways hash cache filename components derived from \u003ccode\u003e--python-cell-magics\u003c/code\u003e so custom\nmagic names cannot affect cache paths (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003cem\u003eBlackd\u003c/em\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDisable browser-originated requests by default, add configurable origin allowlisting\nand request body limits, and bound executor submissions to improve backpressure\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/5039\"\u003e#5039\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e26.3.0\u003c/h2\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't double-decode input, causing non-UTF-8 files to be corrupted (\u003ca href=\"https://redirect.github.com/psf/black/issues/4964\"\u003e#4964\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on standalone comment in lambda default arguments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4993\"\u003e#4993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve parentheses when \u003ccode\u003e# type: ignore\u003c/code\u003e comments would be merged with other\ncomments on the same line, preventing AST equivalence failures (\u003ca href=\"https://redirect.github.com/psf/black/issues/4888\"\u003e#4888\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix bug where \u003ccode\u003eif\u003c/code\u003e guards in \u003ccode\u003ecase\u003c/code\u003e blocks were incorrectly split when the pattern had\na trailing comma (\u003ca href=\"https://redirect.github.com/psf/black/issues/4884\"\u003e#4884\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003estring_processing\u003c/code\u003e crashing on unassigned long string literals with trailing\ncommas (one-item tuples) (\u003ca href=\"https://redirect.github.com/psf/black/issues/4929\"\u003e#4929\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplify implementation of the power operator \u0026quot;hugging\u0026quot; logic (\u003ca href=\"https://redirect.github.com/psf/black/issues/4918\"\u003e#4918\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePackaging\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix shutdown errors in PyInstaller builds on macOS by disabling multiprocessing in\nfrozen environments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4930\"\u003e#4930\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce winloop for windows as an alternative to uvloop (\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove deprecated function \u003ccode\u003euvloop.install()\u003c/code\u003e in favor of \u003ccode\u003euvloop.new_event_loop()\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRename \u003ccode\u003emaybe_install_uvloop\u003c/code\u003e function to \u003ccode\u003emaybe_use_uvloop\u003c/code\u003e to simplify loop\ninstallation and creation of either a uvloop/winloop evenloop or default eventloop\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/c6755bb741b6481d6b3d3bb563c83fa060db96c9\"\u003e\u003ccode\u003ec6755bb\u003c/code\u003e\u003c/a\u003e Prepare release 26.3.1 (\u003ca href=\"https://redirect.github.com/psf/black/issues/5046\"\u003e#5046\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/69973fd6950985fbeb1090d96da717dc4d8380b0\"\u003e\u003ccode\u003e69973fd\u003c/code\u003e\u003c/a\u003e Harden blackd browser-facing request handling (\u003ca href=\"https://redirect.github.com/psf/black/issues/5039\"\u003e#5039\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/4937fe6cf241139ddbfc16b0bdbb5b422798909d\"\u003e\u003ccode\u003e4937fe6\u003c/code\u003e\u003c/a\u003e Fix some shenanigans with the cache file and IPython (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/2e641d174469c505d5ae905e75d4c769597e681f\"\u003e\u003ccode\u003e2e641d1\u003c/code\u003e\u003c/a\u003e docs: remove outdated Black Playground references (\u003ca href=\"https://redirect.github.com/psf/black/issues/5044\"\u003e#5044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/c014b22a2d5e0632587b47b81151658bddfa0b88\"\u003e\u003ccode\u003ec014b22\u003c/code\u003e\u003c/a\u003e Remove unused internal code (\u003ca href=\"https://redirect.github.com/psf/black/issues/5041\"\u003e#5041\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/0dae20b2d009f2f03de8696d06b0c947d3abafc9\"\u003e\u003ccode\u003e0dae20b\u003c/code\u003e\u003c/a\u003e Add new changelog (\u003ca href=\"https://redirect.github.com/psf/black/issues/5036\"\u003e#5036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/c5c1cbddd92cecb554ac2a77a24139dd76831030\"\u003e\u003ccode\u003ec5c1cbd\u003c/code\u003e\u003c/a\u003e Minor release patches (\u003ca href=\"https://redirect.github.com/psf/black/issues/5035\"\u003e#5035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/7e5a828c37d71b6a6666e28eed444816def6a8f4\"\u003e\u003ccode\u003e7e5a828\u003c/code\u003e\u003c/a\u003e docs: clarify relationship between Black style and PEP 8 (\u003ca href=\"https://redirect.github.com/psf/black/issues/5025\"\u003e#5025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/69705deb8776e7c5e585668da106d1abe2cb8d77\"\u003e\u003ccode\u003e69705de\u003c/code\u003e\u003c/a\u003e docs: add clearer pyproject configuration guidance (\u003ca href=\"https://redirect.github.com/psf/black/issues/5026\"\u003e#5026\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/35ea67920b7f6ac8e09be1c47278752b1e827f76\"\u003e\u003ccode\u003e35ea679\u003c/code\u003e\u003c/a\u003e Prepare release 26.3.0 (\u003ca href=\"https://redirect.github.com/psf/black/issues/5032\"\u003e#5032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/black/compare/24.3.0...26.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `apache-airflow` from 3.1.1 to 3.2.0b1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/airflow/releases\"\u003eapache-airflow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eApache Airflow 3.1.8\u003c/h2\u003e\n\u003cp\u003e:package: PyPI: \u003ca href=\"https://pypi.org/project/apache-airflow/3.1.8/\"\u003ehttps://pypi.org/project/apache-airflow/3.1.8/\u003c/a\u003e\n:books: Docs: \u003ca href=\"https://airflow.apache.org/docs/apache-airflow/3.1.8/\"\u003ehttps://airflow.apache.org/docs/apache-airflow/3.1.8/\u003c/a\u003e\n:hammer_and_wrench: Release Notes: \u003ca href=\"https://airflow.apache.org/docs/apache-airflow/3.1.8/release_notes.html\"\u003ehttps://airflow.apache.org/docs/apache-airflow/3.1.8/release_notes.html\u003c/a\u003e\n:whale: Docker Image: \u0026quot;docker pull apache/airflow:3.1.8\u0026quot;\n:busstop: Constraints: \u003ca href=\"https://github.com/apache/airflow/tree/constraints-3.1.8\"\u003ehttps://github.com/apache/airflow/tree/constraints-3.1.8\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eSignificant Changes\u003c/h2\u003e\n\u003ch3\u003eBackfill permissions are now handled via \u003ccode\u003eDagAccessEntity.Run\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61456\"\u003e#61456\u003c/a\u003e)\u003c/h3\u003e\n\u003cp\u003e\u003ccode\u003eis_authorized_backfill\u003c/code\u003e of the \u003ccode\u003eBaseAuthManager\u003c/code\u003e interface has been removed. Core will no longer call this method and their\nprovider counterpart implementation will be marked as deprecated.\nPermissions for backfill operations are now checked against the \u003ccode\u003eDagAccessEntity.Run\u003c/code\u003e permission using the existing\n\u003ccode\u003erequires_access_dag\u003c/code\u003e decorator. In other words, if a user has permission to run a DAG, they can perform backfill operations on it.\u003c/p\u003e\n\u003cp\u003ePlease update your security policies to ensure that users who need to perform backfill operations have the appropriate \u003ccode\u003eDagAccessEntity.Run\u003c/code\u003e permissions. (Users\nhaving the Backfill permissions without having the DagRun ones will no longer be able to perform backfill operations without any update)\u003c/p\u003e\n\u003ch3\u003eElasticsearch is now fully compatible with remote logging along (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62940\"\u003e#62940\u003c/a\u003e)\u003c/h3\u003e\n\u003cp\u003eElasticsearch is now fully compatible with remote logging along side with \u003ccode\u003eapache-airflow-providers-elasticsearch\u0026gt;=6.5.0\u003c/code\u003e. Please review elasticsearch provider release notes for more information \u003ca href=\"https://airflow.apache.org/docs/apache-airflow-providers-elasticsearch/6.5.0/changelog.html\"\u003ehttps://airflow.apache.org/docs/apache-airflow-providers-elasticsearch/6.5.0/changelog.html\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62121\"\u003e#62121\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62940\"\u003e#62940\u003c/a\u003e)\u003c/p\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix SQLite migration disable \u003ccode\u003edisable_sqlite_fkeys\u003c/code\u003e in revision \u003ccode\u003e509b94a1042d\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/63256\"\u003e#63256\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/63272\"\u003e#63272\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: 404 queued asset events from API server logs (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62934\"\u003e#62934\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62976\"\u003e#62976\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Always include kid in JWT header for symmetric key tokens (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62883\"\u003e#62883\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62943\"\u003e#62943\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Scope session token in cookie to base_url  (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62771\"\u003e#62771\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62851\"\u003e#62851\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: UI of Scope session token in cookie to base_url (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62771\"\u003e#62771\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62859\"\u003e#62859\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: UI tasks log missing in UP_FOR_RETRY and UP_FOR_RESCHEDULE states (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54547\"\u003e#54547\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62862\"\u003e#62862\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Backfill permissions (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62856\"\u003e#62856\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62873\"\u003e#62873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Use \u003ccode\u003euseAssetServiceGetDagAssetQueuedEvents\u003c/code\u003e to get the correct number of ADRQs (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62868\"\u003e#62868\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62902\"\u003e#62902\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Adds task instance validation for HITL (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62886\"\u003e#62886\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62909\"\u003e#62909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Restore task_instance_history sequence on downgrade (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62759\"\u003e#62759\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix broken \u003ccode\u003edag_processing.total_parse_time\u003c/code\u003e metric (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62128\"\u003e#62128\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62764\"\u003e#62764\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Trigger UI form rendering for null enum values (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62060\"\u003e#62060\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62767\"\u003e#62767\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003etimer.duration\u003c/code\u003e unit labels in logs (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61824\"\u003e#61824\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62757\"\u003e#62757\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix XCom migration failing for NaN/Infinity float values (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62686\"\u003e#62686\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62760\"\u003e#62760\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix SQL not rendered in Rendered Templates view (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60739\"\u003e#60739\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62348\"\u003e#62348\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix missing DAG read permission checks on dependencies endpoint (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62046\"\u003e#62046\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62586\"\u003e#62586\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003edag_bundle.signed_url_template\u003c/code\u003e from \u003ccode\u003evarchar(200)\u003c/code\u003e to \u003ccode\u003etext\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61041\"\u003e#61041\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62568\"\u003e#62568\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix WASB remote logging base path handling (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/58946\"\u003e#58946\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61013\"\u003e#61013\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62456\"\u003e#62456\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle non-dictionary json payload during logging to avoid internal server error. (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62355\"\u003e#62355\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62367\"\u003e#62367\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix grid view crash when task converted to TaskGroup (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61208\"\u003e#61208\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61279\"\u003e#61279\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62181\"\u003e#62181\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix running task duration showing as null in UI (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61898\"\u003e#61898\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62136\"\u003e#62136\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix deferrable sensors not respecting soft_fail on timeout (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61132\"\u003e#61132\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61421\"\u003e#61421\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix task failure details being obscured by finalization errors (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62070\"\u003e#62070\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62113\"\u003e#62113\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd missing ti.start and ti.finish metrics in Airflow 3 (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62019\"\u003e#62019\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62110\"\u003e#62110\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix DepContext mutation leak and restore reschedule-mode guard (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62089\"\u003e#62089\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix scheduler heartbeat misses caused by slow reschedule dependency check (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61983\"\u003e#61983\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62068\"\u003e#62068\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFlush in-memory OTEL metrics at process shutdown (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61808\"\u003e#61808\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61869\"\u003e#61869\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/apache/airflow/commit/7989f25ab78b7561102926b4867966271ef7e42a\"\u003e\u003ccode\u003e7989f25\u003c/code\u003e\u003c/a\u003e update release notes for 3.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/346f3329ec556755a14c0acf1d57cd172d4b3b6b\"\u003e\u003ccode\u003e346f332\u003c/code\u003e\u003c/a\u003e Add 3.2.0 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/6661a58f60e0f9f9b1fff1132b2bd257b146fede\"\u003e\u003ccode\u003e6661a58\u003c/code\u003e\u003c/a\u003e Update version to 3.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/0a82c312ed98ec38c23301a856154212dbbda8ef\"\u003e\u003ccode\u003e0a82c31\u003c/code\u003e\u003c/a\u003e updated versions in README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/21f5a375352e3b1e7295179ae97c7f7de5c99b7e\"\u003e\u003ccode\u003e21f5a37\u003c/code\u003e\u003c/a\u003e Pin Task-SDK for Airflow meta package\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/4c87c4cde01eae483d40f87ee9daa037426d00a7\"\u003e\u003ccode\u003e4c87c4c\u003c/code\u003e\u003c/a\u003e Update default branches for 3-2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/d42623e2b461fa362f2a5f7e6f2ca9a028d9e4b9\"\u003e\u003ccode\u003ed42623e\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eObjectStoragePath\u003c/code\u003e to exclude \u003ccode\u003econn_id\u003c/code\u003e from storage options passed to f...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/77c38f357c3ff7af50ceda862f837dab7a93f359\"\u003e\u003ccode\u003e77c38f3\u003c/code\u003e\u003c/a\u003e docs(asset-partition): add example Dag (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62491\"\u003e#62491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/05ea74a9429156400ca89ca913c5d838e568ef3a\"\u003e\u003ccode\u003e05ea74a\u003c/code\u003e\u003c/a\u003e Prepare provider's documentation 2026-03-03 (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62752\"\u003e#62752\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/1199dc5305ea1630b0e1f7681bdbc4daff28440b\"\u003e\u003ccode\u003e1199dc5\u003c/code\u003e\u003c/a\u003e Consolidate \u003ccode\u003eSkipMixin\u003c/code\u003e imports through \u003ccode\u003ecommon-compat\u003c/code\u003e layer (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62776\"\u003e#62776\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/airflow/compare/3.1.1...3.2.0b1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `black` from 24.4.2 to 26.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/black/releases\"\u003eblack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.3.1\u003c/h2\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent Jupyter notebook magic masking collisions from corrupting cells by using\nexact-length placeholders for short magics and aborting if a placeholder can no longer\nbe unmasked safely (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eConfiguration\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAlways hash cache filename components derived from \u003ccode\u003e--python-cell-magics\u003c/code\u003e so custom\nmagic names cannot affect cache paths (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003cem\u003eBlackd\u003c/em\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDisable browser-originated requests by default, add configurable origin allowlisting\nand request body limits, and bound executor submissions to improve backpressure\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/5039\"\u003e#5039\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e26.3.0\u003c/h2\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't double-decode input, causing non-UTF-8 files to be corrupted (\u003ca href=\"https://redirect.github.com/psf/black/issues/4964\"\u003e#4964\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on standalone comment in lambda default arguments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4993\"\u003e#4993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve parentheses when \u003ccode\u003e# type: ignore\u003c/code\u003e comments would be merged with other\ncomments on the same line, preventing AST equivalence failures (\u003ca href=\"https://redirect.github.com/psf/black/issues/4888\"\u003e#4888\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix bug where \u003ccode\u003eif\u003c/code\u003e guards in \u003ccode\u003ecase\u003c/code\u003e blocks were incorrectly split when the pattern had\na trailing comma (\u003ca href=\"https://redirect.github.com/psf/black/issues/4884\"\u003e#4884\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003estring_processing\u003c/code\u003e crashing on unassigned long string literals with trailing\ncommas (one-item tuples) (\u003ca href=\"https://redirect.github.com/psf/black/issues/4929\"\u003e#4929\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplify implementation of the power operator \u0026quot;hugging\u0026quot; logic (\u003ca href=\"https://redirect.github.com/psf/black/issues/4918\"\u003e#4918\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePackaging\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix shutdown errors in PyInstaller builds on macOS by disabling multiprocessing in\nfrozen environments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4930\"\u003e#4930\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce winloop for windows as an alternative to uvloop (\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove deprecated function \u003ccode\u003euvloop.install()\u003c/code\u003e in favor of \u003ccode\u003euvloop.new_event_loop()\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRename \u003ccode\u003emaybe_install_uvloop\u003c/code\u003e function to \u003ccode\u003emaybe_use_uvloop\u003c/code\u003e to simplify loop\ninstallation and creation of either a uvloop/winloop evenloop or default eventloop\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOutput\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/black/blob/main/CHANGES.md\"\u003eblack's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.3.1\u003c/h2\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent Jupyter notebook magic masking collisions from corrupting cells by using\nexact-length placeholders for short magics and aborting if a placeholder can no longer\nbe unmasked safely (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eConfiguration\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAlways hash cache filename components derived from \u003ccode\u003e--python-cell-magics\u003c/code\u003e so custom\nmagic names cannot affect cache paths (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003cem\u003eBlackd\u003c/em\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDisable browser-originated requests by default, add configurable origin allowlisting\nand request body limits, and bound executor submissions to improve backpressure\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/5039\"\u003e#5039\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e26.3.0\u003c/h2\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't double-decode input, causing non-UTF-8 files to be corrupted (\u003ca href=\"https://redirect.github.com/psf/black/issues/4964\"\u003e#4964\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on standalone comment in lambda default arguments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4993\"\u003e#4993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve parentheses when \u003ccode\u003e# type: ignore\u003c/code\u003e comments would be merged with other\ncomments on the same line, preventing AST equivalence failures (\u003ca href=\"https://redirect.github.com/psf/black/issues/4888\"\u003e#4888\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix bug where \u003ccode\u003eif\u003c/code\u003e guards in \u003ccode\u003ecase\u003c/code\u003e blocks were incorrectly split when the pattern had\na trailing comma (\u003ca href=\"https://redirect.github.com/psf/black/issues/4884\"\u003e#4884\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003estring_processing\u003c/code\u003e crashing on unassigned long string literals with trailing\ncommas (one-item tuples) (\u003ca href=\"https://redirect.github.com/psf/black/issues/4929\"\u003e#4929\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplify implementation of the power operator \u0026quot;hugging\u0026quot; logic (\u003ca href=\"https://redirect.github.com/psf/black/issues/4918\"\u003e#4918\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePackaging\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix shutdown errors in PyInstaller builds on macOS by disabling multiprocessing in\nfrozen environments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4930\"\u003e#4930\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce winloop for windows as an alternative to uvloop (\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove deprecated function \u003ccode\u003euvloop.install()\u003c/code\u003e in favor of \u003ccode\u003euvloop.new_event_loop()\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRename \u003ccode\u003emaybe_install_uvloop\u003c/code\u003e function to \u003ccode\u003emaybe_use_uvloop\u003c/code\u003e to simplify loop\ninstallation and creation of either a uvloop/winloop evenloop or default eventloop\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/c6755bb741b6481d6b3d3bb563c83fa060db96c9\"\u003e\u003ccode\u003ec6755bb\u003c/code\u003e\u003c/a\u003e Prepare release 26.3.1 (\u003ca href=\"https://redirect.github.com/psf/black/issues/5046\"\u003e#5046\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/69973fd6950985fbeb1090d96da717dc4d8380b0\"\u003e\u003ccode\u003e69973fd\u003c/code\u003e\u003c/a\u003e Harden blackd browser-facing request handling (\u003ca href=\"https://redirect.github.com/psf/black/issues/5039\"\u003e#5039\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/4937fe6cf241139ddbfc16b0bdbb5b422798909d\"\u003e\u003ccode\u003e4937fe6\u003c/code\u003e\u003c/a\u003e Fix some shenanigans with the cache file and IPython (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/2e641d174469c505d5ae905e75d4c769597e681f\"\u003e\u003ccode\u003e2e641d1\u003c/code\u003e\u003c/a\u003e docs: remove outdated Black Playground references (\u003ca href=\"https://redirect.github.com/psf/black/issues/5044\"\u003e#5044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/c014b22a2d5e0632587b47b81151658bddfa0b88\"\u003e\u003ccode\u003ec014b22\u003c/code\u003e\u003c/a\u003e Remove unused internal code (\u003ca href=\"https://redirect.github.com/psf/black/issues/5041\"\u003e#5041\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/0dae20b2d009f2f03de8696d06b0c947d3abafc9\"\u003e\u003ccode\u003e0dae20b\u003c/code\u003e\u003c/a\u003e Add new changelog (\u003ca href=\"https://redirect.github.com/psf/black/issues/5036\"\u003e#5036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/c5c1cbddd92cecb554ac2a77a24139dd76831030\"\u003e\u003ccode\u003ec5c1cbd\u003c/code\u003e\u003c/a\u003e Minor release patches (\u003ca href=\"https://redirect.github.com/psf/black/issues/5035\"\u003e#5035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/7e5a828c37d71b6a6666e28eed444816def6a8f4\"\u003e\u003ccode\u003e7e5a828\u003c/code\u003e\u003c/a\u003e docs: clarify relationship between Black style and PEP 8 (\u003ca href=\"https://redirect.github.com/psf/black/issues/5025\"\u003e#5025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/69705deb8776e7c5e585668da106d1abe2cb8d77\"\u003e\u003ccode\u003e69705de\u003c/code\u003e\u003c/a\u003e docs: add clearer pyproject configuration guidance (\u003ca href=\"https://redirect.github.com/psf/black/issues/5026\"\u003e#5026\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/35ea67920b7f6ac8e09be1c47278752b1e827f76\"\u003e\u003ccode\u003e35ea679\u003c/code\u003e\u003c/a\u003e Prepare release 26.3.0 (\u003ca href=\"https://redirect.github.com/psf/black/issues/5032\"\u003e#5032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/black/compare/24.3.0...26.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `black` from 24.3.0 to 26.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/black/releases\"\u003eblack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.3.1\u003c/h2\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent Jupyter notebook magic masking collisions from corrupting cells by using\nexact-length placeholders for short magics and aborting if a placeholder can no longer\nbe unmasked safely (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eConfiguration\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAlways hash cache filename components derived from \u003ccode\u003e--python-cell-magics\u003c/code\u003e so custom\nmagic names cannot affect cache paths (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003cem\u003eBlackd\u003c/em\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDisable browser-originated requests by default, add configurable origin allowlisting\nand request body limits, and bound executor submissions to improve backpressure\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/5039\"\u003e#5039\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e26.3.0\u003c/h2\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't double-decode input, causing non-UTF-8 files to be corrupted (\u003ca href=\"https://redirect.github.com/psf/black/issues/4964\"\u003e#4964\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on standalone comment in lambda default arguments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4993\"\u003e#4993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve parentheses when \u003ccode\u003e# type: ignore\u003c/code\u003e comments would be merged with other\ncomments on the same line, preventing AST equivalence failures (\u003ca href=\"https://redirect.github.com/psf/black/issues/4888\"\u003e#4888\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix bug where \u003ccode\u003eif\u003c/code\u003e guards in \u003ccode\u003ecase\u003c/code\u003e blocks were incorrectly split when the pattern had\na trailing comma (\u003ca href=\"https://redirect.github.com/psf/black/issues/4884\"\u003e#4884\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003estring_processing\u003c/code\u003e crashing on unassigned long string literals with trailing\ncommas (one-item tuples) (\u003ca href=\"https://redirect.github.com/psf/black/issues/4929\"\u003e#4929\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplify implementation of the power operator \u0026quot;hugging\u0026quot; logic (\u003ca href=\"https://redirect.github.com/psf/black/issues/4918\"\u003e#4918\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePackaging\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix shutdown errors in PyInstaller builds on macOS by disabling multiprocessing in\nfrozen environments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4930\"\u003e#4930\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce winloop for windows as an alternative to uvloop (\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove deprecated function \u003ccode\u003euvloop.install()\u003c/code\u003e in favor of \u003ccode\u003euvloop.new_event_loop()\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRename \u003ccode\u003emaybe_install_uvloop\u003c/code\u003e function to \u003ccode\u003emaybe_use_uvloop\u003c/code\u003e to simplify loop\ninstallation and creation of either a uvloop/winloop evenloop or default eventloop\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOutput\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/black/blob/main/CHANGES.md\"\u003eblack's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.3.1\u003c/h2\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent Jupyter notebook magic masking collisions from corrupting cells by using\nexact-length placeholders for short magics and aborting if a placeholder can no longer\nbe unmasked safely (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eConfiguration\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAlways hash cache filename components derived from \u003ccode\u003e--python-cell-magics\u003c/code\u003e so custom\nmagic names cannot affect cache paths (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003cem\u003eBlackd\u003c/em\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDisable browser-originated requests by default, add configurable origin allowlisting\nand request body limits, and bound executor submissions to improve backpressure\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/5039\"\u003e#5039\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e26.3.0\u003c/h2\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't double-decode input, causing non-UTF-8 files to be corrupted (\u003ca href=\"https://redirect.github.com/psf/black/issues/4964\"\u003e#4964\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on standalone comment in lambda default arguments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4993\"\u003e#4993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve parentheses when \u003ccode\u003e# type: ignore\u003c/code\u003e comments would be merged with other\ncomments on the same line, preventing AST equivalence failures (\u003ca href=\"https://redirect.github.com/psf/black/issues/4888\"\u003e#4888\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix bug where \u003ccode\u003eif\u003c/code\u003e guards in \u003ccode\u003ecase\u003c/code\u003e blocks were incorrectly split when the pattern had\na trailing comma (\u003ca href=\"https://redirect.github.com/psf/black/issues/4884\"\u003e#4884\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003estring_processing\u003c/code\u003e crashing on unassigned long string literals with trailing\ncommas (one-item tuples) (\u003ca href=\"https://redirect.github.com/psf/black/issues/4929\"\u003e#4929\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplify implementation of the power operator \u0026quot;hugging\u0026quot; logic (\u003ca href=\"https://redirect.github.com/psf/black/issues/4918\"\u003e#4918\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePackaging\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix shutdown errors in PyInstaller builds on macOS by disabling multiprocessing in\nfrozen environments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4930\"\u003e#4930\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce winloop for windows as an alternative to uvloop (\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove deprecated function \u003ccode\u003euvloop.install()\u003c/code\u003e in favor of \u003ccode\u003euvloop.new_event_loop()\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRename \u003ccode\u003emaybe_install_uvloop\u003c/code\u003e function to \u003ccode\u003emaybe_use_uvloop\u003c/code\u003e to simplify loop\ninstallation and creation of either a uvloop/winloop evenloop or default eventloop\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/c6755bb741b6481d6b3d3bb563c83fa060db96c9\"\u003e\u003ccode\u003ec6755bb\u003c/code\u003e\u003c/a\u003e Prepare release 26.3.1 (\u003ca href=\"https://redirect.github.com/psf/black/issues/5046\"\u003e#5046\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/69973fd6950985fbeb1090d96da717dc4d8380b0\"\u003e\u003ccode\u003e69973fd\u003c/code\u003e\u003c/a\u003e Harden blackd browser-facing request handling (\u003ca href=\"https://redirect.github.com/psf/black/issues/5039\"\u003e#5039\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/4937fe6cf241139ddbfc16b0bdbb5b422798909d\"\u003e\u003ccode\u003e4937fe6\u003c/code\u003e\u003c/a\u003e Fix some shenanigans with the cache file and IPython (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/2e641d174469c505d5ae905e75d4c769597e681f\"\u003e\u003ccode\u003e2e641d1\u003c/code\u003e\u003c/a\u003e docs: remove outdated Black Playground references (\u003ca href=\"https://redirect.github.com/psf/black/issues/5044\"\u003e#5044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/c014b22a2d5e0632587b47b81151658bddfa0b88\"\u003e\u003ccode\u003ec014b22\u003c/code\u003e\u003c/a\u003e Remove unused internal code (\u003ca href=\"https://redirect.github.com/psf/black/issues/5041\"\u003e#5041\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/0dae20b2d009f2f03de8696d06b0c947d3abafc9\"\u003e\u003ccode\u003e0dae20b\u003c/code\u003e\u003c/a\u003e Add new changelog (\u003ca href=\"https://redirect.github.com/psf/black/issues/5036\"\u003e#5036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/c5c1cbddd92cecb554ac2a77a24139dd76831030\"\u003e\u003ccode\u003ec5c1cbd\u003c/code\u003e\u003c/a\u003e Minor release patches (\u003ca href=\"https://redirect.github.com/psf/black/issues/5035\"\u003e#5035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/7e5a828c37d71b6a6666e28eed444816def6a8f4\"\u003e\u003ccode\u003e7e5a828\u003c/code\u003e\u003c/a\u003e docs: clarify relationship between Black style and PEP 8 (\u003ca href=\"https://redirect.github.com/psf/black/issues/5025\"\u003e#5025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/69705deb8776e7c5e585668da106d1abe2cb8d77\"\u003e\u003ccode\u003e69705de\u003c/code\u003e\u003c/a\u003e docs: add clearer pyproject configuration guidance (\u003ca href=\"https://redirect.github.com/psf/black/issues/5026\"\u003e#5026\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/35ea67920b7f6ac8e09be1c47278752b1e827f76\"\u003e\u003ccode\u003e35ea679\u003c/code\u003e\u003c/a\u003e Prepare release 26.3.0 (\u003ca href=\"https://redirect.github.com/psf/black/issues/5032\"\u003e#5032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/black/compare/24.3.0...26.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot 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 fo...\n\n_Description has been truncated_","html_url":"https://github.com/jarkillo/Curso-Data-Engineering/pull/164","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/jarkillo%2FCurso-Data-Engineering/issues/164","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/164/packages"},{"uuid":"4067119346","node_id":"PR_kwDOOMhbQ87KKZ8R","number":6,"state":"closed","title":"chore(deps): bump the pip group across 21 directories with 12 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-16T16:59:51.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-12T20:37:48.000Z","updated_at":"2026-03-16T16:59:53.000Z","time_to_close":332523,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"pip","update_count":12,"packages":[{"name":"flask","old_version":"2.2.5","new_version":"3.1.3","repository_url":"https://github.com/pallets/flask"},{"name":"requests","old_version":"2.31.0","new_version":"2.32.4","repository_url":"https://github.com/psf/requests"},{"name":"werkzeug","old_version":"2.2.3","new_version":"3.1.6","repository_url":"https://github.com/pallets/werkzeug"},{"name":"apache-airflow","old_version":"2.6.3","new_version":"3.2.0b1","repository_url":"https://github.com/apache/airflow"},{"name":"black","old_version":"23.1a1","new_version":"26.3.1","repository_url":"https://github.com/psf/black"},{"name":"cryptography","old_version":"40.0.2","new_version":"46.0.5","repository_url":"https://github.com/pyca/cryptography"},{"name":"google-cloud-aiplatform","old_version":"1.27.1","new_version":"1.133.0","repository_url":"https://github.com/googleapis/python-aiplatform"},{"name":"protobuf","old_version":"4.23.4","new_version":"5.29.6","repository_url":"https://github.com/protocolbuffers/protobuf"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pip group with 1 update in the /alloydb/notebooks directory: [nbconvert](https://github.com/jupyter/nbconvert).\nBumps the pip group with 3 updates in the /cloud-media-livestream/keypublisher directory: [flask](https://github.com/pallets/flask), [requests](https://github.com/psf/requests) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 2 updates in the /cloud_scheduler/snippets directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 8 updates in the /composer/2022_airflow_summit directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [flask](https://github.com/pallets/flask) | `2.2.5` | `3.1.3` |\n| [requests](https://github.com/psf/requests) | `2.31.0` | `2.32.4` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `2.2.3` | `3.1.6` |\n| [apache-airflow](https://github.com/apache/airflow) | `2.6.3` | `3.2.0b1` |\n| [black](https://github.com/psf/black) | `23.1a1` | `26.3.1` |\n| [cryptography](https://github.com/pyca/cryptography) | `40.0.2` | `46.0.5` |\n| [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) | `1.27.1` | `1.133.0` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `4.23.4` | `5.29.6` |\n\nBumps the pip group with 5 updates in the /composer/airflow_1_samples directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [flask](https://github.com/pallets/flask) | `1.1.2` | `3.1.3` |\n| [requests](https://github.com/psf/requests) | `2.23.0` | `2.32.4` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `0.16.1` | `3.1.6` |\n| [cryptography](https://github.com/pyca/cryptography) | `3.2.1` | `46.0.5` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `3.14.0` | `5.29.6` |\n\nBumps the pip group with 8 updates in the /composer/cicd_sample directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [flask](https://github.com/pallets/flask) | `2.2.5` | `3.1.3` |\n| [requests](https://github.com/psf/requests) | `2.31.0` | `2.32.4` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `2.2.3` | `3.1.6` |\n| [apache-airflow](https://github.com/apache/airflow) | `2.6.3` | `3.2.0b1` |\n| [black](https://github.com/psf/black) | `23.1a1` | `26.3.1` |\n| [cryptography](https://github.com/pyca/cryptography) | `40.0.2` | `46.0.5` |\n| [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) | `1.27.1` | `1.133.0` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `4.23.4` | `5.29.6` |\n\nBumps the pip group with 1 update in the /composer/rest directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 1 update in the /compute/auth directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 1 update in the /compute/client_library directory: [black](https://github.com/psf/black).\nBumps the pip group with 2 updates in the /compute/encryption directory: [requests](https://github.com/psf/requests) and [cryptography](https://github.com/pyca/cryptography).\nBumps the pip group with 1 update in the /compute/metadata directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 1 update in the /compute/oslogin directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 3 updates in the /dataflow/gemma directory: [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform), [protobuf](https://github.com/protocolbuffers/protobuf) and [keras](https://github.com/keras-team/keras).\nBumps the pip group with 1 update in the /dataflow/gemma-flex-template directory: [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform).\nBumps the pip group with 3 updates in the /dataflow/run-inference directory: [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform), [torch](https://github.com/pytorch/pytorch) and [transformers](https://github.com/huggingface/transformers).\nBumps the pip group with 2 updates in the /datastore/cloud-ndb directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 2 updates in the /dialogflow directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 2 updates in the /dialogflow-cx directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 1 update in the /gemma2 directory: [protobuf](https://github.com/protocolbuffers/protobuf).\nBumps the pip group with 4 updates in the /iap directory: [flask](https://github.com/pallets/flask), [requests](https://github.com/psf/requests), [werkzeug](https://github.com/pallets/werkzeug) and [cryptography](https://github.com/pyca/cryptography).\nBumps the pip group with 1 update in the /media_cdn directory: [cryptography](https://github.com/pyca/cryptography).\n\nUpdates `nbconvert` from 7.16.4 to 7.17.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jupyter/nbconvert/releases\"\u003enbconvert's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.17.0\u003c/h2\u003e\n\u003ch2\u003e7.17.0\u003c/h2\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbconvert/compare/v7.16.6...c9ac1d1040459ed1ff9eb34e9918ce5a87cf9d71\"\u003eFull Changelog\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eEnhancements made\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for arbitrary browser arguments \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2227\"\u003e#2227\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugs fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix QtPNGExporter returning empty bytes on macOS \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2264\"\u003e#2264\u003c/a\u003e (\u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/QuLogic\"\u003e\u003ccode\u003e@​QuLogic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix CVE-2025-53000: Secure Inkscape Windows path (registry first + block CWD) \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2261\"\u003e#2261\u003c/a\u003e (\u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/mberlanda\"\u003e\u003ccode\u003e@​mberlanda\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/salmankadaya\"\u003e\u003ccode\u003e@​salmankadaya\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/th3gowtham\"\u003e\u003ccode\u003e@​th3gowtham\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix get_export_names and get_exporter default args \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2228\"\u003e#2228\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePyPA-Compliant Summary \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2226\"\u003e#2226\u003c/a\u003e (\u003ca href=\"https://github.com/hackowitz-af\"\u003e\u003ccode\u003e@​hackowitz-af\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMaintenance and upkeep improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eavoid cov environment on free-threaded Pythons \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2267\"\u003e#2267\u003c/a\u003e (\u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate pre-commit, and fix all issues. \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2238\"\u003e#2238\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop test on 3.9, test on 3.13, 3.14, 3.14t \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2237\"\u003e#2237\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the actions group across 1 directory with 2 updates \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2231\"\u003e#2231\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003e@flaky.flaky\u003c/code\u003e decorate with pytest marker \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2229\"\u003e#2229\u003c/a\u003e (\u003ca href=\"https://github.com/mgorny\"\u003e\u003ccode\u003e@​mgorny\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate to mermaid 11.10.0 \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2224\"\u003e#2224\u003c/a\u003e (\u003ca href=\"https://github.com/bollwyvl\"\u003e\u003ccode\u003e@​bollwyvl\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.8, fix the CI tests \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2221\"\u003e#2221\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse \u003ccode\u003eintersphinx_registry\u003c/code\u003e \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2232\"\u003e#2232\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors to this release\u003c/h3\u003e\n\u003cp\u003eThe following people contributed discussions, new ideas, code and documentation contributions, and review.\nSee \u003ca href=\"https://github-activity.readthedocs.io/en/latest/use/#how-does-this-tool-define-contributions-in-the-reports\"\u003eour definition of contributors\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbconvert/graphs/contributors?from=2025-01-28\u0026amp;to=2026-01-29\u0026amp;type=c\"\u003eGitHub contributors page for this release\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/bollwyvl\"\u003e\u003ccode\u003e@​bollwyvl\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Abollwyvl+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3ACarreau+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ah3pdesign+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/hackowitz-af\"\u003e\u003ccode\u003e@​hackowitz-af\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ahackowitz-af+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Akrassowski+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/mberlanda\"\u003e\u003ccode\u003e@​mberlanda\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Amberlanda+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/mgorny\"\u003e\u003ccode\u003e@​mgorny\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Amgorny+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Aminrk+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/MSeal\"\u003e\u003ccode\u003e@​MSeal\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3AMSeal+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/QuLogic\"\u003e\u003ccode\u003e@​QuLogic\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3AQuLogic+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/salmankadaya\"\u003e\u003ccode\u003e@​salmankadaya\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Asalmankadaya+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ashreve+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/th3gowtham\"\u003e\u003ccode\u003e@​th3gowtham\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ath3gowtham+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e)\u003c/p\u003e\n\u003ch2\u003ev7.16.6\u003c/h2\u003e\n\u003ch2\u003e7.16.6\u003c/h2\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbconvert/compare/v7.16.5...01c6ab25ec81277ab4d8585747f904c89a8c02b0\"\u003eFull Changelog\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eBugs fixed\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jupyter/nbconvert/blob/main/CHANGELOG.md\"\u003enbconvert's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.17.0\u003c/h2\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbconvert/compare/v7.16.6...c9ac1d1040459ed1ff9eb34e9918ce5a87cf9d71\"\u003eFull Changelog\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eEnhancements made\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for arbitrary browser arguments \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2227\"\u003e#2227\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugs fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix QtPNGExporter returning empty bytes on macOS \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2264\"\u003e#2264\u003c/a\u003e (\u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/QuLogic\"\u003e\u003ccode\u003e@​QuLogic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix CVE-2025-53000: Secure Inkscape Windows path (registry first + block CWD) \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2261\"\u003e#2261\u003c/a\u003e (\u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/mberlanda\"\u003e\u003ccode\u003e@​mberlanda\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/salmankadaya\"\u003e\u003ccode\u003e@​salmankadaya\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/th3gowtham\"\u003e\u003ccode\u003e@​th3gowtham\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix get_export_names and get_exporter default args \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2228\"\u003e#2228\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePyPA-Compliant Summary \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2226\"\u003e#2226\u003c/a\u003e (\u003ca href=\"https://github.com/hackowitz-af\"\u003e\u003ccode\u003e@​hackowitz-af\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMaintenance and upkeep improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eavoid cov environment on free-threaded Pythons \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2267\"\u003e#2267\u003c/a\u003e (\u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate pre-commit, and fix all issues. \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2238\"\u003e#2238\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop test on 3.9, test on 3.13, 3.14, 3.14t \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2237\"\u003e#2237\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the actions group across 1 directory with 2 updates \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2231\"\u003e#2231\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003e@flaky.flaky\u003c/code\u003e decorate with pytest marker \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2229\"\u003e#2229\u003c/a\u003e (\u003ca href=\"https://github.com/mgorny\"\u003e\u003ccode\u003e@​mgorny\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate to mermaid 11.10.0 \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2224\"\u003e#2224\u003c/a\u003e (\u003ca href=\"https://github.com/bollwyvl\"\u003e\u003ccode\u003e@​bollwyvl\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.8, fix the CI tests \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2221\"\u003e#2221\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse \u003ccode\u003eintersphinx_registry\u003c/code\u003e \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2232\"\u003e#2232\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors to this release\u003c/h3\u003e\n\u003cp\u003eThe following people contributed discussions, new ideas, code and documentation contributions, and review.\nSee \u003ca href=\"https://github-activity.readthedocs.io/en/latest/use/#how-does-this-tool-define-contributions-in-the-reports\"\u003eour definition of contributors\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbconvert/graphs/contributors?from=2025-01-28\u0026amp;to=2026-01-29\u0026amp;type=c\"\u003eGitHub contributors page for this release\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/bollwyvl\"\u003e\u003ccode\u003e@​bollwyvl\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Abollwyvl+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3ACarreau+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ah3pdesign+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/hackowitz-af\"\u003e\u003ccode\u003e@​hackowitz-af\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ahackowitz-af+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Akrassowski+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/mberlanda\"\u003e\u003ccode\u003e@​mberlanda\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Amberlanda+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/mgorny\"\u003e\u003ccode\u003e@​mgorny\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Amgorny+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Aminrk+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/MSeal\"\u003e\u003ccode\u003e@​MSeal\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3AMSeal+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/QuLogic\"\u003e\u003ccode\u003e@​QuLogic\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3AQuLogic+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/salmankadaya\"\u003e\u003ccode\u003e@​salmankadaya\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Asalmankadaya+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ashreve+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/th3gowtham\"\u003e\u003ccode\u003e@​th3gowtham\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ath3gowtham+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e)\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003e7.16.6\u003c/h2\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbconvert/compare/v7.16.5...01c6ab25ec81277ab4d8585747f904c89a8c02b0\"\u003eFull Changelog\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eBugs fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent leading whitespace in markdown code blocks from being stripped \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2203\"\u003e#2203\u003c/a\u003e (\u003ca href=\"https://github.com/peytondmurray\"\u003e\u003ccode\u003e@​peytondmurray\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix bullet list parsing in markdown \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2177\"\u003e#2177\u003c/a\u003e (\u003ca href=\"https://github.com/douglas-raillard-arm\"\u003e\u003ccode\u003e@​douglas-raillard-arm\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when running with optimization \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2160\"\u003e#2160\u003c/a\u003e (\u003ca href=\"https://github.com/QuLogic\"\u003e\u003ccode\u003e@​QuLogic\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/jupyter/nbconvert/commit/21b35d85b46f5ff0956d3d088a52b9bef00e8196\"\u003e\u003ccode\u003e21b35d8\u003c/code\u003e\u003c/a\u003e Publish 7.17.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/c9ac1d1040459ed1ff9eb34e9918ce5a87cf9d71\"\u003e\u003ccode\u003ec9ac1d1\u003c/code\u003e\u003c/a\u003e Fix CVE-2025-53000: Secure Inkscape Windows path (registry first + block CWD)...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/b13276d80ae6fadbfda981304810e26f421c4ced\"\u003e\u003ccode\u003eb13276d\u003c/code\u003e\u003c/a\u003e avoid cov environment on free-threaded Pythons (\u003ca href=\"https://redirect.github.com/jupyter/nbconvert/issues/2267\"\u003e#2267\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/7c7055fe833fe9832e6f9a64fa5f67d66692c8d6\"\u003e\u003ccode\u003e7c7055f\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] auto fixes from pre-commit.com hooks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/74f3ddd37ef4b7ffb5eee9acbf52062217c15852\"\u003e\u003ccode\u003e74f3ddd\u003c/code\u003e\u003c/a\u003e Fix QtPNGExporter returning empty bytes on macOS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/216550b2aae4c329f4dab597a96ae7cac30de79a\"\u003e\u003ccode\u003e216550b\u003c/code\u003e\u003c/a\u003e fix links\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/39777ac5716350e994171d025a7369c58b0afc8c\"\u003e\u003ccode\u003e39777ac\u003c/code\u003e\u003c/a\u003e try to comment fialing test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/7b591ca526f2598dbae3256a53765659c3edcf14\"\u003e\u003ccode\u003e7b591ca\u003c/code\u003e\u003c/a\u003e ruff-check\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/6ec7638a3dc7a0bc2c533c116202d7f9b07ce9d9\"\u003e\u003ccode\u003e6ec7638\u003c/code\u003e\u003c/a\u003e parent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/59414b36f94e318d4207e8af863167047d936c19\"\u003e\u003ccode\u003e59414b3\u003c/code\u003e\u003c/a\u003e fix mypy\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jupyter/nbconvert/compare/v7.16.4...v7.17.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `flask` from 2.2.5 to 3.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/releases\"\u003eflask's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.3\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.3 security fix release, which fixes a security issue but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.3/\"\u003ehttps://pypi.org/project/Flask/3.1.3/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-3\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-3\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys but not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. \u003ca href=\"https://github.com/pallets/flask/security/advisories/GHSA-68rp-wp8r-4726\"\u003eGHSA-68rp-wp8r-4726\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.2\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.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/Flask/3.1.2/\"\u003ehttps://pypi.org/project/Flask/3.1.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-2\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-2\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/38?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/38?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5774\"\u003e#5774\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state of \u003ccode\u003esession\u003c/code\u003e is correct. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5786\"\u003e#5786\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5776\"\u003e#5776\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.1\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.1 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.1/\"\u003ehttps://pypi.org/project/Flask/3.1.1/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/flask/milestone/36?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/36?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. GHSA-4grg-w6v8-c28g\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5645\"\u003e#5645\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loads the app and plugins first to make sure all commands are shown. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5673\"\u003e#5673\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMark sans-io base class as being able to handle views that return \u003ccode\u003eAsyncIterable\u003c/code\u003e. This is not accurate for Flask, but makes typing easier for Quart. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5659\"\u003e#5659\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.0\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecations, or introduce potentially breaking changes. We encourage everyone to upgrade, and to use a tool such as \u003ca href=\"https://pypi.org/project/pip-tools/\"\u003epip-tools\u003c/a\u003e to pin all dependencies and control upgrades. Test with warnings treated as errors to be able to adapt to deprecation warnings early.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.0/\"\u003ehttps://pypi.org/project/Flask/3.1.0/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-0\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-0\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/33?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/33?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5623\"\u003e#5623\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate minimum dependency versions to latest feature releases. Werkzeug \u0026gt;= 3.1, ItsDangerous \u0026gt;= 2.2, Blinker \u0026gt;= 1.9. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5624\"\u003e#5624\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5633\"\u003e#5633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProvide a configuration option to control automatic option responses. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5496\"\u003e#5496\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFlask.open_resource\u003c/code\u003e/\u003ccode\u003eopen_instance_resource\u003c/code\u003e and \u003ccode\u003eBlueprint.open_resource\u003c/code\u003e take an \u003ccode\u003eencoding\u003c/code\u003e parameter to use when opening in text mode. It defaults to \u003ccode\u003eutf-8\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5504\"\u003e#5504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.max_content_length\u003c/code\u003e can be customized per-request instead of only through the \u003ccode\u003eMAX_CONTENT_LENGTH\u003c/code\u003e config. Added \u003ccode\u003eMAX_FORM_MEMORY_SIZE\u003c/code\u003e and \u003ccode\u003eMAX_FORM_PARTS\u003c/code\u003e config. Added documentation about resource limits to the security page. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5625\"\u003e#5625\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for the \u003ccode\u003ePartitioned\u003c/code\u003e cookie attribute (CHIPS), with the \u003ccode\u003eSESSION_COOKIE_PARTITIONED\u003c/code\u003e config. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5472\"\u003e#5472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e-e path\u003c/code\u003e takes precedence over default \u003ccode\u003e.env\u003c/code\u003e and \u003ccode\u003e.flaskenv\u003c/code\u003e files. \u003ccode\u003eload_dotenv\u003c/code\u003e loads default files in addition to a path unless \u003ccode\u003eload_defaults=False\u003c/code\u003e is passed. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5628\"\u003e#5628\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport key rotation with the \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e config, a list of old secret keys that can still be used for unsigning. Extensions will need to add support. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5621\"\u003e#5621\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix how setting \u003ccode\u003ehost_matching=True\u003c/code\u003e or \u003ccode\u003esubdomain_matching=False\u003c/code\u003e interacts with \u003ccode\u003eSERVER_NAME\u003c/code\u003e. Setting \u003ccode\u003eSERVER_NAME\u003c/code\u003e no longer restricts requests to only that domain. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5553\"\u003e#5553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.trusted_hosts\u003c/code\u003e is checked during routing, and can be set through the \u003ccode\u003eTRUSTED_HOSTS\u003c/code\u003e config. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5636\"\u003e#5636\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.0.3\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/blob/main/CHANGES.rst\"\u003eflask's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.1.3\u003c/h2\u003e\n\u003cp\u003eReleased 2026-02-18\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys\nbut not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. :ghsa:\u003ccode\u003e68rp-wp8r-4726\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.2\u003c/h2\u003e\n\u003cp\u003eReleased 2025-08-19\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. :issue:\u003ccode\u003e5774\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state\nof \u003ccode\u003esession\u003c/code\u003e is correct. :issue:\u003ccode\u003e5786\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. :issue:\u003ccode\u003e5776\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-05-13\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via\n\u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. :ghsa:\u003ccode\u003e4grg-w6v8-c28g\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. :issue:\u003ccode\u003e5645\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loads the app and plugins first to make sure all commands\nare shown. :issue:\u003ccode\u003e5673\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eMark sans-io base class as being able to handle views that return\n\u003ccode\u003eAsyncIterable\u003c/code\u003e. This is not accurate for Flask, but makes typing easier\nfor Quart. :pr:\u003ccode\u003e5659\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.0\u003c/h2\u003e\n\u003cp\u003eReleased 2024-11-13\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. :pr:\u003ccode\u003e5623\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUpdate minimum dependency versions to latest feature releases.\nWerkzeug \u0026gt;= 3.1, ItsDangerous \u0026gt;= 2.2, Blinker \u0026gt;= 1.9. :pr:\u003ccode\u003e5624,5633\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eProvide a configuration option to control automatic option\nresponses. :pr:\u003ccode\u003e5496\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFlask.open_resource\u003c/code\u003e/\u003ccode\u003eopen_instance_resource\u003c/code\u003e and\n\u003ccode\u003eBlueprint.open_resource\u003c/code\u003e take an \u003ccode\u003eencoding\u003c/code\u003e parameter to use when\nopening in text mode. It defaults to \u003ccode\u003eutf-8\u003c/code\u003e. :issue:\u003ccode\u003e5504\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.max_content_length\u003c/code\u003e can be customized per-request instead of only\nthrough the \u003ccode\u003eMAX_CONTENT_LENGTH\u003c/code\u003e config. Added\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/22d924701a6ae2e4cd01e9a15bbaf3946094af65\"\u003e\u003ccode\u003e22d9247\u003c/code\u003e\u003c/a\u003e release version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/089cb86dd22bff589a4eafb7ab8e42dc357623b4\"\u003e\u003ccode\u003e089cb86\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/c17f379390731543eea33a570a47bd4ef76a54fa\"\u003e\u003ccode\u003ec17f379\u003c/code\u003e\u003c/a\u003e request context tracks session access\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/27be9338405382445a7cb01151e084559b98d602\"\u003e\u003ccode\u003e27be933\u003c/code\u003e\u003c/a\u003e start version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4e652d3f68b90d50aa2301d3b7e68c3fafd9251d\"\u003e\u003ccode\u003e4e652d3\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5903\"\u003e#5903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/3d03098a97ddc6a908aa4a50c2ef7381f8297d0a\"\u003e\u003ccode\u003e3d03098\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/407eb76b27884848383a37c7274654f0271e4bc4\"\u003e\u003ccode\u003e407eb76\u003c/code\u003e\u003c/a\u003e document using gevent for async (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5900\"\u003e#5900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/ac5664d2281533eacafd64f5cc7d5edcdaccab60\"\u003e\u003ccode\u003eac5664d\u003c/code\u003e\u003c/a\u003e document using gevent for async\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4f79d5b59a56bc4356a97f2e81a35f98cb18d7b3\"\u003e\u003ccode\u003e4f79d5b\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11 (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5865\"\u003e#5865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/fe3b215d3ade4db68262dae1a3cdc464a1fc524f\"\u003e\u003ccode\u003efe3b215\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/flask/compare/2.2.5...3.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.2 to 2.32.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.32.4\u003c/h2\u003e\n\u003ch2\u003e2.32.4 (2025-06-10)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2024-47081 Fixed an issue where a maliciously crafted URL and trusted\nenvironment will retrieve credentials for the wrong hostname/machine from a\nnetrc file. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6965\"\u003e#6965\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNumerous documentation improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for pypy 3.11 for Linux and macOS. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6926\"\u003e#6926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDropped support for pypy 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6926\"\u003e#6926\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.32.3\u003c/h2\u003e\n\u003ch2\u003e2.32.3 (2024-05-29)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed bug breaking the ability to specify custom SSLContexts in sub-classes of\nHTTPAdapter. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6716\"\u003e#6716\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed issue where Requests started failing to run on Python versions compiled\nwithout the \u003ccode\u003essl\u003c/code\u003e module. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6724\"\u003e#6724\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.32.4 (2025-06-10)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2024-47081 Fixed an issue where a maliciously crafted URL and trusted\nenvironment will retrieve credentials for the wrong hostname/machine from a\nnetrc file.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNumerous documentation improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for pypy 3.11 for Linux and macOS.\u003c/li\u003e\n\u003cli\u003eDropped support for pypy 3.9 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.3 (2024-05-29)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed bug breaking the ability to specify custom SSLContexts in sub-classes of\nHTTPAdapter. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6716\"\u003e#6716\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed issue where Requests started failing to run on Python versions compiled\nwithout the \u003ccode\u003essl\u003c/code\u003e module. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6724\"\u003e#6724\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/021dc729f0b71a3030cefdbec7fb57a0e80a6cfd\"\u003e\u003ccode\u003e021dc72\u003c/code\u003e\u003c/a\u003e Polish up release tooling for last manual release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/821770e822a20a21b207b3907ea83878bda1d396\"\u003e\u003ccode\u003e821770e\u003c/code\u003e\u003c/a\u003e Bump version and add release notes for v2.32.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/59f8aa2adf1d3d06bcbf7ce6b13743a1639a5401\"\u003e\u003ccode\u003e59f8aa2\u003c/code\u003e\u003c/a\u003e Add netrc file search information to authentication documentation (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6876\"\u003e#6876\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/5b4b64c3467fd7a3c03f91ee641aaa348b6bed3b\"\u003e\u003ccode\u003e5b4b64c\u003c/code\u003e\u003c/a\u003e Add more tests to prevent regression of CVE 2024 47081\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/7bc45877a86192af77645e156eb3744f95b47dae\"\u003e\u003ccode\u003e7bc4587\u003c/code\u003e\u003c/a\u003e Add new test to check netrc auth leak (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6962\"\u003e#6962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/96ba401c1296ab1dda74a2365ef36d88f7d144ef\"\u003e\u003ccode\u003e96ba401\u003c/code\u003e\u003c/a\u003e Only use hostname to do netrc lookup instead of netloc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/7341690e842a23cf18ded0abd9229765fa88c4e2\"\u003e\u003ccode\u003e7341690\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psf/requests/issues/6951\"\u003e#6951\u003c/a\u003e from tswast/patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/6716d7c9f29df636643fa2489f98890216525cb0\"\u003e\u003ccode\u003e6716d7c\u003c/code\u003e\u003c/a\u003e remove links\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/a7e1c745dc23c18e836febd672416ed0c5d8d8ae\"\u003e\u003ccode\u003ea7e1c74\u003c/code\u003e\u003c/a\u003e Update docs/conf.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/c799b8167a13416833ad3b4f3298261a477e826f\"\u003e\u003ccode\u003ec799b81\u003c/code\u003e\u003c/a\u003e docs: fix dead links to kenreitz.org\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.2...v2.32.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `werkzeug` from 3.0.6 to 3.1.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/werkzeug/releases\"\u003ewerkzeug's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.6\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.6 security fix release, which fixes a security issue but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Werkzeug/3.1.6/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.6/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/page/changes/#version-3-1-6\"\u003ehttps://werkzeug.palletsprojects.com/page/changes/#version-3-1-6\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow special devices names in multi-segment paths. \u003ca href=\"https://github.com/pallets/werkzeug/security/advisories/GHSA-29vq-49wr-vm6x\"\u003eGHSA-29vq-49wr-vm6x\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.5\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.5 security fix release, which fixes security issues and 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/Werkzeug/3.1.5/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.5/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/page/changes/#version-3-1-5\"\u003ehttps://werkzeug.palletsprojects.com/page/changes/#version-3-1-5\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/werkzeug/milestone/43?closed=1\"\u003ehttps://github.com/pallets/werkzeug/milestone/43?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow more special device names, regardless of extension or surrounding spaces. \u003ca href=\"https://github.com/pallets/werkzeug/security/advisories/GHSA-87hc-h4r5-73f7\"\u003eGHSA-87hc-h4r5-73f7\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe multipart form parser handles a \u003ccode\u003e\\r\\n\u003c/code\u003e sequence at a chunk boundary. This fixes the previous attempt, which caused incorrect content lengths. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3065\"\u003e#3065\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3077\"\u003e#3077\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eAttributeError\u003c/code\u003e when initializing \u003ccode\u003eDebuggedApplication\u003c/code\u003e with \u003ccode\u003epin_security=False\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3075\"\u003e#3075\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.4\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.4 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/Werkzeug/3.1.4/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.4/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/page/changes/#version-3-1-4\"\u003ehttps://werkzeug.palletsprojects.com/page/changes/#version-3-1-4\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/werkzeug/milestone/42?closed=1\"\u003ehttps://github.com/pallets/werkzeug/milestone/42?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow special device names. This prevents reading from these when using \u003ccode\u003esend_from_directory\u003c/code\u003e. \u003ccode\u003esecure_filename\u003c/code\u003e already prevented writing to these. \u003ca href=\"https://github.com/pallets/werkzeug/security/advisories/GHSA-hgf8-39gv-g3f2\"\u003eghsa-hgf8-39gv-g3f2\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe debugger pin fails after 10 attempts instead of 11. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3020\"\u003e#3020\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe multipart form parser handles a \u003ccode\u003e\\r\\n\u003c/code\u003e sequence at a chunk boundary. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3065\"\u003e#3065\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove CPU usage during Watchdog reloader. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3054\"\u003e#3054\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.json\u003c/code\u003e annotation is more accurate. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3067\"\u003e#3067\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTraceback rendering handles when the line number is beyond the available source lines. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3044\"\u003e#3044\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eHTTPException.get_response\u003c/code\u003e annotation and doc better conveys the distinction between WSGI and sans-IO responses. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3056\"\u003e#3056\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.3\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.3 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes vs 3.1.0.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Werkzeug/3.1.3/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.3/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/en/stable/changes/#version-3-1-3\"\u003ehttps://werkzeug.palletsprojects.com/en/stable/changes/#version-3-1-3\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/werkzeug/milestone/41?closed=1\"\u003ehttps://github.com/pallets/werkzeug/milestone/41?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eInitial data passed to \u003ccode\u003eMultiDict\u003c/code\u003e and similar interfaces only accepts \u003ccode\u003elist\u003c/code\u003e, \u003ccode\u003etuple\u003c/code\u003e, or \u003ccode\u003eset\u003c/code\u003e when passing multiple values. It had been changed to accept any \u003ccode\u003eCollection\u003c/code\u003e, but this matched types that should be treated as single values, such as \u003ccode\u003ebytes\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/2994\"\u003e#2994\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen the \u003ccode\u003eHost\u003c/code\u003e header is not set and \u003ccode\u003eRequest.host\u003c/code\u003e falls back to the WSGI \u003ccode\u003eSERVER_NAME\u003c/code\u003e value, if that value is an IPv6 address it is wrapped in \u003ccode\u003e[]\u003c/code\u003e to match the \u003ccode\u003eHost\u003c/code\u003e header. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/2993\"\u003e#2993\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.2\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.2 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes vs 3.1.0.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Werkzeug/3.1.2/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/en/stable/changes/#version-3-1-2\"\u003ehttps://werkzeug.palletsprojects.com/en/stable/changes/#version-3-1-2\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/werkzeug/blob/main/CHANGES.rst\"\u003ewerkzeug's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.1.6\u003c/h2\u003e\n\u003cp\u003eReleased 2026-02-19\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow special devices names in\nmulti-segment paths. :ghsa:\u003ccode\u003e29vq-49wr-vm6x\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.5\u003c/h2\u003e\n\u003cp\u003eReleased 2026-01-08\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow more special device names, regardless\nof extension or surrounding spaces. :ghsa:\u003ccode\u003e87hc-h4r5-73f7\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe multipart form parser handles a \u003ccode\u003e\\r\\n\u003c/code\u003e sequence at a chunk boundary.\nThis fixes the previous attempt, which caused incorrect content lengths.\n:issue:\u003ccode\u003e3065\u003c/code\u003e :issue:\u003ccode\u003e3077\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eAttributeError\u003c/code\u003e when initializing \u003ccode\u003eDebuggedApplication\u003c/code\u003e with\n\u003ccode\u003epin_security=False\u003c/code\u003e. :issue:\u003ccode\u003e3075\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.4\u003c/h2\u003e\n\u003cp\u003eReleased 2025-11-28\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow special device names. This prevents\nreading from these when using \u003ccode\u003esend_from_directory\u003c/code\u003e. \u003ccode\u003esecure_filename\u003c/code\u003e\nalready prevented writing to these. :ghsa:\u003ccode\u003ehgf8-39gv-g3f2\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe debugger pin fails after 10 attempts instead of 11. :pr:\u003ccode\u003e3020\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe multipart form parser handles a \u003ccode\u003e\\r\\n\u003c/code\u003e sequence at a chunk boundary.\n:issue:\u003ccode\u003e3065\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eImprove CPU usage during Watchdog reloader. :issue:\u003ccode\u003e3054\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.json\u003c/code\u003e annotation is more accurate. :issue:\u003ccode\u003e3067\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eTraceback rendering handles when the line number is beyond the available\nsource lines. :issue:\u003ccode\u003e3044\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eHTTPException.get_response\u003c/code\u003e annotation and doc better conveys the\ndistinction between WSGI and sans-IO responses. :issue:\u003ccode\u003e3056\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.3\u003c/h2\u003e\n\u003cp\u003eReleased 2024-11-08\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eInitial data passed to \u003ccode\u003eMultiDict\u003c/code\u003e and similar interfaces only accepts\n\u003ccode\u003elist\u003c/code\u003e, \u003ccode\u003etuple\u003c/code\u003e, or \u003ccode\u003eset\u003c/code\u003e when passing multiple values. It had been\nchanged to accept any \u003ccode\u003eCollection\u003c/code\u003e, but this matched types that should be\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/werkzeug/commit/04da1b5221b7a7b57e82246e4b5741d37a6b2e56\"\u003e\u003ccode\u003e04da1b5\u003c/code\u003e\u003c/a\u003e release version 3.1.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/f407712fdc60a09c2b3f4fe7db557703e5d9338d\"\u003e\u003ccode\u003ef407712\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/f54fe98026253e70fbbcd35a6b52fb67cfff1c03\"\u003e\u003ccode\u003ef54fe98\u003c/code\u003e\u003c/a\u003e safe_join prevents Windows special device names in multi-segment paths\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/d005985ef69ffe3275eda8fb6fb25e074dbe871b\"\u003e\u003ccode\u003ed005985\u003c/code\u003e\u003c/a\u003e start version 3.1.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/8565c2cbd6681ae8463e77d4fc0795324a7fdae7\"\u003e\u003ccode\u003e8565c2c\u003c/code\u003e\u003c/a\u003e document rule priority (\u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3102\"\u003e#3102\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/3febc7e90072bffe04c27e6b7478dfc4f88930df\"\u003e\u003ccode\u003e3febc7e\u003c/code\u003e\u003c/a\u003e document rule priority\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/2525b827646c10ab7adb334664e6a4af1b769181\"\u003e\u003ccode\u003e2525b82\u003c/code\u003e\u003c/a\u003e remove state machine docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/4abfbd553cdeb6d4e6fa693340d52b13c884079f\"\u003e\u003ccode\u003e4abfbd5\u003c/code\u003e\u003c/a\u003e rewrite build docstring (\u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3097\"\u003e#3097\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/161c18b2a8800ae6ef377fb3cbdb933a878fea67\"\u003e\u003ccode\u003e161c18b\u003c/code\u003e\u003c/a\u003e rewrite build docstring\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/86e11c29e44726dae524cd9db11549b3b1ad681d\"\u003e\u003ccode\u003e86e11c2\u003c/code\u003e\u003c/a\u003e release version 3.1.5 (\u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3085\"\u003e#3085\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/werkzeug/compare/3.0.6...3.1.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `flask` from 3.0.3 to 3.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/releases\"\u003eflask's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.3\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.3 security fix release, which fixes a security issue but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.3/\"\u003ehttps://pypi.org/project/Flask/3.1.3/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-3\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-3\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys but not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. \u003ca href=\"https://github.com/pallets/flask/security/advisories/GHSA-68rp-wp8r-4726\"\u003eGHSA-68rp-wp8r-4726\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.2\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.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/Flask/3.1.2/\"\u003ehttps://pypi.org/project/Flask/3.1.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-2\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-2\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/38?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/38?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5774\"\u003e#5774\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state of \u003ccode\u003esession\u003c/code\u003e is correct. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5786\"\u003e#5786\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5776\"\u003e#5776\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.1\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.1 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.1/\"\u003ehttps://pypi.org/project/Flask/3.1.1/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/flask/milestone/36?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/36?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. GHSA-4grg-w6v8-c28g\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5645\"\u003e#5645\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loads the app and plugins first to make sure all commands are shown. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5673\"\u003e#5673\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMark sans-io base class as being able to handle views that return \u003ccode\u003eAsyncIterable\u003c/code\u003e. This is not accurate for Flask, but makes typing easier for Quart. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5659\"\u003e#5659\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.0\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecations, or introduce potentially breaking changes. We encourage everyone to upgrade, and to use a tool such as \u003ca href=\"https://pypi.org/project/pip-tools/\"\u003epip-tools\u003c/a\u003e to pin all dependencies and control upgrades. Test with warnings treated as errors to be able to adapt to deprecation warnings early.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.0/\"\u003ehttps://pypi.org/project/Flask/3.1.0/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-0\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-0\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/33?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/33?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5623\"\u003e#5623\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate minimum dependency versions to latest feature releases. Werkzeug \u0026gt;= 3.1, ItsDangerous \u0026gt;= 2.2, Blinker \u0026gt;= 1.9. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5624\"\u003e#5624\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5633\"\u003e#5633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProvide a configuration option to control automatic option responses. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5496\"\u003e#5496\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFlask.open_resource\u003c/code\u003e/\u003ccode\u003eopen_instance_resource\u003c/code\u003e and \u003ccode\u003eBlueprint.open_resource\u003c/code\u003e take an \u003ccode\u003eencoding\u003c/code\u003e parameter to use when opening in text mode. It defaults to \u003ccode\u003eutf-8\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5504\"\u003e#5504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.max_content_length\u003c/code\u003e can be customized per-request instead of only through the \u003ccode\u003eMAX_CONTENT_LENGTH\u003c/code\u003e config. Added \u003ccode\u003eMAX_FORM_MEMORY_SIZE\u003c/code\u003e and \u003ccode\u003eMAX_FORM_PARTS\u003c/code\u003e config. Added documentation about resource limits to the security page. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5625\"\u003e#5625\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for the \u003ccode\u003ePartitioned\u003c/code\u003e cookie attribute (CHIPS), with the \u003ccode\u003eSESSION_COOKIE_PARTITIONED\u003c/code\u003e config. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5472\"\u003e#5472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e-e path\u003c/code\u003e takes precedence over default \u003ccode\u003e.env\u003c/code\u003e and \u003ccode\u003e.flaskenv\u003c/code\u003e files. \u003ccode\u003eload_dotenv\u003c/code\u003e loads default files in addition to a path unless \u003ccode\u003eload_defaults=False\u003c/code\u003e is passed. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5628\"\u003e#5628\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport key rotation with the \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e config, a list of old secret keys that can still be used for unsigning. Extensions will need to add support. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5621\"\u003e#5621\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix how setting \u003ccode\u003ehost_matching=True\u003c/code\u003e or \u003ccode\u003esubdomain_matching=False\u003c/code\u003e interacts with \u003ccode\u003eSERVER_NAME\u003c/code\u003e. Setting \u003ccode\u003eSERVER_NAME\u003c/code\u003e no longer restricts requests to only that domain. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5553\"\u003e#5553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.trusted_hosts\u003c/code\u003e is checked during routing, and can be set through the \u003ccode\u003eTRUSTED_HOSTS\u003c/code\u003e config. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5636\"\u003e#5636\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.0.3\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/blob/main/CHANGES.rst\"\u003eflask's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.1.3\u003c/h2\u003e\n\u003cp\u003eReleased 2026-02-18\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys\nbut not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. :ghsa:\u003ccode\u003e68rp-wp8r-4726\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.2\u003c/h2\u003e\n\u003cp\u003eReleased 2025-08-19\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. :issue:\u003ccode\u003e5774\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state\nof \u003ccode\u003esession\u003c/code\u003e is correct. :issue:\u003ccode\u003e5786\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. :issue:\u003ccode\u003e5776\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-05-13\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via\n\u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. :ghsa:\u003ccode\u003e4grg-w6v8-c28g\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. :issue:\u003ccode\u003e5645\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loads the app and plugins first to make sure all commands\nare shown. :issue:\u003ccode\u003e5673\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eMark sans-io base class as being able to handle views that return\n\u003ccode\u003eAsyncIterable\u003c/code\u003e. This is not accurate for Flask, but makes typing easier\nfor Quart. :pr:\u003ccode\u003e5659\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.0\u003c/h2\u003e\n\u003cp\u003eReleased 2024-11-13\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. :pr:\u003ccode\u003e5623\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUpdate minimum dependency versions to latest feature releases.\nWerkzeug \u0026gt;= 3.1, ItsDangerous \u0026gt;= 2.2, Blinker \u0026gt;= 1.9. :pr:\u003ccode\u003e5624,5633\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eProvide a configuration option to control automatic option\nresponses. :pr:\u003ccode\u003e5496\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFlask.open_resource\u003c/code\u003e/\u003ccode\u003eopen_instance_resource\u003c/code\u003e and\n\u003ccode\u003eBlueprint.open_resource\u003c/code\u003e take an \u003ccode\u003eencoding\u003c/code\u003e parameter to use when\nopening in text mode. It defaults to \u003ccode\u003eutf-8\u003c/code\u003e. :issue:\u003ccode\u003e5504\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.max_content_length\u003c/code\u003e can be customized per-request instead of only\nthrough the \u003ccode\u003eMAX_CONTENT_LENGTH\u003c/code\u003e config. Added\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/22d924701a6ae2e4cd01e9a15bbaf3946094af65\"\u003e\u003ccode\u003e22d9247\u003c/code\u003e\u003c/a\u003e release version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/089cb86dd22bff589a4eafb7ab8e42dc357623b4\"\u003e\u003ccode\u003e089cb86\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/c17f379390731543eea33a570a47bd4ef76a54fa\"\u003e\u003ccode\u003ec17f379\u003c/code\u003e\u003c/a\u003e request context tracks session access\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/27be9338405382445a7cb01151e084559b98d602\"\u003e\u003ccode\u003e27be933\u003c/code\u003e\u003c/a\u003e start version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4e652d3f68b90d50aa2301d3b7e68c3fafd9251d\"\u003e\u003ccode\u003e4e652d3\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5903\"\u003e#5903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/3d03098a97ddc6a908aa4a50c2ef7381f8297d0a\"\u003e\u003ccode\u003e3d03098\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/407eb76b27884848383a37c7274654f0271e4bc4\"\u003e\u003ccode\u003e407eb76\u003c/code\u003e\u003c/a\u003e document using gevent for async (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5900\"\u003e#5900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/ac5664d2281533eacafd64f5cc7d5edcdaccab60\"\u003e\u003ccode\u003eac5664d\u003c/code\u003e\u003c/a\u003e document using gevent for async\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4f79d5b59a56bc4356a97f2e81a35f98cb18d7b3\"\u003e\u003ccode\u003e4f79d5b\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11 (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5865\"\u003e#5865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/fe3b215d3ade4db68262dae1a3cdc464a1fc524f\"\u003e\u003ccode\u003efe3b215\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/flask/compare/2.2.5...3.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `werkzeug` from 3.0.6 to 3.1.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/werkzeug/releases\"\u003ewerkzeug's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.6\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.6 security fix release, which fixes a security issue but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Werkzeug/3.1.6/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.6/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/page/changes/#version-3-1-6\"\u003ehttps://werkzeug.palletsprojects.com/page/changes/#version-3-1-6\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow special devices names in multi-segment paths. \u003ca href=\"https://github.com/pallets/werkzeug/security/advisories/GHSA-29vq-49wr-vm6x\"\u003eGHSA-29vq-49wr-vm6x\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.5\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.5 security fix release, which fixes security issues and 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/Werkzeug/3.1.5/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.5/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/page/changes/#version-3-1-5\"\u003ehttps://werkzeug.palletsprojects.com/page/changes/#version-3-1-5\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/werkzeug/milestone/43?closed=1\"\u003ehttps://github.com/pallets/werkzeug/milestone/43?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow more special device names, regardless of extension or surrounding spaces. \u003ca href=\"https://github.com/pallets/werkzeug/security/advisories/GHSA-87hc-h4r5-73f7\"\u003eGHSA-87hc-h4r5-73f7\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe multipart form parser handles a \u003ccode\u003e\\r\\n\u003c/code\u003e sequence at a chunk boundary. This fixes the previous attempt, which caused incorrect content lengths. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3065\"\u003e#3065\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3077\"\u003e#3077\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eAttributeError\u003c/code\u003e when initializing \u003ccode\u003eDebuggedApplication\u003c/code\u003e with \u003ccode\u003epin_security=False\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3075\"\u003e#3075\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.4\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.4 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/Werkzeug/3.1.4/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.4/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/page/changes/#version-3-1-4\"\u003ehttps://werkzeug.palletsprojects.com/page/changes/#version-3-1-4\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/werkzeug/milestone/42?closed=1\"\u003ehttps://github.com/pallets/werkzeug/milestone/42?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow special device names. This prevents reading from these when using \u003ccode\u003esend_from_directory\u003c/code\u003e. \u003ccode\u003esecure_filename\u003c/code\u003e already prevented writing to these. \u003ca href=\"https://github.com/pallets/werkzeug/security/advisories/GHSA-hgf8-39gv-g3f2\"\u003eghsa-hgf8-39gv-g3f2\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe debugger pin fails after 10 attempts instead of 11. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3020\"\u003e#3020\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe multipart form parser handles a \u003ccode\u003e\\r\\n\u003c/code\u003e sequence at a chunk boundary. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3065\"\u003e#3065\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove CPU usage during Watchdog reloader. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3054\"\u003e#3054\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.json\u003c/code\u003e annotation is more accurate. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3067\"\u003e#3067\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTraceback rendering handles when the line number is beyond the available source lines. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3044\"\u003e#3044\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eHTTPException.get_response\u003c/code\u003e annotation and doc better conveys the distinction between WSGI and sans-IO responses. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3056\"\u003e#3056\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.3\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.3 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes vs 3.1.0.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Werkzeug/3.1.3/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.3/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/en/stable/changes/#version-3-1-3\"\u003ehttps://werkzeug.palletsprojects.com/en/stable/changes/#version-3-1-3\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/werkzeug/milestone/41?closed=1\"\u003ehttps://github.com/pallets/werkzeug/milestone/41?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eInitial data passed to \u003ccode\u003eMultiDict\u003c/code\u003e and similar interfaces only accepts \u003ccode\u003elist\u003c/code\u003e, \u003ccode\u003etuple\u003c/code\u003e, or \u003ccode\u003eset\u003c/code\u003e when passing multiple values. It had been changed to accept any \u003ccode\u003eCollection\u003c/code\u003e, but this matched types that should be treated as single values, such as \u003ccode\u003ebytes\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/2994\"\u003e#2994\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen the \u003ccode\u003eHost\u003c/code\u003e header is not set and \u003ccode\u003eRequest.host\u003c/code\u003e falls back to the WSGI \u003ccode\u003eS...\n\n_Description has been truncated_","html_url":"https://github.com/adil-faiyaz98/python-docs-samples/pull/6","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/adil-faiyaz98%2Fpython-docs-samples/issues/6","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/6/packages"},{"uuid":"4067089918","node_id":"PR_kwDOQE0kNc7KKUI8","number":162,"state":"closed","title":"chore(deps): bump the pip group across 4 directories with 3 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-03-12T20:32:00.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-12T20:31:42.000Z","updated_at":"2026-03-12T20:33:36.000Z","time_to_close":18,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"pip","update_count":3,"packages":[{"name":"python-multipart","old_version":"0.0.9","new_version":"0.0.22","repository_url":"https://github.com/Kludex/python-multipart"},{"name":"black","old_version":"24.3.0","new_version":"26.3.1","repository_url":"https://github.com/psf/black"},{"name":"black","old_version":"24.3.0","new_version":"26.3.1","repository_url":"https://github.com/psf/black"},{"name":"black","old_version":"24.3.0","new_version":"26.3.1","repository_url":"https://github.com/psf/black"},{"name":"apache-airflow","old_version":"3.1.1","new_version":"3.2.0b1","repository_url":"https://github.com/apache/airflow"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pip group with 1 update in the /master-ia/Modulo 4 - Infraestructura y Cloud/Clase 8 - Proyecto Final directory: [python-multipart](https://github.com/Kludex/python-multipart).\nBumps the pip group with 1 update in the /modulo-02-sql/tema-2-sql-intermedio/04-proyecto-practico directory: [black](https://github.com/psf/black).\nBumps the pip group with 1 update in the /modulo-04-apis-scraping/tema-2-web-scraping/04-proyecto-practico directory: [black](https://github.com/psf/black).\nBumps the pip group with 2 updates in the /modulo-06-airflow/tema-2-intermedio/proyecto-practico directory: [black](https://github.com/psf/black) and [apache-airflow](https://github.com/apache/airflow).\n\nUpdates `python-multipart` from 0.0.9 to 0.0.22\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kludex/python-multipart/releases\"\u003epython-multipart's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0.0.22\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop directory path from filename in \u003ccode\u003eFile\u003c/code\u003e \u003ca href=\"https://github.com/Kludex/python-multipart/commit/9433f4bbc9652bdde82bbe380984e32f8cfc89c4\"\u003e9433f4b\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/python-multipart/compare/0.0.21...0.0.22\"\u003ehttps://github.com/Kludex/python-multipart/compare/0.0.21...0.0.22\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.0.21\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14 and drop EOL 3.8 and 3.9 by \u003ca href=\"https://github.com/hugovk\"\u003e\u003ccode\u003e@​hugovk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/216\"\u003eKludex/python-multipart#216\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/waketzheng\"\u003e\u003ccode\u003e@​waketzheng\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/203\"\u003eKludex/python-multipart#203\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/python-multipart/compare/0.0.20...0.0.21\"\u003ehttps://github.com/Kludex/python-multipart/compare/0.0.20...0.0.21\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.0.20\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHandle messages containing only end boundary, fixes \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/38\"\u003e#38\u003c/a\u003e by \u003ca href=\"https://github.com/jhnstrk\"\u003e\u003ccode\u003e@​jhnstrk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/142\"\u003eKludex/python-multipart#142\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/Mr-Sunglasses\"\u003e\u003ccode\u003e@​Mr-Sunglasses\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/185\"\u003eKludex/python-multipart#185\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/python-multipart/compare/0.0.19...0.0.20\"\u003ehttps://github.com/Kludex/python-multipart/compare/0.0.19...0.0.20\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.0.19\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDon't warn when CRLF is found after last boundary by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/193\"\u003eKludex/python-multipart#193\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/python-multipart/compare/0.0.18...0.0.19\"\u003ehttps://github.com/Kludex/python-multipart/compare/0.0.18...0.0.19\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.0.18\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHard break if found data after last boundary on \u003ccode\u003eMultipartParser\u003c/code\u003e by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/189\"\u003eKludex/python-multipart#189\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/python-multipart/compare/0.0.17...0.0.18\"\u003ehttps://github.com/Kludex/python-multipart/compare/0.0.17...0.0.18\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.0.17\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHandle PermissionError in fallback code for old import name by \u003ca href=\"https://github.com/defnull\"\u003e\u003ccode\u003e@​defnull\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/182\"\u003eKludex/python-multipart#182\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kludex/python-multipart/blob/master/CHANGELOG.md\"\u003epython-multipart's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.22 (2026-01-25)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop directory path from filename in \u003ccode\u003eFile\u003c/code\u003e \u003ca href=\"https://github.com/Kludex/python-multipart/commit/9433f4bbc9652bdde82bbe380984e32f8cfc89c4\"\u003e9433f4b\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.21 (2025-12-17)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14 and drop EOL 3.8 and 3.9 \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/216\"\u003e#216\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.20 (2024-12-16)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHandle messages containing only end boundary \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/142\"\u003e#142\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.19 (2024-11-30)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDon't warn when CRLF is found after last boundary on \u003ccode\u003eMultipartParser\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/193\"\u003e#193\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.18 (2024-11-28)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHard break if found data after last boundary on \u003ccode\u003eMultipartParser\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/189\"\u003e#189\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.17 (2024-10-31)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHandle PermissionError in fallback code for old import name \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/182\"\u003e#182\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.16 (2024-10-27)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd dunder attributes to \u003ccode\u003emultipart\u003c/code\u003e package \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/177\"\u003e#177\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.15 (2024-10-27)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReplace \u003ccode\u003eFutureWarning\u003c/code\u003e to \u003ccode\u003ePendingDeprecationWarning\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/174\"\u003e#174\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdd missing files to SDist \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/171\"\u003e#171\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.14 (2024-10-24)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix import scheme for \u003ccode\u003emultipart\u003c/code\u003e module (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/168\"\u003e#168\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.13 (2024-10-20)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRename import to \u003ccode\u003epython_multipart\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/166\"\u003e#166\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.12 (2024-09-29)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImprove error message when boundary character does not match \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/124\"\u003e#124\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdd mypy strict typing \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/140\"\u003e#140\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eEnforce 100% coverage \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/159\"\u003e#159\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.11 (2024-09-28)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImprove performance, especially in data with many CR-LF \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/137\"\u003e#137\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/Kludex/python-multipart/commit/bea7bbb2904da8ce39123a845088dc72464eaddf\"\u003e\u003ccode\u003ebea7bbb\u003c/code\u003e\u003c/a\u003e Version 0.0.22 (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/222\"\u003e#222\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/0fb59a9df0f273bfde99740b302ccb2ae45e2b8a\"\u003e\u003ccode\u003e0fb59a9\u003c/code\u003e\u003c/a\u003e chore: add return type on test (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/221\"\u003e#221\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/9433f4bbc9652bdde82bbe380984e32f8cfc89c4\"\u003e\u003ccode\u003e9433f4b\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/d5c91ecb0aa1cae03fe2d9811d193c952e714f17\"\u003e\u003ccode\u003ed5c91ec\u003c/code\u003e\u003c/a\u003e Bump the github-actions group with 2 updates (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/219\"\u003e#219\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/5a90631b484f8d3284b691d453c24be3db57f5cb\"\u003e\u003ccode\u003e5a90631\u003c/code\u003e\u003c/a\u003e bump uv (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/218\"\u003e#218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/1f72955602445706b5517a6f58a720796ad3d96a\"\u003e\u003ccode\u003e1f72955\u003c/code\u003e\u003c/a\u003e Version 0.0.21 (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/217\"\u003e#217\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/47ecfed3533ed8dcafd800508dbf594438fd0949\"\u003e\u003ccode\u003e47ecfed\u003c/code\u003e\u003c/a\u003e Add support for Python 3.14 and drop EOL 3.8 and 3.9 (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/216\"\u003e#216\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/f18b70941b727c947f7e6b17e1c3321f5ad3afb6\"\u003e\u003ccode\u003ef18b709\u003c/code\u003e\u003c/a\u003e Bump the github-actions group across 1 directory with 4 updates (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/214\"\u003e#214\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/b388e9a7a82605cc8613798926afe8f6074cb372\"\u003e\u003ccode\u003eb388e9a\u003c/code\u003e\u003c/a\u003e chore: use depedency-groups in \u003ccode\u003epyproject.toml\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/212\"\u003e#212\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/6113e750971918a51f79c3bb2585e95ed1c53245\"\u003e\u003ccode\u003e6113e75\u003c/code\u003e\u003c/a\u003e Bump the github-actions group across 1 directory with 3 updates (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/210\"\u003e#210\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kludex/python-multipart/compare/0.0.9...0.0.22\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `black` from 24.3.0 to 26.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/black/releases\"\u003eblack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.3.1\u003c/h2\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent Jupyter notebook magic masking collisions from corrupting cells by using\nexact-length placeholders for short magics and aborting if a placeholder can no longer\nbe unmasked safely (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eConfiguration\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAlways hash cache filename components derived from \u003ccode\u003e--python-cell-magics\u003c/code\u003e so custom\nmagic names cannot affect cache paths (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003cem\u003eBlackd\u003c/em\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDisable browser-originated requests by default, add configurable origin allowlisting\nand request body limits, and bound executor submissions to improve backpressure\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/5039\"\u003e#5039\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e26.3.0\u003c/h2\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't double-decode input, causing non-UTF-8 files to be corrupted (\u003ca href=\"https://redirect.github.com/psf/black/issues/4964\"\u003e#4964\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on standalone comment in lambda default arguments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4993\"\u003e#4993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve parentheses when \u003ccode\u003e# type: ignore\u003c/code\u003e comments would be merged with other\ncomments on the same line, preventing AST equivalence failures (\u003ca href=\"https://redirect.github.com/psf/black/issues/4888\"\u003e#4888\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix bug where \u003ccode\u003eif\u003c/code\u003e guards in \u003ccode\u003ecase\u003c/code\u003e blocks were incorrectly split when the pattern had\na trailing comma (\u003ca href=\"https://redirect.github.com/psf/black/issues/4884\"\u003e#4884\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003estring_processing\u003c/code\u003e crashing on unassigned long string literals with trailing\ncommas (one-item tuples) (\u003ca href=\"https://redirect.github.com/psf/black/issues/4929\"\u003e#4929\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplify implementation of the power operator \u0026quot;hugging\u0026quot; logic (\u003ca href=\"https://redirect.github.com/psf/black/issues/4918\"\u003e#4918\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePackaging\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix shutdown errors in PyInstaller builds on macOS by disabling multiprocessing in\nfrozen environments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4930\"\u003e#4930\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce winloop for windows as an alternative to uvloop (\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove deprecated function \u003ccode\u003euvloop.install()\u003c/code\u003e in favor of \u003ccode\u003euvloop.new_event_loop()\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRename \u003ccode\u003emaybe_install_uvloop\u003c/code\u003e function to \u003ccode\u003emaybe_use_uvloop\u003c/code\u003e to simplify loop\ninstallation and creation of either a uvloop/winloop evenloop or default eventloop\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOutput\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/black/blob/main/CHANGES.md\"\u003eblack's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.3.1\u003c/h2\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent Jupyter notebook magic masking collisions from corrupting cells by using\nexact-length placeholders for short magics and aborting if a placeholder can no longer\nbe unmasked safely (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eConfiguration\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAlways hash cache filename components derived from \u003ccode\u003e--python-cell-magics\u003c/code\u003e so custom\nmagic names cannot affect cache paths (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003cem\u003eBlackd\u003c/em\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDisable browser-originated requests by default, add configurable origin allowlisting\nand request body limits, and bound executor submissions to improve backpressure\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/5039\"\u003e#5039\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e26.3.0\u003c/h2\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't double-decode input, causing non-UTF-8 files to be corrupted (\u003ca href=\"https://redirect.github.com/psf/black/issues/4964\"\u003e#4964\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on standalone comment in lambda default arguments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4993\"\u003e#4993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve parentheses when \u003ccode\u003e# type: ignore\u003c/code\u003e comments would be merged with other\ncomments on the same line, preventing AST equivalence failures (\u003ca href=\"https://redirect.github.com/psf/black/issues/4888\"\u003e#4888\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix bug where \u003ccode\u003eif\u003c/code\u003e guards in \u003ccode\u003ecase\u003c/code\u003e blocks were incorrectly split when the pattern had\na trailing comma (\u003ca href=\"https://redirect.github.com/psf/black/issues/4884\"\u003e#4884\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003estring_processing\u003c/code\u003e crashing on unassigned long string literals with trailing\ncommas (one-item tuples) (\u003ca href=\"https://redirect.github.com/psf/black/issues/4929\"\u003e#4929\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplify implementation of the power operator \u0026quot;hugging\u0026quot; logic (\u003ca href=\"https://redirect.github.com/psf/black/issues/4918\"\u003e#4918\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePackaging\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix shutdown errors in PyInstaller builds on macOS by disabling multiprocessing in\nfrozen environments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4930\"\u003e#4930\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce winloop for windows as an alternative to uvloop (\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove deprecated function \u003ccode\u003euvloop.install()\u003c/code\u003e in favor of \u003ccode\u003euvloop.new_event_loop()\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRename \u003ccode\u003emaybe_install_uvloop\u003c/code\u003e function to \u003ccode\u003emaybe_use_uvloop\u003c/code\u003e to simplify loop\ninstallation and creation of either a uvloop/winloop evenloop or default eventloop\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/c6755bb741b6481d6b3d3bb563c83fa060db96c9\"\u003e\u003ccode\u003ec6755bb\u003c/code\u003e\u003c/a\u003e Prepare release 26.3.1 (\u003ca href=\"https://redirect.github.com/psf/black/issues/5046\"\u003e#5046\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/69973fd6950985fbeb1090d96da717dc4d8380b0\"\u003e\u003ccode\u003e69973fd\u003c/code\u003e\u003c/a\u003e Harden blackd browser-facing request handling (\u003ca href=\"https://redirect.github.com/psf/black/issues/5039\"\u003e#5039\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/4937fe6cf241139ddbfc16b0bdbb5b422798909d\"\u003e\u003ccode\u003e4937fe6\u003c/code\u003e\u003c/a\u003e Fix some shenanigans with the cache file and IPython (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/2e641d174469c505d5ae905e75d4c769597e681f\"\u003e\u003ccode\u003e2e641d1\u003c/code\u003e\u003c/a\u003e docs: remove outdated Black Playground references (\u003ca href=\"https://redirect.github.com/psf/black/issues/5044\"\u003e#5044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/c014b22a2d5e0632587b47b81151658bddfa0b88\"\u003e\u003ccode\u003ec014b22\u003c/code\u003e\u003c/a\u003e Remove unused internal code (\u003ca href=\"https://redirect.github.com/psf/black/issues/5041\"\u003e#5041\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/0dae20b2d009f2f03de8696d06b0c947d3abafc9\"\u003e\u003ccode\u003e0dae20b\u003c/code\u003e\u003c/a\u003e Add new changelog (\u003ca href=\"https://redirect.github.com/psf/black/issues/5036\"\u003e#5036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/c5c1cbddd92cecb554ac2a77a24139dd76831030\"\u003e\u003ccode\u003ec5c1cbd\u003c/code\u003e\u003c/a\u003e Minor release patches (\u003ca href=\"https://redirect.github.com/psf/black/issues/5035\"\u003e#5035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/7e5a828c37d71b6a6666e28eed444816def6a8f4\"\u003e\u003ccode\u003e7e5a828\u003c/code\u003e\u003c/a\u003e docs: clarify relationship between Black style and PEP 8 (\u003ca href=\"https://redirect.github.com/psf/black/issues/5025\"\u003e#5025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/69705deb8776e7c5e585668da106d1abe2cb8d77\"\u003e\u003ccode\u003e69705de\u003c/code\u003e\u003c/a\u003e docs: add clearer pyproject configuration guidance (\u003ca href=\"https://redirect.github.com/psf/black/issues/5026\"\u003e#5026\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/35ea67920b7f6ac8e09be1c47278752b1e827f76\"\u003e\u003ccode\u003e35ea679\u003c/code\u003e\u003c/a\u003e Prepare release 26.3.0 (\u003ca href=\"https://redirect.github.com/psf/black/issues/5032\"\u003e#5032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/black/compare/24.3.0...26.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `black` from 24.3.0 to 26.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/black/releases\"\u003eblack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.3.1\u003c/h2\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent Jupyter notebook magic masking collisions from corrupting cells by using\nexact-length placeholders for short magics and aborting if a placeholder can no longer\nbe unmasked safely (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eConfiguration\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAlways hash cache filename components derived from \u003ccode\u003e--python-cell-magics\u003c/code\u003e so custom\nmagic names cannot affect cache paths (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003cem\u003eBlackd\u003c/em\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDisable browser-originated requests by default, add configurable origin allowlisting\nand request body limits, and bound executor submissions to improve backpressure\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/5039\"\u003e#5039\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e26.3.0\u003c/h2\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't double-decode input, causing non-UTF-8 files to be corrupted (\u003ca href=\"https://redirect.github.com/psf/black/issues/4964\"\u003e#4964\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on standalone comment in lambda default arguments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4993\"\u003e#4993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve parentheses when \u003ccode\u003e# type: ignore\u003c/code\u003e comments would be merged with other\ncomments on the same line, preventing AST equivalence failures (\u003ca href=\"https://redirect.github.com/psf/black/issues/4888\"\u003e#4888\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix bug where \u003ccode\u003eif\u003c/code\u003e guards in \u003ccode\u003ecase\u003c/code\u003e blocks were incorrectly split when the pattern had\na trailing comma (\u003ca href=\"https://redirect.github.com/psf/black/issues/4884\"\u003e#4884\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003estring_processing\u003c/code\u003e crashing on unassigned long string literals with trailing\ncommas (one-item tuples) (\u003ca href=\"https://redirect.github.com/psf/black/issues/4929\"\u003e#4929\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplify implementation of the power operator \u0026quot;hugging\u0026quot; logic (\u003ca href=\"https://redirect.github.com/psf/black/issues/4918\"\u003e#4918\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePackaging\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix shutdown errors in PyInstaller builds on macOS by disabling multiprocessing in\nfrozen environments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4930\"\u003e#4930\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce winloop for windows as an alternative to uvloop (\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove deprecated function \u003ccode\u003euvloop.install()\u003c/code\u003e in favor of \u003ccode\u003euvloop.new_event_loop()\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRename \u003ccode\u003emaybe_install_uvloop\u003c/code\u003e function to \u003ccode\u003emaybe_use_uvloop\u003c/code\u003e to simplify loop\ninstallation and creation of either a uvloop/winloop evenloop or default eventloop\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOutput\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/black/blob/main/CHANGES.md\"\u003eblack's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.3.1\u003c/h2\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent Jupyter notebook magic masking collisions from corrupting cells by using\nexact-length placeholders for short magics and aborting if a placeholder can no longer\nbe unmasked safely (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eConfiguration\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAlways hash cache filename components derived from \u003ccode\u003e--python-cell-magics\u003c/code\u003e so custom\nmagic names cannot affect cache paths (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003cem\u003eBlackd\u003c/em\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDisable browser-originated requests by default, add configurable origin allowlisting\nand request body limits, and bound executor submissions to improve backpressure\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/5039\"\u003e#5039\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e26.3.0\u003c/h2\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't double-decode input, causing non-UTF-8 files to be corrupted (\u003ca href=\"https://redirect.github.com/psf/black/issues/4964\"\u003e#4964\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on standalone comment in lambda default arguments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4993\"\u003e#4993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve parentheses when \u003ccode\u003e# type: ignore\u003c/code\u003e comments would be merged with other\ncomments on the same line, preventing AST equivalence failures (\u003ca href=\"https://redirect.github.com/psf/black/issues/4888\"\u003e#4888\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix bug where \u003ccode\u003eif\u003c/code\u003e guards in \u003ccode\u003ecase\u003c/code\u003e blocks were incorrectly split when the pattern had\na trailing comma (\u003ca href=\"https://redirect.github.com/psf/black/issues/4884\"\u003e#4884\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003estring_processing\u003c/code\u003e crashing on unassigned long string literals with trailing\ncommas (one-item tuples) (\u003ca href=\"https://redirect.github.com/psf/black/issues/4929\"\u003e#4929\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplify implementation of the power operator \u0026quot;hugging\u0026quot; logic (\u003ca href=\"https://redirect.github.com/psf/black/issues/4918\"\u003e#4918\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePackaging\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix shutdown errors in PyInstaller builds on macOS by disabling multiprocessing in\nfrozen environments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4930\"\u003e#4930\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce winloop for windows as an alternative to uvloop (\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove deprecated function \u003ccode\u003euvloop.install()\u003c/code\u003e in favor of \u003ccode\u003euvloop.new_event_loop()\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRename \u003ccode\u003emaybe_install_uvloop\u003c/code\u003e function to \u003ccode\u003emaybe_use_uvloop\u003c/code\u003e to simplify loop\ninstallation and creation of either a uvloop/winloop evenloop or default eventloop\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/c6755bb741b6481d6b3d3bb563c83fa060db96c9\"\u003e\u003ccode\u003ec6755bb\u003c/code\u003e\u003c/a\u003e Prepare release 26.3.1 (\u003ca href=\"https://redirect.github.com/psf/black/issues/5046\"\u003e#5046\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/69973fd6950985fbeb1090d96da717dc4d8380b0\"\u003e\u003ccode\u003e69973fd\u003c/code\u003e\u003c/a\u003e Harden blackd browser-facing request handling (\u003ca href=\"https://redirect.github.com/psf/black/issues/5039\"\u003e#5039\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/4937fe6cf241139ddbfc16b0bdbb5b422798909d\"\u003e\u003ccode\u003e4937fe6\u003c/code\u003e\u003c/a\u003e Fix some shenanigans with the cache file and IPython (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/2e641d174469c505d5ae905e75d4c769597e681f\"\u003e\u003ccode\u003e2e641d1\u003c/code\u003e\u003c/a\u003e docs: remove outdated Black Playground references (\u003ca href=\"https://redirect.github.com/psf/black/issues/5044\"\u003e#5044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/c014b22a2d5e0632587b47b81151658bddfa0b88\"\u003e\u003ccode\u003ec014b22\u003c/code\u003e\u003c/a\u003e Remove unused internal code (\u003ca href=\"https://redirect.github.com/psf/black/issues/5041\"\u003e#5041\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/0dae20b2d009f2f03de8696d06b0c947d3abafc9\"\u003e\u003ccode\u003e0dae20b\u003c/code\u003e\u003c/a\u003e Add new changelog (\u003ca href=\"https://redirect.github.com/psf/black/issues/5036\"\u003e#5036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/c5c1cbddd92cecb554ac2a77a24139dd76831030\"\u003e\u003ccode\u003ec5c1cbd\u003c/code\u003e\u003c/a\u003e Minor release patches (\u003ca href=\"https://redirect.github.com/psf/black/issues/5035\"\u003e#5035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/7e5a828c37d71b6a6666e28eed444816def6a8f4\"\u003e\u003ccode\u003e7e5a828\u003c/code\u003e\u003c/a\u003e docs: clarify relationship between Black style and PEP 8 (\u003ca href=\"https://redirect.github.com/psf/black/issues/5025\"\u003e#5025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/69705deb8776e7c5e585668da106d1abe2cb8d77\"\u003e\u003ccode\u003e69705de\u003c/code\u003e\u003c/a\u003e docs: add clearer pyproject configuration guidance (\u003ca href=\"https://redirect.github.com/psf/black/issues/5026\"\u003e#5026\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/35ea67920b7f6ac8e09be1c47278752b1e827f76\"\u003e\u003ccode\u003e35ea679\u003c/code\u003e\u003c/a\u003e Prepare release 26.3.0 (\u003ca href=\"https://redirect.github.com/psf/black/issues/5032\"\u003e#5032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/black/compare/24.3.0...26.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `black` from 24.3.0 to 26.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/black/releases\"\u003eblack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.3.1\u003c/h2\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent Jupyter notebook magic masking collisions from corrupting cells by using\nexact-length placeholders for short magics and aborting if a placeholder can no longer\nbe unmasked safely (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eConfiguration\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAlways hash cache filename components derived from \u003ccode\u003e--python-cell-magics\u003c/code\u003e so custom\nmagic names cannot affect cache paths (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003cem\u003eBlackd\u003c/em\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDisable browser-originated requests by default, add configurable origin allowlisting\nand request body limits, and bound executor submissions to improve backpressure\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/5039\"\u003e#5039\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e26.3.0\u003c/h2\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't double-decode input, causing non-UTF-8 files to be corrupted (\u003ca href=\"https://redirect.github.com/psf/black/issues/4964\"\u003e#4964\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on standalone comment in lambda default arguments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4993\"\u003e#4993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve parentheses when \u003ccode\u003e# type: ignore\u003c/code\u003e comments would be merged with other\ncomments on the same line, preventing AST equivalence failures (\u003ca href=\"https://redirect.github.com/psf/black/issues/4888\"\u003e#4888\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix bug where \u003ccode\u003eif\u003c/code\u003e guards in \u003ccode\u003ecase\u003c/code\u003e blocks were incorrectly split when the pattern had\na trailing comma (\u003ca href=\"https://redirect.github.com/psf/black/issues/4884\"\u003e#4884\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003estring_processing\u003c/code\u003e crashing on unassigned long string literals with trailing\ncommas (one-item tuples) (\u003ca href=\"https://redirect.github.com/psf/black/issues/4929\"\u003e#4929\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplify implementation of the power operator \u0026quot;hugging\u0026quot; logic (\u003ca href=\"https://redirect.github.com/psf/black/issues/4918\"\u003e#4918\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePackaging\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix shutdown errors in PyInstaller builds on macOS by disabling multiprocessing in\nfrozen environments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4930\"\u003e#4930\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce winloop for windows as an alternative to uvloop (\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove deprecated function \u003ccode\u003euvloop.install()\u003c/code\u003e in favor of \u003ccode\u003euvloop.new_event_loop()\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRename \u003ccode\u003emaybe_install_uvloop\u003c/code\u003e function to \u003ccode\u003emaybe_use_uvloop\u003c/code\u003e to simplify loop\ninstallation and creation of either a uvloop/winloop evenloop or default eventloop\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOutput\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/black/blob/main/CHANGES.md\"\u003eblack's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.3.1\u003c/h2\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent Jupyter notebook magic masking collisions from corrupting cells by using\nexact-length placeholders for short magics and aborting if a placeholder can no longer\nbe unmasked safely (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eConfiguration\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAlways hash cache filename components derived from \u003ccode\u003e--python-cell-magics\u003c/code\u003e so custom\nmagic names cannot affect cache paths (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003cem\u003eBlackd\u003c/em\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDisable browser-originated requests by default, add configurable origin allowlisting\nand request body limits, and bound executor submissions to improve backpressure\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/5039\"\u003e#5039\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e26.3.0\u003c/h2\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't double-decode input, causing non-UTF-8 files to be corrupted (\u003ca href=\"https://redirect.github.com/psf/black/issues/4964\"\u003e#4964\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on standalone comment in lambda default arguments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4993\"\u003e#4993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve parentheses when \u003ccode\u003e# type: ignore\u003c/code\u003e comments would be merged with other\ncomments on the same line, preventing AST equivalence failures (\u003ca href=\"https://redirect.github.com/psf/black/issues/4888\"\u003e#4888\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix bug where \u003ccode\u003eif\u003c/code\u003e guards in \u003ccode\u003ecase\u003c/code\u003e blocks were incorrectly split when the pattern had\na trailing comma (\u003ca href=\"https://redirect.github.com/psf/black/issues/4884\"\u003e#4884\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003estring_processing\u003c/code\u003e crashing on unassigned long string literals with trailing\ncommas (one-item tuples) (\u003ca href=\"https://redirect.github.com/psf/black/issues/4929\"\u003e#4929\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplify implementation of the power operator \u0026quot;hugging\u0026quot; logic (\u003ca href=\"https://redirect.github.com/psf/black/issues/4918\"\u003e#4918\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePackaging\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix shutdown errors in PyInstaller builds on macOS by disabling multiprocessing in\nfrozen environments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4930\"\u003e#4930\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce winloop for windows as an alternative to uvloop (\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove deprecated function \u003ccode\u003euvloop.install()\u003c/code\u003e in favor of \u003ccode\u003euvloop.new_event_loop()\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRename \u003ccode\u003emaybe_install_uvloop\u003c/code\u003e function to \u003ccode\u003emaybe_use_uvloop\u003c/code\u003e to simplify loop\ninstallation and creation of either a uvloop/winloop evenloop or default eventloop\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/c6755bb741b6481d6b3d3bb563c83fa060db96c9\"\u003e\u003ccode\u003ec6755bb\u003c/code\u003e\u003c/a\u003e Prepare release 26.3.1 (\u003ca href=\"https://redirect.github.com/psf/black/issues/5046\"\u003e#5046\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/69973fd6950985fbeb1090d96da717dc4d8380b0\"\u003e\u003ccode\u003e69973fd\u003c/code\u003e\u003c/a\u003e Harden blackd browser-facing request handling (\u003ca href=\"https://redirect.github.com/psf/black/issues/5039\"\u003e#5039\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/4937fe6cf241139ddbfc16b0bdbb5b422798909d\"\u003e\u003ccode\u003e4937fe6\u003c/code\u003e\u003c/a\u003e Fix some shenanigans with the cache file and IPython (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/2e641d174469c505d5ae905e75d4c769597e681f\"\u003e\u003ccode\u003e2e641d1\u003c/code\u003e\u003c/a\u003e docs: remove outdated Black Playground references (\u003ca href=\"https://redirect.github.com/psf/black/issues/5044\"\u003e#5044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/c014b22a2d5e0632587b47b81151658bddfa0b88\"\u003e\u003ccode\u003ec014b22\u003c/code\u003e\u003c/a\u003e Remove unused internal code (\u003ca href=\"https://redirect.github.com/psf/black/issues/5041\"\u003e#5041\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/0dae20b2d009f2f03de8696d06b0c947d3abafc9\"\u003e\u003ccode\u003e0dae20b\u003c/code\u003e\u003c/a\u003e Add new changelog (\u003ca href=\"https://redirect.github.com/psf/black/issues/5036\"\u003e#5036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/c5c1cbddd92cecb554ac2a77a24139dd76831030\"\u003e\u003ccode\u003ec5c1cbd\u003c/code\u003e\u003c/a\u003e Minor release patches (\u003ca href=\"https://redirect.github.com/psf/black/issues/5035\"\u003e#5035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/7e5a828c37d71b6a6666e28eed444816def6a8f4\"\u003e\u003ccode\u003e7e5a828\u003c/code\u003e\u003c/a\u003e docs: clarify relationship between Black style and PEP 8 (\u003ca href=\"https://redirect.github.com/psf/black/issues/5025\"\u003e#5025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/69705deb8776e7c5e585668da106d1abe2cb8d77\"\u003e\u003ccode\u003e69705de\u003c/code\u003e\u003c/a\u003e docs: add clearer pyproject configuration guidance (\u003ca href=\"https://redirect.github.com/psf/black/issues/5026\"\u003e#5026\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/35ea67920b7f6ac8e09be1c47278752b1e827f76\"\u003e\u003ccode\u003e35ea679\u003c/code\u003e\u003c/a\u003e Prepare release 26.3.0 (\u003ca href=\"https://redirect.github.com/psf/black/issues/5032\"\u003e#5032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/black/compare/24.3.0...26.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `apache-airflow` from 3.1.1 to 3.2.0b1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/airflow/releases\"\u003eapache-airflow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eApache Airflow 3.1.8\u003c/h2\u003e\n\u003cp\u003e:package: PyPI: \u003ca href=\"https://pypi.org/project/apache-airflow/3.1.8/\"\u003ehttps://pypi.org/project/apache-airflow/3.1.8/\u003c/a\u003e\n:books: Docs: \u003ca href=\"https://airflow.apache.org/docs/apache-airflow/3.1.8/\"\u003ehttps://airflow.apache.org/docs/apache-airflow/3.1.8/\u003c/a\u003e\n:hammer_and_wrench: Release Notes: \u003ca href=\"https://airflow.apache.org/docs/apache-airflow/3.1.8/release_notes.html\"\u003ehttps://airflow.apache.org/docs/apache-airflow/3.1.8/release_notes.html\u003c/a\u003e\n:whale: Docker Image: \u0026quot;docker pull apache/airflow:3.1.8\u0026quot;\n:busstop: Constraints: \u003ca href=\"https://github.com/apache/airflow/tree/constraints-3.1.8\"\u003ehttps://github.com/apache/airflow/tree/constraints-3.1.8\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eSignificant Changes\u003c/h2\u003e\n\u003ch3\u003eBackfill permissions are now handled via \u003ccode\u003eDagAccessEntity.Run\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61456\"\u003e#61456\u003c/a\u003e)\u003c/h3\u003e\n\u003cp\u003e\u003ccode\u003eis_authorized_backfill\u003c/code\u003e of the \u003ccode\u003eBaseAuthManager\u003c/code\u003e interface has been removed. Core will no longer call this method and their\nprovider counterpart implementation will be marked as deprecated.\nPermissions for backfill operations are now checked against the \u003ccode\u003eDagAccessEntity.Run\u003c/code\u003e permission using the existing\n\u003ccode\u003erequires_access_dag\u003c/code\u003e decorator. In other words, if a user has permission to run a DAG, they can perform backfill operations on it.\u003c/p\u003e\n\u003cp\u003ePlease update your security policies to ensure that users who need to perform backfill operations have the appropriate \u003ccode\u003eDagAccessEntity.Run\u003c/code\u003e permissions. (Users\nhaving the Backfill permissions without having the DagRun ones will no longer be able to perform backfill operations without any update)\u003c/p\u003e\n\u003ch3\u003eElasticsearch is now fully compatible with remote logging along (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62940\"\u003e#62940\u003c/a\u003e)\u003c/h3\u003e\n\u003cp\u003eElasticsearch is now fully compatible with remote logging along side with \u003ccode\u003eapache-airflow-providers-elasticsearch\u0026gt;=6.5.0\u003c/code\u003e. Please review elasticsearch provider release notes for more information \u003ca href=\"https://airflow.apache.org/docs/apache-airflow-providers-elasticsearch/6.5.0/changelog.html\"\u003ehttps://airflow.apache.org/docs/apache-airflow-providers-elasticsearch/6.5.0/changelog.html\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62121\"\u003e#62121\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62940\"\u003e#62940\u003c/a\u003e)\u003c/p\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix SQLite migration disable \u003ccode\u003edisable_sqlite_fkeys\u003c/code\u003e in revision \u003ccode\u003e509b94a1042d\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/63256\"\u003e#63256\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/63272\"\u003e#63272\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: 404 queued asset events from API server logs (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62934\"\u003e#62934\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62976\"\u003e#62976\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Always include kid in JWT header for symmetric key tokens (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62883\"\u003e#62883\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62943\"\u003e#62943\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Scope session token in cookie to base_url  (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62771\"\u003e#62771\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62851\"\u003e#62851\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: UI of Scope session token in cookie to base_url (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62771\"\u003e#62771\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62859\"\u003e#62859\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: UI tasks log missing in UP_FOR_RETRY and UP_FOR_RESCHEDULE states (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54547\"\u003e#54547\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62862\"\u003e#62862\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Backfill permissions (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62856\"\u003e#62856\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62873\"\u003e#62873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Use \u003ccode\u003euseAssetServiceGetDagAssetQueuedEvents\u003c/code\u003e to get the correct number of ADRQs (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62868\"\u003e#62868\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62902\"\u003e#62902\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Adds task instance validation for HITL (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62886\"\u003e#62886\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62909\"\u003e#62909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Restore task_instance_history sequence on downgrade (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62759\"\u003e#62759\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix broken \u003ccode\u003edag_processing.total_parse_time\u003c/code\u003e metric (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62128\"\u003e#62128\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62764\"\u003e#62764\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Trigger UI form rendering for null enum values (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62060\"\u003e#62060\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62767\"\u003e#62767\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003etimer.duration\u003c/code\u003e unit labels in logs (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61824\"\u003e#61824\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62757\"\u003e#62757\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix XCom migration failing for NaN/Infinity float values (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62686\"\u003e#62686\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62760\"\u003e#62760\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix SQL not rendered in Rendered Templates view (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60739\"\u003e#60739\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62348\"\u003e#62348\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix missing DAG read permission checks on dependencies endpoint (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62046\"\u003e#62046\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62586\"\u003e#62586\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003edag_bundle.signed_url_template\u003c/code\u003e from \u003ccode\u003evarchar(200)\u003c/code\u003e to \u003ccode\u003etext\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61041\"\u003e#61041\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62568\"\u003e#62568\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix WASB remote logging base path handling (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/58946\"\u003e#58946\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61013\"\u003e#61013\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62456\"\u003e#62456\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle non-dictionary json payload during logging to avoid internal server error. (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62355\"\u003e#62355\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62367\"\u003e#62367\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix grid view crash when task converted to TaskGroup (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61208\"\u003e#61208\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61279\"\u003e#61279\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62181\"\u003e#62181\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix running task duration showing as null in UI (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61898\"\u003e#61898\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62136\"\u003e#62136\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix deferrable sensors not respecting soft_fail on timeout (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61132\"\u003e#61132\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61421\"\u003e#61421\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix task failure details being obscured by finalization errors (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62070\"\u003e#62070\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62113\"\u003e#62113\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd missing ti.start and ti.finish metrics in Airflow 3 (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62019\"\u003e#62019\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62110\"\u003e#62110\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix DepContext mutation leak and restore reschedule-mode guard (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62089\"\u003e#62089\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix scheduler heartbeat misses caused by slow reschedule dependency check (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61983\"\u003e#61983\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62068\"\u003e#62068\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFlush in-memory OTEL metrics at process shutdown (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61808\"\u003e#61808\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61869\"\u003e#61869\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/apache/airflow/commit/7989f25ab78b7561102926b4867966271ef7e42a\"\u003e\u003ccode\u003e7989f25\u003c/code\u003e\u003c/a\u003e update release notes for 3.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/346f3329ec556755a14c0acf1d57cd172d4b3b6b\"\u003e\u003ccode\u003e346f332\u003c/code\u003e\u003c/a\u003e Add 3.2.0 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/6661a58f60e0f9f9b1fff1132b2bd257b146fede\"\u003e\u003ccode\u003e6661a58\u003c/code\u003e\u003c/a\u003e Update version to 3.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/0a82c312ed98ec38c23301a856154212dbbda8ef\"\u003e\u003ccode\u003e0a82c31\u003c/code\u003e\u003c/a\u003e updated versions in README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/21f5a375352e3b1e7295179ae97c7f7de5c99b7e\"\u003e\u003ccode\u003e21f5a37\u003c/code\u003e\u003c/a\u003e Pin Task-SDK for Airflow meta package\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/4c87c4cde01eae483d40f87ee9daa037426d00a7\"\u003e\u003ccode\u003e4c87c4c\u003c/code\u003e\u003c/a\u003e Update default branches for 3-2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/d42623e2b461fa362f2a5f7e6f2ca9a028d9e4b9\"\u003e\u003ccode\u003ed42623e\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eObjectStoragePath\u003c/code\u003e to exclude \u003ccode\u003econn_id\u003c/code\u003e from storage options passed to f...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/77c38f357c3ff7af50ceda862f837dab7a93f359\"\u003e\u003ccode\u003e77c38f3\u003c/code\u003e\u003c/a\u003e docs(asset-partition): add example Dag (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62491\"\u003e#62491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/05ea74a9429156400ca89ca913c5d838e568ef3a\"\u003e\u003ccode\u003e05ea74a\u003c/code\u003e\u003c/a\u003e Prepare provider's documentation 2026-03-03 (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62752\"\u003e#62752\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/1199dc5305ea1630b0e1f7681bdbc4daff28440b\"\u003e\u003ccode\u003e1199dc5\u003c/code\u003e\u003c/a\u003e Consolidate \u003ccode\u003eSkipMixin\u003c/code\u003e imports through \u003ccode\u003ecommon-compat\u003c/code\u003e layer (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62776\"\u003e#62776\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/airflow/compare/3.1.1...3.2.0b1\"\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\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/jarkillo/Curso-Data-Engineering/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/jarkillo/Curso-Data-Engineering/pull/162","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/jarkillo%2FCurso-Data-Engineering/issues/162","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/162/packages"},{"uuid":"4054409893","node_id":"PR_kwDORNZbBc7JhGpb","number":8,"state":"open","title":"Bump apache-airflow from 2.10.4 to 3.2.0b1","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-10T21:51:37.000Z","updated_at":"2026-03-10T21:52:02.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"apache-airflow","old_version":"2.10.4","new_version":"3.2.0b1","repository_url":"https://github.com/apache/airflow"}],"path":null,"ecosystem":"pip"},"body":"Bumps [apache-airflow](https://github.com/apache/airflow) from 2.10.4 to 3.2.0b1.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/airflow/releases\"\u003eapache-airflow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eApache Airflow 3.1.7\u003c/h2\u003e\n\u003cp\u003e📦 PyPI: \u003ca href=\"https://pypi.org/project/apache-airflow/3.1.7/\"\u003ehttps://pypi.org/project/apache-airflow/3.1.7/\u003c/a\u003e\n📚 Docs: \u003ca href=\"https://airflow.apache.org/docs/apache-airflow/3.1.7/\"\u003ehttps://airflow.apache.org/docs/apache-airflow/3.1.7/\u003c/a\u003e\n🛠 Release Notes: \u003ca href=\"https://airflow.apache.org/docs/apache-airflow/3.1.7/release_notes.html\"\u003ehttps://airflow.apache.org/docs/apache-airflow/3.1.7/release_notes.html\u003c/a\u003e\n🐳 Docker Image: \u0026quot;docker pull apache/airflow:3.1.7\u0026quot;\n🚏 Constraints: \u003ca href=\"https://github.com/apache/airflow/tree/constraints-3.1.7\"\u003ehttps://github.com/apache/airflow/tree/constraints-3.1.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eSignificant Changes\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix JWT token generation with unset issuer/audience config (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61331\"\u003e#61331\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix callback files losing priority during queue resort (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61232\"\u003e#61232\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61243\"\u003e#61243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Dag callback for versioned bundles in the processor (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60734\"\u003e#60734\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61230\"\u003e#61230\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd 404 handling for non-existent Dag (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61131\"\u003e#61131\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61225\"\u003e#61225\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd guardrail to handle Dag deserialization errors in scheduler (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61162\"\u003e#61162\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61210\"\u003e#61210\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix asset scheduling for stale Dags (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/59337\"\u003e#59337\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60022\"\u003e#60022\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61106\"\u003e#61106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix unnecessary Dag version churn when Dag file paths change (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60799\"\u003e#60799\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix missing warning when Bundle path may not be accessible to impersonated user (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60278\"\u003e#60278\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eTriggerDagRunOperator\u003c/code\u003e deferring when \u003ccode\u003ewait_for_completion=False\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60052\"\u003e#60052\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix NoneType error when updating serialized Dag (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/56422\"\u003e#56422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Pool API slots validation (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61071\"\u003e#61071\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61114\"\u003e#61114\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix DagBag parsing by adding bundle_path temporarily to sys.path (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/55894\"\u003e#55894\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61053\"\u003e#61053\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix API to respect maximum page limit (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60989\"\u003e#60989\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61073\"\u003e#61073\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent Triggerer from crashing when a trigger event isn't serializable (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60152\"\u003e#60152\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60981\"\u003e#60981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix permissions on get_event_logs endpoint (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60936\"\u003e#60936\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60958\"\u003e#60958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Dag access control for dag_id in query param (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60935\"\u003e#60935\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60959\"\u003e#60959\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix root logger to use log_level instead of hardcoded INFO level (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60784\"\u003e#60784\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60970\"\u003e#60970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Dag processor OOM by Avoid loading all TaskInstances when checking DagVersion in write_dag (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60937\"\u003e#60937\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60962\"\u003e#60962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix worker startup Dag load failures by rescheduling tasks instead of exiting (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/59604\"\u003e#59604\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60926\"\u003e#60926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix permissions check in import error APIs (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60801\"\u003e#60801\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60884\"\u003e#60884\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix refresh-token invalidation by logging out the user (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60781\"\u003e#60781\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60881\"\u003e#60881\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix connection test API to restore masked password/extra from existing connections (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/59643\"\u003e#59643\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60873\"\u003e#60873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Dag processor overhead by applying \u003ccode\u003egc.freeze\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60505\"\u003e#60505\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60845\"\u003e#60845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Dag processor crashing due to MySQL deadlock errors (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60166\"\u003e#60166\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60418\"\u003e#60418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure unique run_id across manually triggered Dags with schedules (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/59477\"\u003e#59477\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60468\"\u003e#60468\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Avoid gantt annotation error during resize (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60877\"\u003e#60877\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Fix react apps plugins router (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61206\"\u003e#61206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Reset pagination on search in all pages (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61169\"\u003e#61169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Explicitly set UI table ordering (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60609\"\u003e#60609\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61216\"\u003e#61216\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Plugins pagination fix  \u003ca href=\"https://redirect.github.com/apache/airflow/issues/61055\"\u003e#61055\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61059\"\u003e#61059\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61129\"\u003e#61129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Fix ui get dags permission endpoint for user without Dag run permissions (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60979\"\u003e#60979\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60988\"\u003e#60988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Convert Tasks Table from card to table mode (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60830\"\u003e#60830\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60874\"\u003e#60874\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Fix slow log scrolling for large task logs (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60806\"\u003e#60806\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60875\"\u003e#60875\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Grey out trigger button on API 403 (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60648\"\u003e#60648\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60777\"\u003e#60777\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Remove API error from disabling submit (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60473\"\u003e#60473\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60658\"\u003e#60658\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Added toasters for permission denied (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/57966\"\u003e#57966\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/58016\"\u003e#58016\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60646\"\u003e#60646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Move row count and display toggle into DataTable (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/57680\"\u003e#57680\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60639\"\u003e#60639\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Fix/backfill permission error handling (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60582\"\u003e#60582\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60587\"\u003e#60587\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/apache/airflow/commit/7989f25ab78b7561102926b4867966271ef7e42a\"\u003e\u003ccode\u003e7989f25\u003c/code\u003e\u003c/a\u003e update release notes for 3.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/346f3329ec556755a14c0acf1d57cd172d4b3b6b\"\u003e\u003ccode\u003e346f332\u003c/code\u003e\u003c/a\u003e Add 3.2.0 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/6661a58f60e0f9f9b1fff1132b2bd257b146fede\"\u003e\u003ccode\u003e6661a58\u003c/code\u003e\u003c/a\u003e Update version to 3.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/0a82c312ed98ec38c23301a856154212dbbda8ef\"\u003e\u003ccode\u003e0a82c31\u003c/code\u003e\u003c/a\u003e updated versions in README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/21f5a375352e3b1e7295179ae97c7f7de5c99b7e\"\u003e\u003ccode\u003e21f5a37\u003c/code\u003e\u003c/a\u003e Pin Task-SDK for Airflow meta package\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/4c87c4cde01eae483d40f87ee9daa037426d00a7\"\u003e\u003ccode\u003e4c87c4c\u003c/code\u003e\u003c/a\u003e Update default branches for 3-2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/d42623e2b461fa362f2a5f7e6f2ca9a028d9e4b9\"\u003e\u003ccode\u003ed42623e\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eObjectStoragePath\u003c/code\u003e to exclude \u003ccode\u003econn_id\u003c/code\u003e from storage options passed to f...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/77c38f357c3ff7af50ceda862f837dab7a93f359\"\u003e\u003ccode\u003e77c38f3\u003c/code\u003e\u003c/a\u003e docs(asset-partition): add example Dag (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62491\"\u003e#62491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/05ea74a9429156400ca89ca913c5d838e568ef3a\"\u003e\u003ccode\u003e05ea74a\u003c/code\u003e\u003c/a\u003e Prepare provider's documentation 2026-03-03 (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62752\"\u003e#62752\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/1199dc5305ea1630b0e1f7681bdbc4daff28440b\"\u003e\u003ccode\u003e1199dc5\u003c/code\u003e\u003c/a\u003e Consolidate \u003ccode\u003eSkipMixin\u003c/code\u003e imports through \u003ccode\u003ecommon-compat\u003c/code\u003e layer (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62776\"\u003e#62776\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/airflow/compare/2.10.4...3.2.0b1\"\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=apache-airflow\u0026package-manager=pip\u0026previous-version=2.10.4\u0026new-version=3.2.0b1)](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)\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/ericg1212/data-engineering-portfolio/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/ericg1212/data-engineering-portfolio/pull/8","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericg1212%2Fdata-engineering-portfolio/issues/8","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/8/packages"},{"uuid":"4025830606","node_id":"PR_kwDOEidmmc7IE0JN","number":4904,"state":"open","title":"chore(deps): bump the pip group across 3 directories with 10 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-05T05:12:41.000Z","updated_at":"2026-03-05T05:13:17.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"pip","update_count":10,"packages":[{"name":"protobuf","old_version":"6.32.0","new_version":"6.33.5","repository_url":"https://github.com/protocolbuffers/protobuf"},{"name":"cryptography","old_version":"41.0.7","new_version":"46.0.5","repository_url":"https://github.com/pyca/cryptography"},{"name":"google-cloud-aiplatform","old_version":"1.99.0","new_version":"1.133.0","repository_url":"https://github.com/googleapis/python-aiplatform"},{"name":"flask","old_version":"2.2.5","new_version":"3.1.3","repository_url":"https://github.com/pallets/flask"},{"name":"apache-airflow","old_version":"2.9.3","new_version":"3.2.0b1","repository_url":"https://github.com/apache/airflow"},{"name":"authlib","old_version":"1.6.0","new_version":"1.6.7","repository_url":"https://github.com/authlib/authlib"},{"name":"dbt-common","old_version":"1.29.0","new_version":"1.34.2","repository_url":"https://github.com/dbt-labs/dbt-common"},{"name":"sqlparse","old_version":"0.5.3","new_version":"0.5.4","repository_url":"https://github.com/andialbrecht/sqlparse"},{"name":"werkzeug","old_version":"2.2.3","new_version":"3.1.6","repository_url":"https://github.com/pallets/werkzeug"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pip group with 1 update in the /jobs/etl_jobs/internal/bigquery_archive_partition directory: [pyasn1](https://github.com/pyasn1/pyasn1).\nBumps the pip group with 9 updates in the /orchestration/airflow directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `6.32.0` | `6.33.5` |\n| [cryptography](https://github.com/pyca/cryptography) | `41.0.7` | `46.0.5` |\n| [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) | `1.99.0` | `1.133.0` |\n| [flask](https://github.com/pallets/flask) | `2.2.5` | `3.1.3` |\n| [apache-airflow](https://github.com/apache/airflow) | `2.9.3` | `3.2.0b1` |\n| [authlib](https://github.com/authlib/authlib) | `1.6.0` | `1.6.7` |\n| [dbt-common](https://github.com/dbt-labs/dbt-common) | `1.29.0` | `1.34.2` |\n| [sqlparse](https://github.com/andialbrecht/sqlparse) | `0.5.3` | `0.5.4` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `2.2.3` | `3.1.6` |\n\nBumps the pip group with 9 updates in the /orchestration/k8s-airflow directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `6.32.0` | `6.33.5` |\n| [cryptography](https://github.com/pyca/cryptography) | `41.0.7` | `46.0.5` |\n| [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) | `1.99.0` | `1.133.0` |\n| [flask](https://github.com/pallets/flask) | `2.2.5` | `3.1.3` |\n| [apache-airflow](https://github.com/apache/airflow) | `2.9.3` | `3.2.0b1` |\n| [authlib](https://github.com/authlib/authlib) | `1.6.0` | `1.6.7` |\n| [dbt-common](https://github.com/dbt-labs/dbt-common) | `1.29.0` | `1.34.2` |\n| [sqlparse](https://github.com/andialbrecht/sqlparse) | `0.5.3` | `0.5.4` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `2.2.3` | `3.1.6` |\n\n\nUpdates `pyasn1` from 0.6.1 to 0.6.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyasn1/pyasn1/releases\"\u003epyasn1's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 0.6.2\u003c/h2\u003e\n\u003cp\u003eIt's a minor release.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed continuation octet limits in OID/RELATIVE-OID decoder (CVE-2026-23490).\u003c/li\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eAdded SECURITY.md policy.\u003c/li\u003e\n\u003cli\u003eMigrated to pyproject.toml packaging.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eAll changes are noted in the \u003ca href=\"https://github.com/pyasn1/pyasn1/blob/master/CHANGES.rst\"\u003eCHANGELOG\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/pyasn1/pyasn1/blob/main/CHANGES.rst\"\u003epyasn1's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRevision 0.6.2, released 16-01-2026\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-23490 (GHSA-63vm-454h-vhhq): Fixed continuation octet limits\nin OID/RELATIVE-OID decoder (thanks to tsigouris007)\u003c/li\u003e\n\u003cli\u003eAdded support for Python 3.14\n[pr \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/97\"\u003e#97\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/pull/97\"\u003epyasn1/pyasn1#97\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded SECURITY.md policy\u003c/li\u003e\n\u003cli\u003eFixed unit tests failing due to missing code\n[issue \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/91\"\u003e#91\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/91\"\u003epyasn1/pyasn1#91\u003c/a\u003e)\n[pr \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/92\"\u003e#92\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/pull/92\"\u003epyasn1/pyasn1#92\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMigrated to pyproject.toml packaging\n[pr \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/90\"\u003e#90\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/pull/90\"\u003epyasn1/pyasn1#90\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/pyasn1/pyasn1/commit/e7356f89cf32c130d65b1a0e903fe7ecce426424\"\u003e\u003ccode\u003ee7356f8\u003c/code\u003e\u003c/a\u003e Prepare release 0.6.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/3908f144229eed4df24bd569d16e5991ace44970\"\u003e\u003ccode\u003e3908f14\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/0a7e067674b1ec558f9d233a3bc173472fe27c6c\"\u003e\u003ccode\u003e0a7e067\u003c/code\u003e\u003c/a\u003e Add support for Python 3.14 (\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/97\"\u003e#97\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/33656e986d8e2355123799e7267104ac7d8a6fb1\"\u003e\u003ccode\u003e33656e9\u003c/code\u003e\u003c/a\u003e Create Security Policy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/fa62307253f4423effac71a618e20fabaa37e22e\"\u003e\u003ccode\u003efa62307\u003c/code\u003e\u003c/a\u003e fix for issue \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/91\"\u003e#91\u003c/a\u003e: unit tests failing due to missing code (\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/92\"\u003e#92\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/f1ed02e41c193a66741572185bab94d34f43daec\"\u003e\u003ccode\u003ef1ed02e\u003c/code\u003e\u003c/a\u003e Package pyasn1 with pyproject.toml (\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/90\"\u003e#90\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/93c4d4f0b6af84c13517b5700104ac57fb6d3fe5\"\u003e\u003ccode\u003e93c4d4f\u003c/code\u003e\u003c/a\u003e Switch documentation user to pyasn1 (\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/89\"\u003e#89\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pyasn1/pyasn1/compare/v0.6.1...v0.6.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `protobuf` from 6.32.0 to 6.33.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/protocolbuffers/protobuf/releases\"\u003eprotobuf's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eProtocol Buffers v34.0-rc1\u003c/h2\u003e\n\u003ch1\u003eAnnouncements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eThis version includes breaking changes to: C++, Objective-C, PHP, Python.\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e[Bazel] Remove deprecated ProtoInfo.transitive_imports. Use equivalent transitive_sources instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/0a5c2f6b633c1e5259f566cb42d30fe347b8aadb\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/0a5c2f6b633c1e5259f566cb42d30fe347b8aadb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Make generator headers private (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/3a2af3510f0d454dbe3e4dc281674b61c4d20b9e\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/3a2af3510f0d454dbe3e4dc281674b61c4d20b9e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Add a debug check that the target of CopyFrom is not a descendant of the source. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/7a7589823d2cfaaf7994b050e98d5d553bc9b1c1\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/7a7589823d2cfaaf7994b050e98d5d553bc9b1c1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Add [[nodiscard]] to many APIs. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/a70115f33f9af2c4b2202c800b84837e7fe0d738\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/a70115f33f9af2c4b2202c800b84837e7fe0d738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Make the arena-enabled constructors of \u003ccode\u003eRepeatedField\u003c/code\u003e, \u003ccode\u003eRepeatedPtrField\u003c/code\u003e, and \u003ccode\u003eMap\u003c/code\u003e private. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/ef890c3d0c79398c70e047fe5dd893f460ba2336\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/ef890c3d0c79398c70e047fe5dd893f460ba2336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Remove deprecated FieldDescriptor::label() in OSS. Use is_repeated() or is_required() instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/b76faa921fdd244f374c7be0bddd4050fc42c292\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/b76faa921fdd244f374c7be0bddd4050fc42c292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Removes proto2::util::MessageDifferencer::AddIgnoreCriteria that takes a raw pointer as an argument in favor of the overload that takes a unique_ptr. Remove macro PROTOBUF_FUTURE_REMOVE_ADD_IGNORE_CRITERIA (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/b115358c64127896fed88b8b5ef5d91d86d8cbae\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/b115358c64127896fed88b8b5ef5d91d86d8cbae\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Remove deprecated FieldDescriptor::has_optional_keyword() in OSS. Use is_repeated() or has_presence() instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/68346ec9348e932664e58c3ecdcd1478f95233a8\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/68346ec9348e932664e58c3ecdcd1478f95233a8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Remove AddUnusedImportTrackFile() and ClearUnusedImportTrackFiles(). Remove PROTOBUF_FUTURE_RENAME_ADD_UNUSED_IMPORT (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/837a2cd1d6c75402b2503ffe7cd8aeaf25868536\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/837a2cd1d6c75402b2503ffe7cd8aeaf25868536\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Remove deprecated FieldDescriptor::is_optional() in OSS. Use (!is_required() \u0026amp;\u0026amp; !is_repeated()) instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/9dbc5d479a8e453921485d8d3de47fb3c005f1af\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/9dbc5d479a8e453921485d8d3de47fb3c005f1af\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Remove deprecated UseDeprecatedLegacyJsonFieldConflicts() (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/c301c2ca286327a21c50c0c4cd877afc9c655b00\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/c301c2ca286327a21c50c0c4cd877afc9c655b00\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] All entity names have length limit (2afb0dc)\u003c/li\u003e\n\u003cli\u003e[ObjC] Remove \u003ccode\u003egenerate_minimal_imports\u003c/code\u003e generation option warning (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/45b1297fdaad5a9436d0e207422168c38dc45ac4\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/45b1297fdaad5a9436d0e207422168c38dc45ac4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[ObjC] Fix nullability annotations on some \u003ccode\u003eGPB*Dictionary\u003c/code\u003e types. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/ea67d6d26a48478a567c404679e3bb99cf230d50\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/ea67d6d26a48478a567c404679e3bb99cf230d50\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[ObjC] Remove \u003ccode\u003e-[GPBFieldDescriptor optional]\u003c/code\u003e (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/3414dc151eb4dcbdb2ca952e2589993bf7af75c4\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/3414dc151eb4dcbdb2ca952e2589993bf7af75c4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Other] Remove deprecated flag for enabling MSVC support (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/97c979be6e0907e1051bee62584dac4594e73fa7\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/97c979be6e0907e1051bee62584dac4594e73fa7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PHP] Remove deprecated PHP APIs (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/9c45014099a4f7004fab6dd1278de2f4f2a393c5\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/9c45014099a4f7004fab6dd1278de2f4f2a393c5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PHP] Remove deprecated PHP APIs FieldDescriptor getLabel, use IsRepeated or isRequired instead. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/42081219920c6fad17ba6ddd1e28d111bcfb3345\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/42081219920c6fad17ba6ddd1e28d111bcfb3345\u003c/a\u003e, \u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/cd76e675b14d00dda5623b30835d2bc7105fccc6\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/cd76e675b14d00dda5623b30835d2bc7105fccc6\u003c/a\u003e, \u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/42081219920c6fad17ba6ddd1e28d111bcfb3345\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/42081219920c6fad17ba6ddd1e28d111bcfb3345\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PHP]  Add PHP typehints for setters and remove redundant GPBUtil checks (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/pull/25296\"\u003eprotocolbuffers/protobuf#25296\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/aee03b78929c02461a5f9d8e136a2a016359b0cd\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/aee03b78929c02461a5f9d8e136a2a016359b0cd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PHP]  support default values for editions/proto2 (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/pull/25161\"\u003eprotocolbuffers/protobuf#25161\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/b01099d56350551bae3da88b97bf3027274c9f17\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/b01099d56350551bae3da88b97bf3027274c9f17\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Raise errors in OSS when assign bool to int/enum field in Python Proto. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/5b116fe2f14f49dd0cc3b76089983717f211025c\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/5b116fe2f14f49dd0cc3b76089983717f211025c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Remove float_format/double_format from python proto text_format (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/e4854a186e0bfa867d5bfa5cd850608a948fd488\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/e4854a186e0bfa867d5bfa5cd850608a948fd488\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Raise TypeError when convert non-timedelta to Duration, or convert non-datetime to Timestamp in python proto. (Original code may raise ArributeError) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/00aaca1b4d98954bc2933d7c8a5379ba6088124c\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/00aaca1b4d98954bc2933d7c8a5379ba6088124c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Remove float_precision from python proto json_format (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/f027f1fcd52b9d080b7ee79f4024f53cf54e0dc5\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/f027f1fcd52b9d080b7ee79f4024f53cf54e0dc5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Remove deprecated FieldDescriptor::label() in OSS. Use is_repeated() or is_required() instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/b76faa921fdd244f374c7be0bddd4050fc42c292\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/b76faa921fdd244f374c7be0bddd4050fc42c292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Remove deprecated FieldDescriptor.label (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/0a8ff55518ea5874478ad5b26515b31d186045a9\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/0a8ff55518ea5874478ad5b26515b31d186045a9\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Remove deprecated UseDeprecatedLegacyJsonFieldConflicts() (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/c301c2ca286327a21c50c0c4cd877afc9c655b00\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/c301c2ca286327a21c50c0c4cd877afc9c655b00\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://protobuf.dev/news/\"\u003eProtobuf News\u003c/a\u003e may include additional announcements or pre-announcements for upcoming changes.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://protobuf.dev/support/migration/\"\u003eMigration Guide\u003c/a\u003e may include additional guidance for breaking changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eBazel\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix: cc_toolchain should prefer protoc when prebuilt flag is flipped. (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/issues/25168\"\u003e#25168\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/8c857c3a1c6a106b0a096f1c9fa504bfaca035a9\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/8c857c3a1c6a106b0a096f1c9fa504bfaca035a9\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBreaking change: Remove deprecated ProtoInfo.transitive_imports. Use equivalent transitive_sources instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/0a5c2f6b633c1e5259f566cb42d30fe347b8aadb\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/0a5c2f6b633c1e5259f566cb42d30fe347b8aadb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFeat(bazel): wire up prebuilt protoc toolchain (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/issues/24115\"\u003e#24115\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/cc23698b486e690ea2eb873cc7596a87c74a3ba6\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/cc23698b486e690ea2eb873cc7596a87c74a3ba6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMigrate \u003ccode\u003eproto_descriptor_set\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/issues/23369\"\u003e#23369\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/8d4dfdd39a7a242a9ed631a6ab2192c57dd9b9c8\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/8d4dfdd39a7a242a9ed631a6ab2192c57dd9b9c8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eCompiler\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eRuby codegen: support generation of rbs files (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/issues/15633\"\u003e#15633\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/6ebdf851ba78728f0aa145d38454ed9a316fb08d\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/6ebdf851ba78728f0aa145d38454ed9a316fb08d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid collision name problems between a message named \u003ccode\u003eXyz\u003c/code\u003e and a direct sibling enum named \u003ccode\u003eXyzView\u003c/code\u003e (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/eba53e8f172b273d679759a72ce4250131ee3df1\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/eba53e8f172b273d679759a72ce4250131ee3df1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGeneralizing and implementing ValidateFeatureSupport for both Options and Features during proto parsing (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/ed3c57114d8e2b47cca7697ddaa50c1b3762a6b0\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/ed3c57114d8e2b47cca7697ddaa50c1b3762a6b0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a bug with custom features outside of the \u003ccode\u003epb\u003c/code\u003e package. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/872d3ce7a4da00d7dcec33ced20cfe45235935e8\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/872d3ce7a4da00d7dcec33ced20cfe45235935e8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix import option handling when include_imports isn't set. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/9ef9e80afd9bc8379d578fe67e5ab0738728c04e\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/9ef9e80afd9bc8379d578fe67e5ab0738728c04e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a bug in STRICT check of namespaced enums to properly check for 'reserved 1 to max' (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/1229d4adba24c0952ab85ce96bc7b7f8a1fe6d0f\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/1229d4adba24c0952ab85ce96bc7b7f8a1fe6d0f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent accidental stripping of \u003ccode\u003edebug_redact\u003c/code\u003e options via import option. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/f58b098bffa7ca4045ef7773b09151a6af5d0c28\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/f58b098bffa7ca4045ef7773b09151a6af5d0c28\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eC++\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd EnumerateEnumValues function. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/397d5d99db274b379d1384814074bf7df39d32f7\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/397d5d99db274b379d1384814074bf7df39d32f7\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\u003eSee full diff in \u003ca href=\"https://github.com/protocolbuffers/protobuf/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cryptography` from 41.0.7 to 46.0.5\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst\"\u003ecryptography's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e46.0.5 - 2026-02-10\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* An attacker could create a malicious public key that reveals portions of your\n  private key when using certain uncommon elliptic curves (binary curves).\n  This version now includes additional security checks to prevent this attack.\n  This issue only affects binary elliptic curves, which are rarely used in\n  real-world applications. Credit to **XlabAI Team of Tencent Xuanwu Lab and\n  Atuin Automated Vulnerability Discovery Engine** for reporting the issue.\n  **CVE-2026-26007**\n* Support for ``SECT*`` binary elliptic curves is deprecated and will be\n  removed in the next release.\n\u003cp\u003e.. v46-0-4:\u003c/p\u003e\n\u003cp\u003e46.0.4 - 2026-01-27\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eDropped support for win_arm64 wheels\u003c/code\u003e_.\u003c/li\u003e\n\u003cli\u003eUpdated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.5.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _v46-0-3:\u003c/p\u003e\n\u003cp\u003e46.0.3 - 2025-10-15\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Fixed compilation when using LibreSSL 4.2.0.\n\u003cp\u003e.. _v46-0-2:\u003c/p\u003e\n\u003cp\u003e46.0.2 - 2025-09-30\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.4.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _v46-0-1:\u003c/p\u003e\n\u003cp\u003e46.0.1 - 2025-09-16\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Fixed an issue where users installing via ``pip`` on Python 3.14 development\n  versions would not properly install a dependency.\n* Fixed an issue building the free-threaded macOS 3.14 wheels.\n\u003cp\u003e.. _v46-0-0:\u003c/p\u003e\n\u003cp\u003e46.0.0 - 2025-09-16\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eBACKWARDS INCOMPATIBLE:\u003c/strong\u003e Support for Python 3.7 has been removed.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/06e120e682cb200e3f7050c02f0bcdac90c4c6ad\"\u003e\u003ccode\u003e06e120e\u003c/code\u003e\u003c/a\u003e bump version for 46.0.5 release (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14289\"\u003e#14289\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/0eebb9dbb6343d9bc1d91e5a2482ed4e054a6d8c\"\u003e\u003ccode\u003e0eebb9d\u003c/code\u003e\u003c/a\u003e EC check key on cofactor \u0026gt; 1 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14287\"\u003e#14287\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/bedf6e186b814f69a3f54f51252c23a71d44ed2e\"\u003e\u003ccode\u003ebedf6e1\u003c/code\u003e\u003c/a\u003e fix openssl version on 46 branch (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14220\"\u003e#14220\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/e6f44fc8e6391f05d719fb9d369692325b87a471\"\u003e\u003ccode\u003ee6f44fc\u003c/code\u003e\u003c/a\u003e bump for 46.0.4 and drop win arm64 due to CI issues (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14217\"\u003e#14217\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/c0af4dd7b75921bbe9f1d41a03dbd4b64a9e3403\"\u003e\u003ccode\u003ec0af4dd\u003c/code\u003e\u003c/a\u003e release 46.0.3 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13681\"\u003e#13681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/99efe5ad150a56efadafacaffd0e3ee319373904\"\u003e\u003ccode\u003e99efe5a\u003c/code\u003e\u003c/a\u003e bump version for 46.0.2 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13531\"\u003e#13531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/e735cfc27502320101c130335c556394a125ba52\"\u003e\u003ccode\u003ee735cfc\u003c/code\u003e\u003c/a\u003e release 46.0.1 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13450\"\u003e#13450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/4e457ffba43a6d87efc63c33041e2081438dd8a4\"\u003e\u003ccode\u003e4e457ff\u003c/code\u003e\u003c/a\u003e Explicitly specify python in mac uv build invocation (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13447\"\u003e#13447\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/2726efdb6d67f1c90cf9c6062d9fe051965586f8\"\u003e\u003ccode\u003e2726efd\u003c/code\u003e\u003c/a\u003e Depend on CFFI 2.0.0 or newer on Python \u0026gt; 3.8 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13448\"\u003e#13448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/62230623d183706632c0eb7822c96ac95e3710a8\"\u003e\u003ccode\u003e6223062\u003c/code\u003e\u003c/a\u003e release 46.0.0 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13446\"\u003e#13446\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyca/cryptography/compare/41.0.7...46.0.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-cloud-aiplatform` from 1.99.0 to 1.133.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/python-aiplatform/releases\"\u003egoogle-cloud-aiplatform's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.133.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.132.0...v1.133.0\"\u003e1.133.0\u003c/a\u003e (2026-01-08)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate tuning public preview SDK in favor of tuning SDK (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/35d362ce8f6c50498f781857e0d8cabd327284be\"\u003e35d362c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI SDK client - Enabling Few-shot Prompt Optimization by passing either \u0026quot;OPTIMIZATION_TARGET_FEW_SHOT_RUBRICS\u0026quot; or \u0026quot;OPTIMIZATION_TARGET_FEW_SHOT_TARGET_RESPONSE\u0026quot; to the \u003ccode\u003eoptimize_prompt\u003c/code\u003e method (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/715cc5b71b996eecde2d97bad71a617274739dcc\"\u003e715cc5b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI SDK client(memory): Add enable_third_person_memories (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/65717fa0c3d9b8c3105638cf9c75ee415f36b6e0\"\u003e65717fa\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport Developer Connect in AE (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/04f1771e16f54a0627ecac1266764ca77f833694\"\u003e04f1771\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd None check for agent_info in evals.py (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/c8c0f0f7eb67696c2e91902af7e6dca20cea2040\"\u003ec8c0f0f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI client(evals) - Fix TypeError in _build_generate_content_config (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/be2eaaa30dbf13a86f6856771eeacd2a51a97806\"\u003ebe2eaaa\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake project_number to project_id mapping fail-open. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/f1c8458dd5e4641cb03ff175f0837b6d6017c131\"\u003ef1c8458\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace asyncio.run with create_task in ADK async thread mains. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/83f4076706d808dcc0e1784219856846540e10da\"\u003e83f4076\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace asyncio.run with create_task in ADK async thread mains. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/8c876ef069d0fe6942790ede41e203196cd4a390\"\u003e8c876ef\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRequire uri or staging bucket configuration for saving model to Vertex Experiment. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/5448f065fa30d77c2ee0868249ec0bea6a93a4c0\"\u003e5448f06\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReturn embedding metadata if available (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/d9c6eb199b6ccc1fae417463e1b374574f2ae2f8\"\u003ed9c6eb1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003eexamples_dataframe\u003c/code\u003e type to \u003ccode\u003ePandasDataFrame\u003c/code\u003e in Prompt Optimizer. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/a2564cc3ea5c4860ee732f14cea9db2c10b52420\"\u003ea2564cc\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.132.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.131.0...v1.132.0\"\u003e1.132.0\u003c/a\u003e (2025-12-17)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Lustre support to the Vertex Training Custom Job API (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eA comment for field \u003ccode\u003erestart_job_on_worker_restart\u003c/code\u003e in message \u003ccode\u003e.google.cloud.aiplatform.v1beta1.Scheduling\u003c/code\u003e is changed (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003etimeout\u003c/code\u003e in message \u003ccode\u003e.google.cloud.aiplatform.v1beta1.Scheduling\u003c/code\u003e is changed (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.131.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.130.0...v1.131.0\"\u003e1.131.0\u003c/a\u003e (2025-12-16)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow list of events to be passed to AdkApp.async_stream_query (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/dd8840a5012b2762f8b8971b6cea4302ac5c648d\"\u003edd8840a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI Client(evals) - Support CustomCodeExecution metric in Vertex Gen AI Eval Service (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/4114728750b5b12f991a18df87c1f1a570d1b29d\"\u003e4114728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdates the ADK template to direct structured JSON logs to standard output. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/a65ec297c5b8d99e4d2dfb49473c189197198f97\"\u003ea65ec29\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/python-aiplatform/blob/main/CHANGELOG.md\"\u003egoogle-cloud-aiplatform's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.132.0...v1.133.0\"\u003e1.133.0\u003c/a\u003e (2026-01-08)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate tuning public preview SDK in favor of tuning SDK (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/35d362ce8f6c50498f781857e0d8cabd327284be\"\u003e35d362c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI SDK client - Enabling Few-shot Prompt Optimization by passing either \u0026quot;OPTIMIZATION_TARGET_FEW_SHOT_RUBRICS\u0026quot; or \u0026quot;OPTIMIZATION_TARGET_FEW_SHOT_TARGET_RESPONSE\u0026quot; to the \u003ccode\u003eoptimize_prompt\u003c/code\u003e method (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/715cc5b71b996eecde2d97bad71a617274739dcc\"\u003e715cc5b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI SDK client(memory): Add enable_third_person_memories (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/65717fa0c3d9b8c3105638cf9c75ee415f36b6e0\"\u003e65717fa\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport Developer Connect in AE (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/04f1771e16f54a0627ecac1266764ca77f833694\"\u003e04f1771\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd None check for agent_info in evals.py (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/c8c0f0f7eb67696c2e91902af7e6dca20cea2040\"\u003ec8c0f0f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI client(evals) - Fix TypeError in _build_generate_content_config (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/be2eaaa30dbf13a86f6856771eeacd2a51a97806\"\u003ebe2eaaa\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake project_number to project_id mapping fail-open. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/f1c8458dd5e4641cb03ff175f0837b6d6017c131\"\u003ef1c8458\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace asyncio.run with create_task in ADK async thread mains. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/83f4076706d808dcc0e1784219856846540e10da\"\u003e83f4076\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace asyncio.run with create_task in ADK async thread mains. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/8c876ef069d0fe6942790ede41e203196cd4a390\"\u003e8c876ef\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRequire uri or staging bucket configuration for saving model to Vertex Experiment. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/5448f065fa30d77c2ee0868249ec0bea6a93a4c0\"\u003e5448f06\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReturn embedding metadata if available (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/d9c6eb199b6ccc1fae417463e1b374574f2ae2f8\"\u003ed9c6eb1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003eexamples_dataframe\u003c/code\u003e type to \u003ccode\u003ePandasDataFrame\u003c/code\u003e in Prompt Optimizer. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/a2564cc3ea5c4860ee732f14cea9db2c10b52420\"\u003ea2564cc\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.131.0...v1.132.0\"\u003e1.132.0\u003c/a\u003e (2025-12-17)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Lustre support to the Vertex Training Custom Job API (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Lustre support to the Vertex Training Custom Job API (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eA comment for field \u003ccode\u003erestart_job_on_worker_restart\u003c/code\u003e in message \u003ccode\u003e.google.cloud.aiplatform.v1beta1.Scheduling\u003c/code\u003e is changed (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003etimeout\u003c/code\u003e in message \u003ccode\u003e.google.cloud.aiplatform.v1beta1.Scheduling\u003c/code\u003e is changed (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.130.0...v1.131.0\"\u003e1.131.0\u003c/a\u003e (2025-12-16)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow list of events to be passed to AdkApp.async_stream_query (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/dd8840a5012b2762f8b8971b6cea4302ac5c648d\"\u003edd8840a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI Client(evals) - Support CustomCodeExecution metric in Vertex Gen AI Eval Service (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/4114728750b5b12f991a18df87c1f1a570d1b29d\"\u003e4114728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdates the ADK template to direct structured JSON logs to standard output. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/a65ec297c5b8d99e4d2dfb49473c189197198f97\"\u003ea65ec29\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix RagManagedVertexVectorSearch when using backend_config (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/df0976ed3195dc8313f4728bc5ecb29dda55d467\"\u003edf0976e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI Client(evals) - patch for vulnerability in visualization (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/8a00d43dbd24e95dbab6ea32c63ce0a5a1849480\"\u003e8a00d43\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/78f2bdd08bae0696923e61ab73080b5846c67ae0\"\u003e\u003ccode\u003e78f2bdd\u003c/code\u003e\u003c/a\u003e chore(main): release 1.133.0 (\u003ca href=\"https://redirect.github.com/googleapis/python-aiplatform/issues/6211\"\u003e#6211\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/c8c0f0f7eb67696c2e91902af7e6dca20cea2040\"\u003e\u003ccode\u003ec8c0f0f\u003c/code\u003e\u003c/a\u003e fix: Add None check for agent_info in evals.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/9952b970b73cfe38e68c48b3699ee4e1df0264df\"\u003e\u003ccode\u003e9952b97\u003c/code\u003e\u003c/a\u003e chore: rollback\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/83f4076706d808dcc0e1784219856846540e10da\"\u003e\u003ccode\u003e83f4076\u003c/code\u003e\u003c/a\u003e fix: Replace asyncio.run with create_task in ADK async thread mains.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/937d5af6b9bdbbe3b50181745c99550f124ad8b4\"\u003e\u003ccode\u003e937d5af\u003c/code\u003e\u003c/a\u003e Copybara import of the project:\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/aaaf902be02747cd2281196aad6278df0fd11f7e\"\u003e\u003ccode\u003eaaaf902\u003c/code\u003e\u003c/a\u003e chore: bump google-auth lower bound to 2.47.0 in GenAI and Vertex SDKs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/8c876ef069d0fe6942790ede41e203196cd4a390\"\u003e\u003ccode\u003e8c876ef\u003c/code\u003e\u003c/a\u003e fix: Replace asyncio.run with create_task in ADK async thread mains.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/5448f065fa30d77c2ee0868249ec0bea6a93a4c0\"\u003e\u003ccode\u003e5448f06\u003c/code\u003e\u003c/a\u003e fix: Require uri or staging bucket configuration for saving model to Vertex E...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/65717fa0c3d9b8c3105638cf9c75ee415f36b6e0\"\u003e\u003ccode\u003e65717fa\u003c/code\u003e\u003c/a\u003e feat: GenAI SDK client(memory): Add enable_third_person_memories\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/be2eaaa30dbf13a86f6856771eeacd2a51a97806\"\u003e\u003ccode\u003ebe2eaaa\u003c/code\u003e\u003c/a\u003e fix: GenAI client(evals) - Fix TypeError in _build_generate_content_config\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.99.0...v1.133.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `flask` from 2.2.5 to 3.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/releases\"\u003eflask's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.3\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.3 security fix release, which fixes a security issue but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.3/\"\u003ehttps://pypi.org/project/Flask/3.1.3/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-3\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-3\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys but not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. \u003ca href=\"https://github.com/pallets/flask/security/advisories/GHSA-68rp-wp8r-4726\"\u003eGHSA-68rp-wp8r-4726\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.2\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.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/Flask/3.1.2/\"\u003ehttps://pypi.org/project/Flask/3.1.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-2\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-2\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/38?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/38?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5774\"\u003e#5774\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state of \u003ccode\u003esession\u003c/code\u003e is correct. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5786\"\u003e#5786\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5776\"\u003e#5776\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.1\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.1 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.1/\"\u003ehttps://pypi.org/project/Flask/3.1.1/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/flask/milestone/36?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/36?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. GHSA-4grg-w6v8-c28g\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5645\"\u003e#5645\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loads the app and plugins first to make sure all commands are shown. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5673\"\u003e#5673\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMark sans-io base class as being able to handle views that return \u003ccode\u003eAsyncIterable\u003c/code\u003e. This is not accurate for Flask, but makes typing easier for Quart. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5659\"\u003e#5659\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.0\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecations, or introduce potentially breaking changes. We encourage everyone to upgrade, and to use a tool such as \u003ca href=\"https://pypi.org/project/pip-tools/\"\u003epip-tools\u003c/a\u003e to pin all dependencies and control upgrades. Test with warnings treated as errors to be able to adapt to deprecation warnings early.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.0/\"\u003ehttps://pypi.org/project/Flask/3.1.0/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-0\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-0\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/33?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/33?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5623\"\u003e#5623\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate minimum dependency versions to latest feature releases. Werkzeug \u0026gt;= 3.1, ItsDangerous \u0026gt;= 2.2, Blinker \u0026gt;= 1.9. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5624\"\u003e#5624\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5633\"\u003e#5633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProvide a configuration option to control automatic option responses. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5496\"\u003e#5496\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFlask.open_resource\u003c/code\u003e/\u003ccode\u003eopen_instance_resource\u003c/code\u003e and \u003ccode\u003eBlueprint.open_resource\u003c/code\u003e take an \u003ccode\u003eencoding\u003c/code\u003e parameter to use when opening in text mode. It defaults to \u003ccode\u003eutf-8\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5504\"\u003e#5504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.max_content_length\u003c/code\u003e can be customized per-request instead of only through the \u003ccode\u003eMAX_CONTENT_LENGTH\u003c/code\u003e config. Added \u003ccode\u003eMAX_FORM_MEMORY_SIZE\u003c/code\u003e and \u003ccode\u003eMAX_FORM_PARTS\u003c/code\u003e config. Added documentation about resource limits to the security page. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5625\"\u003e#5625\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for the \u003ccode\u003ePartitioned\u003c/code\u003e cookie attribute (CHIPS), with the \u003ccode\u003eSESSION_COOKIE_PARTITIONED\u003c/code\u003e config. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5472\"\u003e#5472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e-e path\u003c/code\u003e takes precedence over default \u003ccode\u003e.env\u003c/code\u003e and \u003ccode\u003e.flaskenv\u003c/code\u003e files. \u003ccode\u003eload_dotenv\u003c/code\u003e loads default files in addition to a path unless \u003ccode\u003eload_defaults=False\u003c/code\u003e is passed. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5628\"\u003e#5628\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport key rotation with the \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e config, a list of old secret keys that can still be used for unsigning. Extensions will need to add support. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5621\"\u003e#5621\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix how setting \u003ccode\u003ehost_matching=True\u003c/code\u003e or \u003ccode\u003esubdomain_matching=False\u003c/code\u003e interacts with \u003ccode\u003eSERVER_NAME\u003c/code\u003e. Setting \u003ccode\u003eSERVER_NAME\u003c/code\u003e no longer restricts requests to only that domain. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5553\"\u003e#5553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.trusted_hosts\u003c/code\u003e is checked during routing, and can be set through the \u003ccode\u003eTRUSTED_HOSTS\u003c/code\u003e config. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5636\"\u003e#5636\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.0.3\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/blob/main/CHANGES.rst\"\u003eflask's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.1.3\u003c/h2\u003e\n\u003cp\u003eReleased 2026-02-18\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys\nbut not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. :ghsa:\u003ccode\u003e68rp-wp8r-4726\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.2\u003c/h2\u003e\n\u003cp\u003eReleased 2025-08-19\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. :issue:\u003ccode\u003e5774\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state\nof \u003ccode\u003esession\u003c/code\u003e is correct. :issue:\u003ccode\u003e5786\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. :issue:\u003ccode\u003e5776\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-05-13\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via\n\u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. :ghsa:\u003ccode\u003e4grg-w6v8-c28g\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. :issue:\u003ccode\u003e5645\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loads the app and plugins first to make sure all commands\nare shown. :issue:\u003ccode\u003e5673\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eMark sans-io base class as being able to handle views that return\n\u003ccode\u003eAsyncIterable\u003c/code\u003e. This is not accurate for Flask, but makes typing easier\nfor Quart. :pr:\u003ccode\u003e5659\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.0\u003c/h2\u003e\n\u003cp\u003eReleased 2024-11-13\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. :pr:\u003ccode\u003e5623\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUpdate minimum dependency versions to latest feature releases.\nWerkzeug \u0026gt;= 3.1, ItsDangerous \u0026gt;= 2.2, Blinker \u0026gt;= 1.9. :pr:\u003ccode\u003e5624,5633\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eProvide a configuration option to control automatic option\nresponses. :pr:\u003ccode\u003e5496\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFlask.open_resource\u003c/code\u003e/\u003ccode\u003eopen_instance_resource\u003c/code\u003e and\n\u003ccode\u003eBlueprint.open_resource\u003c/code\u003e take an \u003ccode\u003eencoding\u003c/code\u003e parameter to use when\nopening in text mode. It defaults to \u003ccode\u003eutf-8\u003c/code\u003e. :issue:\u003ccode\u003e5504\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.max_content_length\u003c/code\u003e can be customized per-request instead of only\nthrough the \u003ccode\u003eMAX_CONTENT_LENGTH\u003c/code\u003e config. Added\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/22d924701a6ae2e4cd01e9a15bbaf3946094af65\"\u003e\u003ccode\u003e22d9247\u003c/code\u003e\u003c/a\u003e release version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/089cb86dd22bff589a4eafb7ab8e42dc357623b4\"\u003e\u003ccode\u003e089cb86\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/c17f379390731543eea33a570a47bd4ef76a54fa\"\u003e\u003ccode\u003ec17f379\u003c/code\u003e\u003c/a\u003e request context tracks session access\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/27be9338405382445a7cb01151e084559b98d602\"\u003e\u003ccode\u003e27be933\u003c/code\u003e\u003c/a\u003e start version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4e652d3f68b90d50aa2301d3b7e68c3fafd9251d\"\u003e\u003ccode\u003e4e652d3\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5903\"\u003e#5903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/3d03098a97ddc6a908aa4a50c2ef7381f8297d0a\"\u003e\u003ccode\u003e3d03098\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/407eb76b27884848383a37c7274654f0271e4bc4\"\u003e\u003ccode\u003e407eb76\u003c/code\u003e\u003c/a\u003e document using gevent for async (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5900\"\u003e#5900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/ac5664d2281533eacafd64f5cc7d5edcdaccab60\"\u003e\u003ccode\u003eac5664d\u003c/code\u003e\u003c/a\u003e document using gevent for async\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4f79d5b59a56bc4356a97f2e81a35f98cb18d7b3\"\u003e\u003ccode\u003e4f79d5b\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11 (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5865\"\u003e#5865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/fe3b215d3ade4db68262dae1a3cdc464a1fc524f\"\u003e\u003ccode\u003efe3b215\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/flask/compare/2.2.5...3.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `apache-airflow` from 2.9.3 to 3.2.0b1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/airflow/releases\"\u003eapache-airflow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eApache Airflow 3.1.7\u003c/h2\u003e\n\u003cp\u003e📦 PyPI: \u003ca href=\"https://pypi.org/project/apache-airflow/3.1.7/\"\u003ehttps://pypi.org/project/apache-airflow/3.1.7/\u003c/a\u003e\n📚 Docs: \u003ca href=\"https://airflow.apache.org/docs/apache-airflow/3.1.7/\"\u003ehttps://airflow.apache.org/docs/apache-airflow/3.1.7/\u003c/a\u003e\n🛠 Release Notes: \u003ca href=\"https://airflow.apache.org/docs/apache-airflow/3.1.7/release_notes.html\"\u003ehttps://airflow.apache.org/docs/apache-airflow/3.1.7/release_notes.html\u003c/a\u003e\n🐳 Docker Image: \u0026quot;docker pull apache/airflow:3.1.7\u0026quot;\n🚏 Constraints: \u003ca href=\"https://github.com/apache/airflow/tree/constraints-3.1.7\"\u003ehttps://github.com/apache/airflow/tree/constraints-3.1.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eSignificant Changes\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix JWT token generation with unset issuer/audience config (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61331\"\u003e#61331\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix callback files losing priority during queue resort (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61232\"\u003e#61232\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61243\"\u003e#61243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Dag callback for versioned bundles in the processor (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60734\"\u003e#60734\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61230\"\u003e#61230\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd 404 handling for non-existent Dag (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61131\"\u003e#61131\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61225\"\u003e#61225\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd guardrail to handle Dag deserialization errors in scheduler (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61162\"\u003e#61162\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61210\"\u003e#61210\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix asset scheduling for stale Dags (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/59337\"\u003e#59337\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60022\"\u003e#60022\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61106\"\u003e#61106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix unnecessary Dag version churn when Dag file paths change (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60799\"\u003e#60799\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix missing warning when Bundle path may not be accessible to impersonated user (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60278\"\u003e#60278\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eTriggerDagRunOperator\u003c/code\u003e deferring when \u003ccode\u003ewait_for_completion=False\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60052\"\u003e#60052\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix NoneType error when updating serialized Dag (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/56422\"\u003e#56422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Pool API slots validation (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61071\"\u003e#61071\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61114\"\u003e#61114\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix DagBag parsing by adding bundle_path temporarily to sys.path (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/55894\"\u003e#55894\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61053\"\u003e#61053\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix API to respect maximum page limit (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60989\"\u003e#60989\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61073\"\u003e#61073\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent Triggerer from crashing when a trigger event isn't serializable (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60152\"\u003e#60152\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60981\"\u003e#60981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix permissions on get_event_logs endpoint (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60936\"\u003e#60936\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60958\"\u003e#60958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Dag access control for dag_id in query param (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60935\"\u003e#60935\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60959\"\u003e#60959\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix root logger to use log_level instead of hardcoded INFO level (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60784\"\u003e#60784\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60970\"\u003e#60970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Dag processor OOM by Avoid loading all TaskInstances when checking DagVersion in write_dag (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60937\"\u003e#60937\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60962\"\u003e#60962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix worker startup Dag load failures by rescheduling tasks instead of exiting (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/59604\"\u003e#59604\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60926\"\u003e#60926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix permissions check in import error APIs (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60801\"\u003e#60801\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60884\"\u003e#60884\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix refresh-token invalidation by logging out the user (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60781\"\u003e#60781\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60881\"\u003e#60881\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix connection test API to restore masked password/extra from existing connections (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/59643\"\u003e#59643\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60873\"\u003e#60873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Dag processor overhead by applying \u003ccode\u003egc.freeze\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60505\"\u003e#60505\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60845\"\u003e#60845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Dag processor crashing due to MySQL deadlock errors (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60166\"\u003e#60166\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60418\"\u003e#60418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure unique run_id across manually triggered Dags with schedules (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/59477\"\u003e#59477\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60468\"\u003e#60468\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Avoid gantt annotation error during resize (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60877\"\u003e#60877\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Fix react apps plugins router (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61206\"\u003e#61206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Reset pagination on search in all pages (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61169\"\u003e#61169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Explicitly set UI table ordering (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60609\"\u003e#60609\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61216\"\u003e#61216\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Plugins pagination fix  \u003ca href=\"https://redirect.github.com/apache/airflow/issues/61055\"\u003e#61055\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61059\"\u003e#61059\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61129\"\u003e#61129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Fix ui get dags permission endpoint for user without Dag run permissions (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60979\"\u003e#60979\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60988\"\u003e#60988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Convert Tasks Table from card to table mode (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60830\"\u003e#60830\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60874\"\u003e#60874\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Fix slow log scrolling for large task logs (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60806\"\u003e#60806\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60875\"\u003e#60875\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Grey out trigger button on API 403 (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60648\"\u003e#60648\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60777\"\u003e#60777\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Remove API error from disabling submit (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60473\"\u003e#60473\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60658\"\u003e#60658\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Added toasters for permission denied (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/57966\"\u003e#57966\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/58016\"\u003e#58016\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60646\"\u003e#60646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Move row count and display toggle into DataTable (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/57680\"\u003e#57680\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60639\"\u003e#60639\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Fix/backfill permission error handling (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60582\"\u003e#60582\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60587\"\u003e#60587\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/apache/airflow/blob/main/docker-stack-docs/changelog.rst\"\u003eapache-airflow's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e.. Licensed to the Apache Software Foundation (ASF) under one\nor more contributor license agreements.  See the NOTICE file\ndistributed with this work for additional information\nregarding copyright ownership.  The ASF licenses this file\nto you under the Apache License, Version 2.0 (the\n\u0026quot;License\u0026quot;); you may not use this file except in compliance\nwith the License.  You may obtain a copy of the License at\u003c/p\u003e\n\u003cp\u003e..   \u003ca href=\"http://www.apache.org/licenses/LICENSE-2.0\"\u003ehttp://www.apache.org/licenses/LICENSE-2.0\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e.. Unless required by applicable law or agreed to in writing,\nsoftware distributed under the License is distributed on an\n\u0026quot;AS IS\u0026quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, either express or implied.  See the License for the\nspecific language governing permissions and limitations\nunder the License.\u003c/p\u003e\n\u003ch1\u003eDockerfile Changelog\u003c/h1\u003e\n\u003cp\u003eThe \u003ccode\u003eDockerfile\u003c/code\u003e does not strictly follow the \u003ccode\u003eSemVer \u0026lt;https://semver.org/\u0026gt;\u003c/code\u003e_ approach of\nApache Airflow when it comes to features and backwards compatibility. While Airflow code strictly\nfollows it, the \u003ccode\u003eDockerfile\u003c/code\u003e is really a way to give users a conveniently packaged Airflow\nusing standard container approach, so occasionally there are some changes in the building process\nor in the entrypoint of the image that require slight adaptation of how it is used or built.\u003c/p\u003e\n\u003cp\u003eThe Changelog below describes the changes introduced in each version of the docker images released by\nthe Airflow team.\u003c/p\u003e\n\u003cp\u003e:note: The Changelog below concerns only the convenience production images released at\n\u003ccode\u003eAirflow DockerHub \u0026lt;https://hub.docker.com/r/apache/airflow\u0026gt;\u003c/code\u003e_ . The images that are released\nthere are usually built using the \u003ccode\u003eDockerfile\u003c/code\u003e released together with Airflow. However, you are\nfree to take latest released \u003ccode\u003eDockerfile\u003c/code\u003e from Airflow and use it to build an image for\nany Airflow version from the \u003ccode\u003eAirflow 2\u003c/code\u003e line. There is no guarantee that it will work, but if it does,\nthen you can use latest features from that image to build images for previous Airflow versions.\u003c/p\u003e\n\u003cp\u003eAirflow 3.1.4\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\nIn Airflow 3.1.4, the images are build without removing of .pyc and .pyo files when Python is built.\nThis increases the size of the image slightly (\u0026lt;0.5%), but improves performance of Python in the container\nbecause Python does not need to recompile the files on the first run but more importantly, if you use\n``exec`` to run Health Checks, removed .pyc files caused a small but ever growing memory leak in the Unix\nkernel connected to negative ``dentries`` created when .pyc files were attempted to be compiled and failed.\nThis over time could lead to out-of-memory issues on the host running the container.\n\u003cp\u003eMore information about \u003ccode\u003edentries\u003c/code\u003e can be found in \u003ccode\u003ethis article \u0026amp;lt;https://lwn.net/Articles/814535/\u0026amp;gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003cp\u003eAirflow 3.1.0\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/7989f25ab78b7561102926b4867966271ef7e42a\"\u003e\u003ccode\u003e7989f25\u003c/code\u003e\u003c/a\u003e update release notes for 3.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/346f3329ec556755a14c0acf1d57cd172d4b3b6b\"\u003e\u003ccode\u003e346f332\u003c/code\u003e\u003c/a\u003e Add 3.2.0 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/6661a58f60e0f9f9b1fff1132b2bd257b146fede\"\u003e\u003ccode\u003e6661a58\u003c/code\u003e\u003c/a\u003e Update version to 3.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/0a82c312ed98ec38c23301a856154212dbbda8ef\"\u003e\u003ccode\u003e0a82c31\u003c/code\u003e\u003c/a\u003e updated versions in README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/21f5a375352e3b1e7295179ae97c7f7de5c99b7e\"\u003e\u003ccode\u003e21f5a37\u003c/code\u003e\u003c/a\u003e Pin Task-SDK for Airflow meta package\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/4c87c4cde01eae483d40f87ee9daa037426d00a7\"\u003e\u003ccode\u003e4c87c4c\u003c/code\u003e\u003c/a\u003e Update default branches for 3-2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/d42623e2b461fa362f2a5f7e6f2ca9a028d9e4b9\"\u003e\u003ccode\u003ed42623e\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eObjectStoragePath\u003c/code\u003e to exclude \u003ccode\u003econn_id\u003c/code\u003e from storage options passed to f...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/77c38f357c3ff7af50ceda862f837dab7a93f359\"\u003e\u003ccode\u003e77c38f3\u003c/code\u003e\u003c/a\u003e docs(asset-partition): add example Dag (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62491\"\u003e#62491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/05ea74a9429156400ca89ca913c5d838e568ef3a\"\u003e\u003ccode\u003e05ea74a\u003c/code\u003e\u003c/a\u003e Prepare provider's documentation 2026-03-03 (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62752\"\u003e#62752\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/1199dc5305ea1630b0e1f7681bdbc4daff28440b\"\u003e\u003ccode\u003e1199dc5\u003c/code\u003e\u003c/a\u003e Consolidate \u003ccode\u003eSkipMixin\u003c/code\u003e imports through \u003ccode\u003ecommon-compat\u003c/code\u003e layer (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62776\"\u003e#62776\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/airflow/compare/2.9.3...3.2.0b1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `authlib` from 1.6.0 to 1.6.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/authlib/authlib/releases\"\u003eauthlib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.7\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/authlib/authlib/compare/v1.6.6...v1.6.7\"\u003ehttps://github.com/authlib/authlib/compare/v1.6.6...v1.6.7\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eSet supported algorithms for the default \u003ccode\u003ejwt\u003c/code\u003e instance.\u003c/p\u003e\n\u003ch2\u003ev1.6.6\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix(ClientAuth): fix incorrect signature when Content-Type is x-www-form-urlencoded by \u003ca href=\"https://github.com/shc261392\"\u003e\u003ccode\u003e@​shc261392\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/authlib/authlib/pull/778\"\u003eauthlib/authlib#778\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Use \u003ccode\u003eexpires_in\u003c/code\u003e when \u003ccode\u003eexpires_at\u003c/code\u003e is unparsable by \u003ca href=\"https://github.com/bendavis78\"\u003e\u003ccode\u003e@​bendavis78\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/authlib/authlib/pull/842\"\u003eauthlib/authlib#842\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eget_jwt_config\u003c/code\u003e takes a \u003ccode\u003eclient\u003c/code\u003e parameter. by \u003ca href=\"https://github.com/azmeuk\"\u003e\u003ccode\u003e@​azmeuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/authlib/authlib/pull/844\"\u003eauthlib/authlib#844\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/shc261392\"\u003e\u003ccode\u003e@​shc261392\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/authlib/authlib/pull/778\"\u003eauthlib/authlib#778\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bendavis78\"\u003e\u003ccode\u003e@​bendavis78\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/authlib/authlib/pull/842\"\u003eauthlib/authlib#842\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/authlib/authlib/compare/v1.6.5...v1.6.6\"\u003ehttps://github.com/authlib/authlib/compare/v1.6.5...v1.6.6\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.6.5\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a \u003ccode\u003erequest\u003c/code\u003e param to RFC7591 \u003ccode\u003egenerate_client_info\u003c/code\u003e and \u003ccode\u003egenerate_client_secret\u003c/code\u003e methods by \u003ca href=\"https://github.com/azmeuk\"\u003e\u003ccode\u003e@​azmeuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/authlib/authlib/pull/825\"\u003eauthlib/authlib#825\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: support list params in prepare_grant_uri by \u003ca href=\"https://github.com/lisongmin\"\u003e\u003ccode\u003e@​lisongmin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/authlib/authlib/pull/827\"\u003eauthlib/authlib#827\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump SonarSource/sonarqube-scan-action from 5 to 6 in /.github/workflows by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/authlib/authlib/pull/828\"\u003eauthlib/authlib#828\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(jose): add max size for JWE zip=DEF decompression by \u003ca href=\"https://github.com/lepture\"\u003e\u003ccode\u003e@​lepture\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/authlib/authlib/pull/830\"\u003eauthlib/authlib#830\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/lisongmin\"\u003e\u003ccode\u003e@​lisongmin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/authlib/authlib/pull/827\"\u003eauthlib/authlib#827\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] made their first contribution in \u003ca href=\"https://redirect.github.com/authlib/authlib/pull/828\"\u003eauthlib/authlib#828\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/authlib/authlib/compare/v1.6.4...v1.6.5\"\u003ehttps://github.com/authlib/authlib/compare/v1.6.4...v1.6.5\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.6.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix(jose): prevent public/unprotected header overwriting protected header by \u003ca href=\"https://github.com/lepture\"\u003e\u003ccode\u003e@​lepture\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/authlib/authlib/pull/809\"\u003eauthlib/authlib#809\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eInsecureTransportError\u003c/code\u003e raising by \u003ca href=\"https://github.com/azmeuk\"\u003e\u003ccode\u003e@​azmeuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/authlib/authlib/pull/810\"\u003eauthlib/authlib#810\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd conventional-commits pre-commit hook by \u003ca href=\"https://github.com/azmeuk\"\u003e\u003ccode\u003e@​azmeuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/authlib/authlib/pull/811\"\u003eauthlib/authlib#811\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix response_mode=form_post with Starlette client by \u003ca href=\"https://github.com/azmeuk\"\u003e\u003ccode\u003e@​azmeuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/authlib/authlib/pull/812\"\u003eauthlib/authlib#812\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSpecify README.md as project long description by \u003ca href=\"https://github.com/EpicWink\"\u003e\u003ccode\u003e@​EpicWink\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/authlib/authlib/pull/817\"\u003eauthlib/authlib#817\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMigrate tests to pytest paradigm by \u003ca href=\"https://github.com/azmeuk\"\u003e\u003ccode\u003e@​azmeuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/authlib/authlib/pull/813\"\u003eauthlib/authlib#813\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ejose/jws: Reject unprotected ‘crit’ and enforce type; add tests by \u003ca href=\"https://github.com/AL-Cybision\"\u003e\u003ccode\u003e@​AL-Cybision\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/authlib/authlib/pull/823\"\u003eauthlib/authlib#823\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse explicit *.test urls in unit tests by \u003ca href=\"https://...\n\n_Description has been truncated_","html_url":"https://github.com/pass-culture/data-gcp/pull/4904","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/pass-culture%2Fdata-gcp/issues/4904","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/4904/packages"},{"uuid":"3970698581","node_id":"PR_kwDOEvaoaM7FRr3f","number":1288,"state":"closed","title":"Bump the uv group across 2 directories with 6 updates","user":"dependabot[bot]","labels":["Area: Backend","Area: Airflow","python:uv"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-02-21T18:02:37.000Z","author_association":null,"state_reason":null,"created_at":"2026-02-20T22:50:27.000Z","updated_at":"2026-02-21T18:02:38.000Z","time_to_close":69130,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"uv","update_count":6,"packages":[{"name":"apache-airflow","old_version":"3.1.0","new_version":"3.1.7","repository_url":"https://github.com/apache/airflow"},{"name":"cryptography","old_version":"44.0.2","new_version":"46.0.5","repository_url":"https://github.com/pyca/cryptography"},{"name":"flask","old_version":"2.2.5","new_version":"3.1.3","repository_url":"https://github.com/pallets/flask"},{"name":"protobuf","old_version":"5.29.5","new_version":"5.29.6","repository_url":"https://github.com/protocolbuffers/protobuf"},{"name":"python-multipart","old_version":"0.0.21","new_version":"0.0.22","repository_url":"https://github.com/Kludex/python-multipart"},{"name":"sqlparse","old_version":"0.5.3","new_version":"0.5.4","repository_url":"https://github.com/andialbrecht/sqlparse"}],"path":null,"ecosystem":"pip"},"body":"Bumps the uv group with 6 updates in the /app/airflow directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [apache-airflow](https://github.com/apache/airflow) | `3.1.0` | `3.1.7` |\n| [cryptography](https://github.com/pyca/cryptography) | `44.0.2` | `46.0.5` |\n| [flask](https://github.com/pallets/flask) | `2.2.5` | `3.1.3` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `5.29.5` | `5.29.6` |\n| [python-multipart](https://github.com/Kludex/python-multipart) | `0.0.21` | `0.0.22` |\n| [sqlparse](https://github.com/andialbrecht/sqlparse) | `0.5.3` | `0.5.4` |\n\nBumps the uv group with 2 updates in the /app/api directory: [cryptography](https://github.com/pyca/cryptography) and [sqlparse](https://github.com/andialbrecht/sqlparse).\n\nUpdates `apache-airflow` from 3.1.0 to 3.1.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/airflow/releases\"\u003eapache-airflow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eApache Airflow 3.1.7\u003c/h2\u003e\n\u003cp\u003e📦 PyPI: \u003ca href=\"https://pypi.org/project/apache-airflow/3.1.7/\"\u003ehttps://pypi.org/project/apache-airflow/3.1.7/\u003c/a\u003e\n📚 Docs: \u003ca href=\"https://airflow.apache.org/docs/apache-airflow/3.1.7/\"\u003ehttps://airflow.apache.org/docs/apache-airflow/3.1.7/\u003c/a\u003e\n🛠 Release Notes: \u003ca href=\"https://airflow.apache.org/docs/apache-airflow/3.1.7/release_notes.html\"\u003ehttps://airflow.apache.org/docs/apache-airflow/3.1.7/release_notes.html\u003c/a\u003e\n🐳 Docker Image: \u0026quot;docker pull apache/airflow:3.1.7\u0026quot;\n🚏 Constraints: \u003ca href=\"https://github.com/apache/airflow/tree/constraints-3.1.7\"\u003ehttps://github.com/apache/airflow/tree/constraints-3.1.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eSignificant Changes\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix JWT token generation with unset issuer/audience config (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61331\"\u003e#61331\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix callback files losing priority during queue resort (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61232\"\u003e#61232\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61243\"\u003e#61243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Dag callback for versioned bundles in the processor (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60734\"\u003e#60734\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61230\"\u003e#61230\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd 404 handling for non-existent Dag (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61131\"\u003e#61131\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61225\"\u003e#61225\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd guardrail to handle Dag deserialization errors in scheduler (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61162\"\u003e#61162\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61210\"\u003e#61210\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix asset scheduling for stale Dags (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/59337\"\u003e#59337\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60022\"\u003e#60022\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61106\"\u003e#61106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix unnecessary Dag version churn when Dag file paths change (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60799\"\u003e#60799\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix missing warning when Bundle path may not be accessible to impersonated user (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60278\"\u003e#60278\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eTriggerDagRunOperator\u003c/code\u003e deferring when \u003ccode\u003ewait_for_completion=False\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60052\"\u003e#60052\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix NoneType error when updating serialized Dag (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/56422\"\u003e#56422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Pool API slots validation (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61071\"\u003e#61071\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61114\"\u003e#61114\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix DagBag parsing by adding bundle_path temporarily to sys.path (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/55894\"\u003e#55894\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61053\"\u003e#61053\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix API to respect maximum page limit (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60989\"\u003e#60989\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61073\"\u003e#61073\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent Triggerer from crashing when a trigger event isn't serializable (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60152\"\u003e#60152\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60981\"\u003e#60981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix permissions on get_event_logs endpoint (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60936\"\u003e#60936\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60958\"\u003e#60958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Dag access control for dag_id in query param (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60935\"\u003e#60935\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60959\"\u003e#60959\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix root logger to use log_level instead of hardcoded INFO level (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60784\"\u003e#60784\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60970\"\u003e#60970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Dag processor OOM by Avoid loading all TaskInstances when checking DagVersion in write_dag (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60937\"\u003e#60937\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60962\"\u003e#60962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix worker startup Dag load failures by rescheduling tasks instead of exiting (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/59604\"\u003e#59604\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60926\"\u003e#60926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix permissions check in import error APIs (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60801\"\u003e#60801\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60884\"\u003e#60884\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix refresh-token invalidation by logging out the user (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60781\"\u003e#60781\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60881\"\u003e#60881\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix connection test API to restore masked password/extra from existing connections (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/59643\"\u003e#59643\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60873\"\u003e#60873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Dag processor overhead by applying \u003ccode\u003egc.freeze\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60505\"\u003e#60505\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60845\"\u003e#60845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Dag processor crashing due to MySQL deadlock errors (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60166\"\u003e#60166\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60418\"\u003e#60418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure unique run_id across manually triggered Dags with schedules (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/59477\"\u003e#59477\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60468\"\u003e#60468\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Avoid gantt annotation error during resize (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60877\"\u003e#60877\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Fix react apps plugins router (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61206\"\u003e#61206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Reset pagination on search in all pages (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61169\"\u003e#61169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Explicitly set UI table ordering (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60609\"\u003e#60609\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61216\"\u003e#61216\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Plugins pagination fix  \u003ca href=\"https://redirect.github.com/apache/airflow/issues/61055\"\u003e#61055\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61059\"\u003e#61059\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61129\"\u003e#61129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Fix ui get dags permission endpoint for user without Dag run permissions (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60979\"\u003e#60979\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60988\"\u003e#60988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Convert Tasks Table from card to table mode (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60830\"\u003e#60830\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60874\"\u003e#60874\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Fix slow log scrolling for large task logs (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60806\"\u003e#60806\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60875\"\u003e#60875\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Grey out trigger button on API 403 (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60648\"\u003e#60648\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60777\"\u003e#60777\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Remove API error from disabling submit (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60473\"\u003e#60473\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60658\"\u003e#60658\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Added toasters for permission denied (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/57966\"\u003e#57966\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/58016\"\u003e#58016\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60646\"\u003e#60646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Move row count and display toggle into DataTable (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/57680\"\u003e#57680\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60639\"\u003e#60639\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Fix/backfill permission error handling (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60582\"\u003e#60582\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60587\"\u003e#60587\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/apache/airflow/commit/83ff6ecec9dd71d8b8631248bc0725afc472acd7\"\u003e\u003ccode\u003e83ff6ec\u003c/code\u003e\u003c/a\u003e Update RELEASE_NOTES.rst for rc2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/caa057100f47ff8b659178a86d565163fb71e6f9\"\u003e\u003ccode\u003ecaa0571\u003c/code\u003e\u003c/a\u003e [v3-1-test] Fix JWT token generation with unset issuer/audience config (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/6127\"\u003e#6127\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/d82bb100d738b09d9604d692913062ae8a225ee4\"\u003e\u003ccode\u003ed82bb10\u003c/code\u003e\u003c/a\u003e Update RELEASE_NOTES.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/d24ec9a649f96b4417c8440526538d81c8c78a6a\"\u003e\u003ccode\u003ed24ec9a\u003c/code\u003e\u003c/a\u003e Update Airflow Version to 3.1.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/08a5859832fc59b3413abba09c7c182f15001d48\"\u003e\u003ccode\u003e08a5859\u003c/code\u003e\u003c/a\u003e [v3-1-test] Fix callback files losing priority during queue resort (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61232\"\u003e#61232\u003c/a\u003e) (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/3b41866a2ee244a7e00332213bd0a8a5e8eaedfe\"\u003e\u003ccode\u003e3b41866\u003c/code\u003e\u003c/a\u003e dag_processing: initialize versioned bundles for callbacks (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/52040\"\u003e#52040\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60734\"\u003e#60734\u003c/a\u003e) ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/c34d2c36f2a315bb6546a6de8176d2b24bebe18b\"\u003e\u003ccode\u003ec34d2c3\u003c/code\u003e\u003c/a\u003e [v3-1-test] Add 404 handling for non-existent Dag (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61131\"\u003e#61131\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61225\"\u003e#61225\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/dd1a86593f2bd38b50b9f2a0a91529d16f89d0c4\"\u003e\u003ccode\u003edd1a865\u003c/code\u003e\u003c/a\u003e Fix import errors not showing on UI (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61163\"\u003e#61163\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61213\"\u003e#61213\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/52b7aeae50805a26218d2fd9972135ee38005920\"\u003e\u003ccode\u003e52b7aea\u003c/code\u003e\u003c/a\u003e [v3-1-test] Explicitly set table ordering (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60609\"\u003e#60609\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61216\"\u003e#61216\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/5a2b2404cfe21d912b801925210fb507d0412bf4\"\u003e\u003ccode\u003e5a2b240\u003c/code\u003e\u003c/a\u003e [v3-1-test] Add guardrail to handle DAG deserialization errors in scheduler (...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/airflow/compare/3.1.0...3.1.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cryptography` from 44.0.2 to 46.0.5\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst\"\u003ecryptography's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e46.0.5 - 2026-02-10\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* An attacker could create a malicious public key that reveals portions of your\n  private key when using certain uncommon elliptic curves (binary curves).\n  This version now includes additional security checks to prevent this attack.\n  This issue only affects binary elliptic curves, which are rarely used in\n  real-world applications. Credit to **XlabAI Team of Tencent Xuanwu Lab and\n  Atuin Automated Vulnerability Discovery Engine** for reporting the issue.\n  **CVE-2026-26007**\n* Support for ``SECT*`` binary elliptic curves is deprecated and will be\n  removed in the next release.\n\u003cp\u003e.. v46-0-4:\u003c/p\u003e\n\u003cp\u003e46.0.4 - 2026-01-27\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eDropped support for win_arm64 wheels\u003c/code\u003e_.\u003c/li\u003e\n\u003cli\u003eUpdated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.5.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _v46-0-3:\u003c/p\u003e\n\u003cp\u003e46.0.3 - 2025-10-15\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Fixed compilation when using LibreSSL 4.2.0.\n\u003cp\u003e.. _v46-0-2:\u003c/p\u003e\n\u003cp\u003e46.0.2 - 2025-09-30\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.4.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _v46-0-1:\u003c/p\u003e\n\u003cp\u003e46.0.1 - 2025-09-16\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Fixed an issue where users installing via ``pip`` on Python 3.14 development\n  versions would not properly install a dependency.\n* Fixed an issue building the free-threaded macOS 3.14 wheels.\n\u003cp\u003e.. _v46-0-0:\u003c/p\u003e\n\u003cp\u003e46.0.0 - 2025-09-16\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eBACKWARDS INCOMPATIBLE:\u003c/strong\u003e Support for Python 3.7 has been removed.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/06e120e682cb200e3f7050c02f0bcdac90c4c6ad\"\u003e\u003ccode\u003e06e120e\u003c/code\u003e\u003c/a\u003e bump version for 46.0.5 release (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14289\"\u003e#14289\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/0eebb9dbb6343d9bc1d91e5a2482ed4e054a6d8c\"\u003e\u003ccode\u003e0eebb9d\u003c/code\u003e\u003c/a\u003e EC check key on cofactor \u0026gt; 1 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14287\"\u003e#14287\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/bedf6e186b814f69a3f54f51252c23a71d44ed2e\"\u003e\u003ccode\u003ebedf6e1\u003c/code\u003e\u003c/a\u003e fix openssl version on 46 branch (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14220\"\u003e#14220\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/e6f44fc8e6391f05d719fb9d369692325b87a471\"\u003e\u003ccode\u003ee6f44fc\u003c/code\u003e\u003c/a\u003e bump for 46.0.4 and drop win arm64 due to CI issues (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14217\"\u003e#14217\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/c0af4dd7b75921bbe9f1d41a03dbd4b64a9e3403\"\u003e\u003ccode\u003ec0af4dd\u003c/code\u003e\u003c/a\u003e release 46.0.3 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13681\"\u003e#13681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/99efe5ad150a56efadafacaffd0e3ee319373904\"\u003e\u003ccode\u003e99efe5a\u003c/code\u003e\u003c/a\u003e bump version for 46.0.2 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13531\"\u003e#13531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/e735cfc27502320101c130335c556394a125ba52\"\u003e\u003ccode\u003ee735cfc\u003c/code\u003e\u003c/a\u003e release 46.0.1 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13450\"\u003e#13450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/4e457ffba43a6d87efc63c33041e2081438dd8a4\"\u003e\u003ccode\u003e4e457ff\u003c/code\u003e\u003c/a\u003e Explicitly specify python in mac uv build invocation (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13447\"\u003e#13447\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/2726efdb6d67f1c90cf9c6062d9fe051965586f8\"\u003e\u003ccode\u003e2726efd\u003c/code\u003e\u003c/a\u003e Depend on CFFI 2.0.0 or newer on Python \u0026gt; 3.8 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13448\"\u003e#13448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/62230623d183706632c0eb7822c96ac95e3710a8\"\u003e\u003ccode\u003e6223062\u003c/code\u003e\u003c/a\u003e release 46.0.0 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13446\"\u003e#13446\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyca/cryptography/compare/44.0.2...46.0.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `flask` from 2.2.5 to 3.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/releases\"\u003eflask's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.3\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.3 security fix release, which fixes a security issue but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.3/\"\u003ehttps://pypi.org/project/Flask/3.1.3/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-3\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-3\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys but not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. \u003ca href=\"https://github.com/pallets/flask/security/advisories/GHSA-68rp-wp8r-4726\"\u003eGHSA-68rp-wp8r-4726\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.2\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.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/Flask/3.1.2/\"\u003ehttps://pypi.org/project/Flask/3.1.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-2\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-2\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/38?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/38?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5774\"\u003e#5774\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state of \u003ccode\u003esession\u003c/code\u003e is correct. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5786\"\u003e#5786\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5776\"\u003e#5776\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.1\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.1 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.1/\"\u003ehttps://pypi.org/project/Flask/3.1.1/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/flask/milestone/36?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/36?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. GHSA-4grg-w6v8-c28g\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5645\"\u003e#5645\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loads the app and plugins first to make sure all commands are shown. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5673\"\u003e#5673\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMark sans-io base class as being able to handle views that return \u003ccode\u003eAsyncIterable\u003c/code\u003e. This is not accurate for Flask, but makes typing easier for Quart. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5659\"\u003e#5659\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.0\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecations, or introduce potentially breaking changes. We encourage everyone to upgrade, and to use a tool such as \u003ca href=\"https://pypi.org/project/pip-tools/\"\u003epip-tools\u003c/a\u003e to pin all dependencies and control upgrades. Test with warnings treated as errors to be able to adapt to deprecation warnings early.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.0/\"\u003ehttps://pypi.org/project/Flask/3.1.0/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-0\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-0\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/33?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/33?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5623\"\u003e#5623\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate minimum dependency versions to latest feature releases. Werkzeug \u0026gt;= 3.1, ItsDangerous \u0026gt;= 2.2, Blinker \u0026gt;= 1.9. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5624\"\u003e#5624\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5633\"\u003e#5633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProvide a configuration option to control automatic option responses. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5496\"\u003e#5496\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFlask.open_resource\u003c/code\u003e/\u003ccode\u003eopen_instance_resource\u003c/code\u003e and \u003ccode\u003eBlueprint.open_resource\u003c/code\u003e take an \u003ccode\u003eencoding\u003c/code\u003e parameter to use when opening in text mode. It defaults to \u003ccode\u003eutf-8\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5504\"\u003e#5504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.max_content_length\u003c/code\u003e can be customized per-request instead of only through the \u003ccode\u003eMAX_CONTENT_LENGTH\u003c/code\u003e config. Added \u003ccode\u003eMAX_FORM_MEMORY_SIZE\u003c/code\u003e and \u003ccode\u003eMAX_FORM_PARTS\u003c/code\u003e config. Added documentation about resource limits to the security page. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5625\"\u003e#5625\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for the \u003ccode\u003ePartitioned\u003c/code\u003e cookie attribute (CHIPS), with the \u003ccode\u003eSESSION_COOKIE_PARTITIONED\u003c/code\u003e config. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5472\"\u003e#5472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e-e path\u003c/code\u003e takes precedence over default \u003ccode\u003e.env\u003c/code\u003e and \u003ccode\u003e.flaskenv\u003c/code\u003e files. \u003ccode\u003eload_dotenv\u003c/code\u003e loads default files in addition to a path unless \u003ccode\u003eload_defaults=False\u003c/code\u003e is passed. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5628\"\u003e#5628\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport key rotation with the \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e config, a list of old secret keys that can still be used for unsigning. Extensions will need to add support. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5621\"\u003e#5621\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix how setting \u003ccode\u003ehost_matching=True\u003c/code\u003e or \u003ccode\u003esubdomain_matching=False\u003c/code\u003e interacts with \u003ccode\u003eSERVER_NAME\u003c/code\u003e. Setting \u003ccode\u003eSERVER_NAME\u003c/code\u003e no longer restricts requests to only that domain. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5553\"\u003e#5553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.trusted_hosts\u003c/code\u003e is checked during routing, and can be set through the \u003ccode\u003eTRUSTED_HOSTS\u003c/code\u003e config. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5636\"\u003e#5636\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.0.3\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/blob/main/CHANGES.rst\"\u003eflask's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.1.3\u003c/h2\u003e\n\u003cp\u003eReleased 2026-02-18\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys\nbut not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. :ghsa:\u003ccode\u003e68rp-wp8r-4726\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.2\u003c/h2\u003e\n\u003cp\u003eReleased 2025-08-19\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. :issue:\u003ccode\u003e5774\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state\nof \u003ccode\u003esession\u003c/code\u003e is correct. :issue:\u003ccode\u003e5786\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. :issue:\u003ccode\u003e5776\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-05-13\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via\n\u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. :ghsa:\u003ccode\u003e4grg-w6v8-c28g\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. :issue:\u003ccode\u003e5645\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loads the app and plugins first to make sure all commands\nare shown. :issue:\u003ccode\u003e5673\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eMark sans-io base class as being able to handle views that return\n\u003ccode\u003eAsyncIterable\u003c/code\u003e. This is not accurate for Flask, but makes typing easier\nfor Quart. :pr:\u003ccode\u003e5659\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.0\u003c/h2\u003e\n\u003cp\u003eReleased 2024-11-13\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. :pr:\u003ccode\u003e5623\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUpdate minimum dependency versions to latest feature releases.\nWerkzeug \u0026gt;= 3.1, ItsDangerous \u0026gt;= 2.2, Blinker \u0026gt;= 1.9. :pr:\u003ccode\u003e5624,5633\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eProvide a configuration option to control automatic option\nresponses. :pr:\u003ccode\u003e5496\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFlask.open_resource\u003c/code\u003e/\u003ccode\u003eopen_instance_resource\u003c/code\u003e and\n\u003ccode\u003eBlueprint.open_resource\u003c/code\u003e take an \u003ccode\u003eencoding\u003c/code\u003e parameter to use when\nopening in text mode. It defaults to \u003ccode\u003eutf-8\u003c/code\u003e. :issue:\u003ccode\u003e5504\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.max_content_length\u003c/code\u003e can be customized per-request instead of only\nthrough the \u003ccode\u003eMAX_CONTENT_LENGTH\u003c/code\u003e config. Added\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/22d924701a6ae2e4cd01e9a15bbaf3946094af65\"\u003e\u003ccode\u003e22d9247\u003c/code\u003e\u003c/a\u003e release version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/089cb86dd22bff589a4eafb7ab8e42dc357623b4\"\u003e\u003ccode\u003e089cb86\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/c17f379390731543eea33a570a47bd4ef76a54fa\"\u003e\u003ccode\u003ec17f379\u003c/code\u003e\u003c/a\u003e request context tracks session access\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/27be9338405382445a7cb01151e084559b98d602\"\u003e\u003ccode\u003e27be933\u003c/code\u003e\u003c/a\u003e start version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4e652d3f68b90d50aa2301d3b7e68c3fafd9251d\"\u003e\u003ccode\u003e4e652d3\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5903\"\u003e#5903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/3d03098a97ddc6a908aa4a50c2ef7381f8297d0a\"\u003e\u003ccode\u003e3d03098\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/407eb76b27884848383a37c7274654f0271e4bc4\"\u003e\u003ccode\u003e407eb76\u003c/code\u003e\u003c/a\u003e document using gevent for async (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5900\"\u003e#5900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/ac5664d2281533eacafd64f5cc7d5edcdaccab60\"\u003e\u003ccode\u003eac5664d\u003c/code\u003e\u003c/a\u003e document using gevent for async\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4f79d5b59a56bc4356a97f2e81a35f98cb18d7b3\"\u003e\u003ccode\u003e4f79d5b\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11 (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5865\"\u003e#5865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/fe3b215d3ade4db68262dae1a3cdc464a1fc524f\"\u003e\u003ccode\u003efe3b215\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/flask/compare/2.2.5...3.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `protobuf` from 5.29.5 to 5.29.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/protocolbuffers/protobuf/releases\"\u003eprotobuf's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eProtocol Buffers v34.0-rc1\u003c/h2\u003e\n\u003ch1\u003eAnnouncements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eThis version includes breaking changes to: C++, Objective-C, PHP, Python.\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e[Bazel] Remove deprecated ProtoInfo.transitive_imports. Use equivalent transitive_sources instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/0a5c2f6b633c1e5259f566cb42d30fe347b8aadb\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/0a5c2f6b633c1e5259f566cb42d30fe347b8aadb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Make generator headers private (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/3a2af3510f0d454dbe3e4dc281674b61c4d20b9e\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/3a2af3510f0d454dbe3e4dc281674b61c4d20b9e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Add a debug check that the target of CopyFrom is not a descendant of the source. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/7a7589823d2cfaaf7994b050e98d5d553bc9b1c1\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/7a7589823d2cfaaf7994b050e98d5d553bc9b1c1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Add [[nodiscard]] to many APIs. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/a70115f33f9af2c4b2202c800b84837e7fe0d738\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/a70115f33f9af2c4b2202c800b84837e7fe0d738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Make the arena-enabled constructors of \u003ccode\u003eRepeatedField\u003c/code\u003e, \u003ccode\u003eRepeatedPtrField\u003c/code\u003e, and \u003ccode\u003eMap\u003c/code\u003e private. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/ef890c3d0c79398c70e047fe5dd893f460ba2336\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/ef890c3d0c79398c70e047fe5dd893f460ba2336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Remove deprecated FieldDescriptor::label() in OSS. Use is_repeated() or is_required() instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/b76faa921fdd244f374c7be0bddd4050fc42c292\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/b76faa921fdd244f374c7be0bddd4050fc42c292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Removes proto2::util::MessageDifferencer::AddIgnoreCriteria that takes a raw pointer as an argument in favor of the overload that takes a unique_ptr. Remove macro PROTOBUF_FUTURE_REMOVE_ADD_IGNORE_CRITERIA (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/b115358c64127896fed88b8b5ef5d91d86d8cbae\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/b115358c64127896fed88b8b5ef5d91d86d8cbae\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Remove deprecated FieldDescriptor::has_optional_keyword() in OSS. Use is_repeated() or has_presence() instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/68346ec9348e932664e58c3ecdcd1478f95233a8\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/68346ec9348e932664e58c3ecdcd1478f95233a8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Remove AddUnusedImportTrackFile() and ClearUnusedImportTrackFiles(). Remove PROTOBUF_FUTURE_RENAME_ADD_UNUSED_IMPORT (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/837a2cd1d6c75402b2503ffe7cd8aeaf25868536\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/837a2cd1d6c75402b2503ffe7cd8aeaf25868536\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Remove deprecated FieldDescriptor::is_optional() in OSS. Use (!is_required() \u0026amp;\u0026amp; !is_repeated()) instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/9dbc5d479a8e453921485d8d3de47fb3c005f1af\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/9dbc5d479a8e453921485d8d3de47fb3c005f1af\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Remove deprecated UseDeprecatedLegacyJsonFieldConflicts() (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/c301c2ca286327a21c50c0c4cd877afc9c655b00\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/c301c2ca286327a21c50c0c4cd877afc9c655b00\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] All entity names have length limit (2afb0dc)\u003c/li\u003e\n\u003cli\u003e[ObjC] Remove \u003ccode\u003egenerate_minimal_imports\u003c/code\u003e generation option warning (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/45b1297fdaad5a9436d0e207422168c38dc45ac4\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/45b1297fdaad5a9436d0e207422168c38dc45ac4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[ObjC] Fix nullability annotations on some \u003ccode\u003eGPB*Dictionary\u003c/code\u003e types. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/ea67d6d26a48478a567c404679e3bb99cf230d50\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/ea67d6d26a48478a567c404679e3bb99cf230d50\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[ObjC] Remove \u003ccode\u003e-[GPBFieldDescriptor optional]\u003c/code\u003e (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/3414dc151eb4dcbdb2ca952e2589993bf7af75c4\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/3414dc151eb4dcbdb2ca952e2589993bf7af75c4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Other] Remove deprecated flag for enabling MSVC support (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/97c979be6e0907e1051bee62584dac4594e73fa7\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/97c979be6e0907e1051bee62584dac4594e73fa7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PHP] Remove deprecated PHP APIs (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/9c45014099a4f7004fab6dd1278de2f4f2a393c5\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/9c45014099a4f7004fab6dd1278de2f4f2a393c5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PHP] Remove deprecated PHP APIs FieldDescriptor getLabel, use IsRepeated or isRequired instead. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/42081219920c6fad17ba6ddd1e28d111bcfb3345\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/42081219920c6fad17ba6ddd1e28d111bcfb3345\u003c/a\u003e, \u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/cd76e675b14d00dda5623b30835d2bc7105fccc6\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/cd76e675b14d00dda5623b30835d2bc7105fccc6\u003c/a\u003e, \u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/42081219920c6fad17ba6ddd1e28d111bcfb3345\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/42081219920c6fad17ba6ddd1e28d111bcfb3345\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PHP]  Add PHP typehints for setters and remove redundant GPBUtil checks (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/pull/25296\"\u003eprotocolbuffers/protobuf#25296\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/aee03b78929c02461a5f9d8e136a2a016359b0cd\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/aee03b78929c02461a5f9d8e136a2a016359b0cd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PHP]  support default values for editions/proto2 (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/pull/25161\"\u003eprotocolbuffers/protobuf#25161\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/b01099d56350551bae3da88b97bf3027274c9f17\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/b01099d56350551bae3da88b97bf3027274c9f17\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Raise errors in OSS when assign bool to int/enum field in Python Proto. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/5b116fe2f14f49dd0cc3b76089983717f211025c\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/5b116fe2f14f49dd0cc3b76089983717f211025c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Remove float_format/double_format from python proto text_format (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/e4854a186e0bfa867d5bfa5cd850608a948fd488\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/e4854a186e0bfa867d5bfa5cd850608a948fd488\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Raise TypeError when convert non-timedelta to Duration, or convert non-datetime to Timestamp in python proto. (Original code may raise ArributeError) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/00aaca1b4d98954bc2933d7c8a5379ba6088124c\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/00aaca1b4d98954bc2933d7c8a5379ba6088124c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Remove float_precision from python proto json_format (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/f027f1fcd52b9d080b7ee79f4024f53cf54e0dc5\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/f027f1fcd52b9d080b7ee79f4024f53cf54e0dc5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Remove deprecated FieldDescriptor::label() in OSS. Use is_repeated() or is_required() instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/b76faa921fdd244f374c7be0bddd4050fc42c292\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/b76faa921fdd244f374c7be0bddd4050fc42c292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Remove deprecated FieldDescriptor.label (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/0a8ff55518ea5874478ad5b26515b31d186045a9\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/0a8ff55518ea5874478ad5b26515b31d186045a9\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Remove deprecated UseDeprecatedLegacyJsonFieldConflicts() (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/c301c2ca286327a21c50c0c4cd877afc9c655b00\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/c301c2ca286327a21c50c0c4cd877afc9c655b00\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://protobuf.dev/news/\"\u003eProtobuf News\u003c/a\u003e may include additional announcements or pre-announcements for upcoming changes.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://protobuf.dev/support/migration/\"\u003eMigration Guide\u003c/a\u003e may include additional guidance for breaking changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eBazel\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix: cc_toolchain should prefer protoc when prebuilt flag is flipped. (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/issues/25168\"\u003e#25168\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/8c857c3a1c6a106b0a096f1c9fa504bfaca035a9\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/8c857c3a1c6a106b0a096f1c9fa504bfaca035a9\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBreaking change: Remove deprecated ProtoInfo.transitive_imports. Use equivalent transitive_sources instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/0a5c2f6b633c1e5259f566cb42d30fe347b8aadb\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/0a5c2f6b633c1e5259f566cb42d30fe347b8aadb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFeat(bazel): wire up prebuilt protoc toolchain (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/issues/24115\"\u003e#24115\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/cc23698b486e690ea2eb873cc7596a87c74a3ba6\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/cc23698b486e690ea2eb873cc7596a87c74a3ba6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMigrate \u003ccode\u003eproto_descriptor_set\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/issues/23369\"\u003e#23369\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/8d4dfdd39a7a242a9ed631a6ab2192c57dd9b9c8\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/8d4dfdd39a7a242a9ed631a6ab2192c57dd9b9c8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eCompiler\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eRuby codegen: support generation of rbs files (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/issues/15633\"\u003e#15633\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/6ebdf851ba78728f0aa145d38454ed9a316fb08d\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/6ebdf851ba78728f0aa145d38454ed9a316fb08d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid collision name problems between a message named \u003ccode\u003eXyz\u003c/code\u003e and a direct sibling enum named \u003ccode\u003eXyzView\u003c/code\u003e (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/eba53e8f172b273d679759a72ce4250131ee3df1\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/eba53e8f172b273d679759a72ce4250131ee3df1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGeneralizing and implementing ValidateFeatureSupport for both Options and Features during proto parsing (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/ed3c57114d8e2b47cca7697ddaa50c1b3762a6b0\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/ed3c57114d8e2b47cca7697ddaa50c1b3762a6b0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a bug with custom features outside of the \u003ccode\u003epb\u003c/code\u003e package. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/872d3ce7a4da00d7dcec33ced20cfe45235935e8\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/872d3ce7a4da00d7dcec33ced20cfe45235935e8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix import option handling when include_imports isn't set. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/9ef9e80afd9bc8379d578fe67e5ab0738728c04e\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/9ef9e80afd9bc8379d578fe67e5ab0738728c04e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a bug in STRICT check of namespaced enums to properly check for 'reserved 1 to max' (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/1229d4adba24c0952ab85ce96bc7b7f8a1fe6d0f\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/1229d4adba24c0952ab85ce96bc7b7f8a1fe6d0f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent accidental stripping of \u003ccode\u003edebug_redact\u003c/code\u003e options via import option. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/f58b098bffa7ca4045ef7773b09151a6af5d0c28\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/f58b098bffa7ca4045ef7773b09151a6af5d0c28\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eC++\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd EnumerateEnumValues function. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/397d5d99db274b379d1384814074bf7df39d32f7\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/397d5d99db274b379d1384814074bf7df39d32f7\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\u003eSee full diff in \u003ca href=\"https://github.com/protocolbuffers/protobuf/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `python-multipart` from 0.0.21 to 0.0.22\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kludex/python-multipart/releases\"\u003epython-multipart's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0.0.22\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop directory path from filename in \u003ccode\u003eFile\u003c/code\u003e \u003ca href=\"https://github.com/Kludex/python-multipart/commit/9433f4bbc9652bdde82bbe380984e32f8cfc89c4\"\u003e9433f4b\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/python-multipart/compare/0.0.21...0.0.22\"\u003ehttps://github.com/Kludex/python-multipart/compare/0.0.21...0.0.22\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/Kludex/python-multipart/blob/master/CHANGELOG.md\"\u003epython-multipart's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.22 (2026-01-25)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop directory path from filename in \u003ccode\u003eFile\u003c/code\u003e \u003ca href=\"https://github.com/Kludex/python-multipart/commit/9433f4bbc9652bdde82bbe380984e32f8cfc89c4\"\u003e9433f4b\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/Kludex/python-multipart/commit/bea7bbb2904da8ce39123a845088dc72464eaddf\"\u003e\u003ccode\u003ebea7bbb\u003c/code\u003e\u003c/a\u003e Version 0.0.22 (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/222\"\u003e#222\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/0fb59a9df0f273bfde99740b302ccb2ae45e2b8a\"\u003e\u003ccode\u003e0fb59a9\u003c/code\u003e\u003c/a\u003e chore: add return type on test (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/221\"\u003e#221\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/9433f4bbc9652bdde82bbe380984e32f8cfc89c4\"\u003e\u003ccode\u003e9433f4b\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/d5c91ecb0aa1cae03fe2d9811d193c952e714f17\"\u003e\u003ccode\u003ed5c91ec\u003c/code\u003e\u003c/a\u003e Bump the github-actions group with 2 updates (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/219\"\u003e#219\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/5a90631b484f8d3284b691d453c24be3db57f5cb\"\u003e\u003ccode\u003e5a90631\u003c/code\u003e\u003c/a\u003e bump uv (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/218\"\u003e#218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/Kludex/python-multipart/compare/0.0.21...0.0.22\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sqlparse` from 0.5.3 to 0.5.4\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/andialbrecht/sqlparse/blob/master/CHANGELOG\"\u003esqlparse's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 0.5.4 (Nov 28, 2025)\u003c/h2\u003e\n\u003cp\u003eEnhancements\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eAdd type annotations to top-level API functions and include py.typed marker\nfor PEP 561 compliance, enabling type checking with mypy and other tools\n(issue756).\u003c/li\u003e\n\u003cli\u003eAdd pre-commit hook support. sqlparse can now be used as a pre-commit hook\nto automatically format SQL files. The CLI now supports multiple files and\nan \u003ccode\u003e--in-place\u003c/code\u003e flag for in-place editing (issue537).\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eATTACH\u003c/code\u003e and \u003ccode\u003eDETACH\u003c/code\u003e to PostgreSQL keywords (pr808).\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eINTERSECT\u003c/code\u003e to close keywords in WHERE clause (pr820).\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003eREGEXP BINARY\u003c/code\u003e comparison operator (pr817).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBug Fixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd additional protection against denial of service attacks when parsing\nvery large lists of tuples. This enhances the existing recursion protections\nwith configurable limits for token processing to prevent DoS through\nalgorithmic complexity attacks. The new limits (MAX_GROUPING_DEPTH=100,\nMAX_GROUPING_TOKENS=10000) can be adjusted or disabled (by setting to None)\nif needed for legitimate large SQL statements.\u003c/li\u003e\n\u003cli\u003eRemove shebang from cli.py and remove executable flag (pr818).\u003c/li\u003e\n\u003cli\u003eFix strip_comments not removing all comments when input contains only\ncomments (issue801, pr803 by stropysh).\u003c/li\u003e\n\u003cli\u003eFix splitting statements with IF EXISTS/IF NOT EXISTS inside BEGIN...END\nblocks (issue812).\u003c/li\u003e\n\u003cli\u003eFix splitting on semicolons inside BEGIN...END blocks (issue809).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/14e300b165b14d1a7662a071c6481b503d367528\"\u003e\u003ccode\u003e14e300b\u003c/code\u003e\u003c/a\u003e Bump version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/96a67e286963b2497b1b3f7a1378327af6661998\"\u003e\u003ccode\u003e96a67e2\u003c/code\u003e\u003c/a\u003e Code cleanup.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/1a3bfbd50b82c05d9adcc51bacba059671dc1bc7\"\u003e\u003ccode\u003e1a3bfbd\u003c/code\u003e\u003c/a\u003e Fix handling of semicolons inside BEGIN...END blocks (fixes \u003ca href=\"https://redirect.github.com/andialbrecht/sqlparse/issues/809\"\u003e#809\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/e92a032c81d51a6645b4f8c32470481894818ba0\"\u003e\u003ccode\u003ee92a032\u003c/code\u003e\u003c/a\u003e Fix handling of IF EXISTS statements in BEGIN...END blocks (fixes \u003ca href=\"https://redirect.github.com/andialbrecht/sqlparse/issues/812\"\u003e#812\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/149bebf06c788e93a9b0dbee0e5abbc8e347b8e6\"\u003e\u003ccode\u003e149bebf\u003c/code\u003e\u003c/a\u003e Update Changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/561a67e740e9623cf81ef99f1a6cd94337e24282\"\u003e\u003ccode\u003e561a67e\u003c/code\u003e\u003c/a\u003e Update AUTHORS.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/73c8ba3ae88b608d39740c0776fb15064232258e\"\u003e\u003ccode\u003e73c8ba3\u003c/code\u003e\u003c/a\u003e bugfix ISSUE_801; Remove all comments when only comments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/1b323879f87207946e4782812e2e1254b1c0c659\"\u003e\u003ccode\u003e1b32387\u003c/code\u003e\u003c/a\u003e Update action to run on all prs.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/31903e09db518ee3969110073427196ef9cd46c3\"\u003e\u003ccode\u003e31903e0\u003c/code\u003e\u003c/a\u003e Add pre-commit hook support (fixes \u003ca href=\"https://redirect.github.com/andialbrecht/sqlparse/issues/537\"\u003e#537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/13577264eb38b88e24825022fea4bd4351449e7c\"\u003e\u003ccode\u003e1357726\u003c/code\u003e\u003c/a\u003e docs: add AGENTS.md for project guidance and development commands\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/andialbrecht/sqlparse/compare/0.5.3...0.5.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cryptography` from 44.0.1 to 46.0.5\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst\"\u003ecryptography's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e46.0.5 - 2026-02-10\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* An attacker could create a malicious public key that reveals portions of your\n  private key when using certain uncommon elliptic curves (binary curves).\n  This version now includes additional security checks to prevent this attack.\n  This issue only affects binary elliptic curves, which are rarely used in\n  real-world applications. Credit to **XlabAI Team of Tencent Xuanwu Lab and\n  Atuin Automated Vulnerability Discovery Engine** for reporting the issue.\n  **CVE-2026-26007**\n* Support for ``SECT*`` binary elliptic curves is deprecated and will be\n  removed in the next release.\n\u003cp\u003e.. v46-0-4:\u003c/p\u003e\n\u003cp\u003e46.0.4 - 2026-01-27\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eDropped support for win_arm64 wheels\u003c/code\u003e_.\u003c/li\u003e\n\u003cli\u003eUpdated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.5.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _v46-0-3:\u003c/p\u003e\n\u003cp\u003e46.0.3 - 2025-10-15\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Fixed compilation when using LibreSSL 4.2.0.\n\u003cp\u003e.. _v46-0-2:\u003c/p\u003e\n\u003cp\u003e46.0.2 - 2025-09-30\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.4.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _v46-0-1:\u003c/p\u003e\n\u003cp\u003e46.0.1 - 2025-09-16\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Fixed an issue where users installing via ``pip`` on Python 3.14 development\n  versions would not properly install a dependency.\n* Fixed an issue building the free-threaded macOS 3.14 wheels.\n\u003cp\u003e.. _v46-0-0:\u003c/p\u003e\n\u003cp\u003e46.0.0 - 2025-09-16\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eBACKWARDS INCOMPATIBLE:\u003c/strong\u003e Support for Python 3.7 has been removed.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/06e120e682cb200e3f7050c02f0bcdac90c4c6ad\"\u003e\u003ccode\u003e06e120e\u003c/code\u003e\u003c/a\u003e bump version for 46.0.5 release (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14289\"\u003e#14289\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/0eebb9dbb6343d9bc1d91e5a2482ed4e054a6d8c\"\u003e\u003ccode\u003e0eebb9d\u003c/code\u003e\u003c/a\u003e EC check key on cofactor \u0026gt; 1 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14287\"\u003e#14287\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/bedf6e186b814f69a3f54f51252c23a71d44ed2e\"\u003e\u003ccode\u003ebedf6e1\u003c/code\u003e\u003c/a\u003e fix openssl version on 46 branch (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14220\"\u003e#14220\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/e6f44fc8e6391f05d719fb9d369692325b87a471\"\u003e\u003ccode\u003ee6f44fc\u003c/code\u003e\u003c/a\u003e bump for 46.0.4 and drop win arm64 due to CI issues (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14217\"\u003e#14217\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/c0af4dd7b75921bbe9f1d41a03dbd4b64a9e3403\"\u003e\u003ccode\u003ec0af4dd\u003c/code\u003e\u003c/a\u003e release 46.0.3 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13681\"\u003e#13681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/99efe5ad150a56efadafacaffd0e3ee319373904\"\u003e\u003ccode\u003e99efe5a\u003c/code\u003e\u003c/a\u003e bump version for 46.0.2 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13531\"\u003e#13531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/e735cfc27502320101c130335c556394a125ba52\"\u003e\u003ccode\u003ee735cfc\u003c/code\u003e\u003c/a\u003e release 46.0.1 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13450\"\u003e#13450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/4e457ffba43a6d87efc63c33041e2081438dd8a4\"\u003e\u003ccode\u003e4e457ff\u003c/code\u003e\u003c/a\u003e Explicitly specify python in mac uv build invocation (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13447\"\u003e#13447\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/2726efdb6d67f1c90cf9c6062d9fe051965586f8\"\u003e\u003ccode\u003e2726efd\u003c/code\u003e\u003c/a\u003e Depend on CFFI 2.0.0 or newer on Python \u0026gt; 3.8 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13448\"\u003e#13448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/62230623d183706632c0eb7822c96ac95e3710a8\"\u003e\u003ccode\u003e6223062\u003c/code\u003e\u003c/a\u003e release 46.0.0 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13446\"\u003e#13446\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyca/cryptography/compare/44.0.2...46.0.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sqlparse` from 0.5.3 to 0.5.4\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/andialbrecht/sqlparse/blob/master/CHANGELOG\"\u003esqlparse's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 0.5.4 (Nov 28, 2025)\u003c/h2\u003e\n\u003cp\u003eEnhancements\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eAdd type annotations to top-level API functions and include py.typed marker\nfor PEP 561 compliance, enabling type checking with mypy and other tools\n(issue756).\u003c/li\u003e\n\u003cli\u003eAdd pre-commit hook support. sqlparse can now be used as a pre-commit hook\nto automatically format SQL files. The CLI now supports multiple files and\nan \u003ccode\u003e--in-place\u003c/code\u003e flag for in-place editing (issue537).\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eATTACH\u003c/code\u003e and \u003ccode\u003eDETACH\u003c/code\u003e to PostgreSQL keywords (pr808).\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eINTERSECT\u003c/code\u003e to close keywords in WHERE clause (pr820).\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003eREGEXP BINARY\u003c/code\u003e comparison operator (pr817).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBug Fixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd additional protection against denial of service attacks when parsing\nvery large lists of tuples. This enhances the existing recursion protections\nwith configurable limits for token processing to prevent DoS through\nalgorithmic complexity attacks. The new limits (MAX_GROUPING_DEPTH=100,\nMAX_GROUPING_TOKENS=10000) can be adjusted or disabled (by setting to None)\nif needed for legitimate large SQL statements.\u003c/li\u003e\n\u003cli\u003eRemove shebang from cli.py and remove executable flag (pr818).\u003c/li\u003e\n\u003cli\u003eFix strip_comments not removing all comments when input contains only\ncomments (issue801, pr803 by stropysh).\u003c/li\u003e\n\u003cli\u003eFix splitting statements with IF EXISTS/IF NOT EXISTS inside BEGIN...END\nblocks (issue812).\u003c/li\u003e\n\u003cli\u003eFix splitting on semicolons inside BEGIN...END blocks (issue809).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/14e300b165b14d1a7662a071c6481b503d367528\"\u003e\u003ccode\u003e14e300b\u003c/code\u003e\u003c/a\u003e Bump version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/96a67e286963b2497b1b3f7a1378327af6661998\"\u003e\u003ccode\u003e96a67e2\u003c/code\u003e\u003c/a\u003e Code cleanup.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/1a3bfbd50b82c05d9adcc51bacba059671dc1bc7\"\u003e\u003ccode\u003e1a3bfbd\u003c/code\u003e\u003c/a\u003e Fix handling of semicolons inside BEGIN...END blocks (fixes \u003ca href=\"https://redirect.github.com/andialbrecht/sqlparse/issues/809\"\u003e#809\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/e92a032c81d51a6645b4f8c32470481894818ba0\"\u003e\u003ccode\u003ee92a032\u003c/code\u003e\u003c/a\u003e Fix handling of IF EXISTS statements in BEGIN...END blocks (fixes \u003ca href=\"https://redirect.github.com/andialbrecht/sqlparse/issues/812\"\u003e#812\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/149bebf06c788e93a9b0dbee0e5abbc8e347b8e6\"\u003e\u003ccode\u003e149bebf\u003c/code\u003e\u003c/a\u003e Update Changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/561a67e740e9623cf81ef99f1a6cd94337e24282\"\u003e\u003ccode\u003e561a67e\u003c/code\u003e\u003c/a\u003e Update AUTHORS.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/73c8ba3ae88b608d39740c0776fb15064232258e\"\u003e\u003ccode\u003e73c8ba3\u003c/code\u003e\u003c/a\u003e bugfix ISSUE_801; Remove all comments when only comments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/1b323879f87207946e4782812e2e1254b1c0c659\"\u003e\u003ccode\u003e1b32387\u003c/code\u003e\u003c/a\u003e Update action to run on all prs.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/31903e09db518ee3969110073427196ef9cd46c3\"\u003e\u003ccode\u003e31903e0\u003c/code\u003e\u003c/a\u003e Add pre-commit hook support (fixes \u003ca href=\"https://redirect.github.com/andialbrecht/sqlparse/issues/537\"\u003e#537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/13577264eb38b88e24825022fea4bd4351449e7c\"\u003e\u003ccode\u003e1357726\u003c/code\u003e\u003c/a\u003e docs: add AGENTS.md for project guidance and development commands\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/andialbrecht/sqlparse/compare/0.5.3...0.5.4\"\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\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/Health-Informatics-UoN/carrot-mapper/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/Health-Informatics-UoN/carrot-mapper/pull/1288","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Health-Informatics-UoN%2Fcarrot-mapper/issues/1288","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1288/packages"},{"uuid":"3963122731","node_id":"PR_kwDOEvaoaM7E4x1I","number":1287,"state":"closed","title":"Bump the uv group across 2 directories with 5 updates","user":"dependabot[bot]","labels":["Area: Backend","Area: Airflow","python:uv"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-02-20T22:50:30.000Z","author_association":null,"state_reason":null,"created_at":"2026-02-19T13:55:27.000Z","updated_at":"2026-02-20T22:50:32.000Z","time_to_close":118503,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"uv","update_count":5,"packages":[{"name":"apache-airflow","old_version":"3.1.0","new_version":"3.1.7","repository_url":"https://github.com/apache/airflow"},{"name":"cryptography","old_version":"44.0.2","new_version":"46.0.5","repository_url":"https://github.com/pyca/cryptography"},{"name":"protobuf","old_version":"5.29.5","new_version":"5.29.6","repository_url":"https://github.com/protocolbuffers/protobuf"},{"name":"python-multipart","old_version":"0.0.21","new_version":"0.0.22","repository_url":"https://github.com/Kludex/python-multipart"},{"name":"sqlparse","old_version":"0.5.3","new_version":"0.5.4","repository_url":"https://github.com/andialbrecht/sqlparse"}],"path":null,"ecosystem":"pip"},"body":"Bumps the uv group with 5 updates in the /app/airflow directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [apache-airflow](https://github.com/apache/airflow) | `3.1.0` | `3.1.7` |\n| [cryptography](https://github.com/pyca/cryptography) | `44.0.2` | `46.0.5` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `5.29.5` | `5.29.6` |\n| [python-multipart](https://github.com/Kludex/python-multipart) | `0.0.21` | `0.0.22` |\n| [sqlparse](https://github.com/andialbrecht/sqlparse) | `0.5.3` | `0.5.4` |\n\nBumps the uv group with 2 updates in the /app/api directory: [cryptography](https://github.com/pyca/cryptography) and [sqlparse](https://github.com/andialbrecht/sqlparse).\n\nUpdates `apache-airflow` from 3.1.0 to 3.1.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/airflow/releases\"\u003eapache-airflow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eApache Airflow 3.1.7\u003c/h2\u003e\n\u003cp\u003e📦 PyPI: \u003ca href=\"https://pypi.org/project/apache-airflow/3.1.7/\"\u003ehttps://pypi.org/project/apache-airflow/3.1.7/\u003c/a\u003e\n📚 Docs: \u003ca href=\"https://airflow.apache.org/docs/apache-airflow/3.1.7/\"\u003ehttps://airflow.apache.org/docs/apache-airflow/3.1.7/\u003c/a\u003e\n🛠 Release Notes: \u003ca href=\"https://airflow.apache.org/docs/apache-airflow/3.1.7/release_notes.html\"\u003ehttps://airflow.apache.org/docs/apache-airflow/3.1.7/release_notes.html\u003c/a\u003e\n🐳 Docker Image: \u0026quot;docker pull apache/airflow:3.1.7\u0026quot;\n🚏 Constraints: \u003ca href=\"https://github.com/apache/airflow/tree/constraints-3.1.7\"\u003ehttps://github.com/apache/airflow/tree/constraints-3.1.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eSignificant Changes\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix JWT token generation with unset issuer/audience config (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61331\"\u003e#61331\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix callback files losing priority during queue resort (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61232\"\u003e#61232\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61243\"\u003e#61243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Dag callback for versioned bundles in the processor (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60734\"\u003e#60734\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61230\"\u003e#61230\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd 404 handling for non-existent Dag (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61131\"\u003e#61131\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61225\"\u003e#61225\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd guardrail to handle Dag deserialization errors in scheduler (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61162\"\u003e#61162\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61210\"\u003e#61210\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix asset scheduling for stale Dags (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/59337\"\u003e#59337\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60022\"\u003e#60022\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61106\"\u003e#61106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix unnecessary Dag version churn when Dag file paths change (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60799\"\u003e#60799\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix missing warning when Bundle path may not be accessible to impersonated user (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60278\"\u003e#60278\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eTriggerDagRunOperator\u003c/code\u003e deferring when \u003ccode\u003ewait_for_completion=False\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60052\"\u003e#60052\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix NoneType error when updating serialized Dag (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/56422\"\u003e#56422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Pool API slots validation (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61071\"\u003e#61071\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61114\"\u003e#61114\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix DagBag parsing by adding bundle_path temporarily to sys.path (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/55894\"\u003e#55894\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61053\"\u003e#61053\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix API to respect maximum page limit (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60989\"\u003e#60989\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61073\"\u003e#61073\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent Triggerer from crashing when a trigger event isn't serializable (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60152\"\u003e#60152\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60981\"\u003e#60981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix permissions on get_event_logs endpoint (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60936\"\u003e#60936\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60958\"\u003e#60958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Dag access control for dag_id in query param (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60935\"\u003e#60935\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60959\"\u003e#60959\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix root logger to use log_level instead of hardcoded INFO level (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60784\"\u003e#60784\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60970\"\u003e#60970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Dag processor OOM by Avoid loading all TaskInstances when checking DagVersion in write_dag (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60937\"\u003e#60937\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60962\"\u003e#60962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix worker startup Dag load failures by rescheduling tasks instead of exiting (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/59604\"\u003e#59604\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60926\"\u003e#60926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix permissions check in import error APIs (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60801\"\u003e#60801\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60884\"\u003e#60884\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix refresh-token invalidation by logging out the user (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60781\"\u003e#60781\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60881\"\u003e#60881\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix connection test API to restore masked password/extra from existing connections (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/59643\"\u003e#59643\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60873\"\u003e#60873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Dag processor overhead by applying \u003ccode\u003egc.freeze\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60505\"\u003e#60505\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60845\"\u003e#60845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Dag processor crashing due to MySQL deadlock errors (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60166\"\u003e#60166\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60418\"\u003e#60418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure unique run_id across manually triggered Dags with schedules (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/59477\"\u003e#59477\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60468\"\u003e#60468\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Avoid gantt annotation error during resize (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60877\"\u003e#60877\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Fix react apps plugins router (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61206\"\u003e#61206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Reset pagination on search in all pages (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61169\"\u003e#61169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Explicitly set UI table ordering (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60609\"\u003e#60609\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61216\"\u003e#61216\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Plugins pagination fix  \u003ca href=\"https://redirect.github.com/apache/airflow/issues/61055\"\u003e#61055\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61059\"\u003e#61059\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61129\"\u003e#61129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Fix ui get dags permission endpoint for user without Dag run permissions (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60979\"\u003e#60979\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60988\"\u003e#60988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Convert Tasks Table from card to table mode (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60830\"\u003e#60830\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60874\"\u003e#60874\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Fix slow log scrolling for large task logs (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60806\"\u003e#60806\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60875\"\u003e#60875\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Grey out trigger button on API 403 (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60648\"\u003e#60648\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60777\"\u003e#60777\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Remove API error from disabling submit (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60473\"\u003e#60473\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60658\"\u003e#60658\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Added toasters for permission denied (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/57966\"\u003e#57966\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/58016\"\u003e#58016\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60646\"\u003e#60646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Move row count and display toggle into DataTable (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/57680\"\u003e#57680\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60639\"\u003e#60639\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Fix/backfill permission error handling (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60582\"\u003e#60582\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60587\"\u003e#60587\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/apache/airflow/commit/83ff6ecec9dd71d8b8631248bc0725afc472acd7\"\u003e\u003ccode\u003e83ff6ec\u003c/code\u003e\u003c/a\u003e Update RELEASE_NOTES.rst for rc2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/caa057100f47ff8b659178a86d565163fb71e6f9\"\u003e\u003ccode\u003ecaa0571\u003c/code\u003e\u003c/a\u003e [v3-1-test] Fix JWT token generation with unset issuer/audience config (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/6127\"\u003e#6127\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/d82bb100d738b09d9604d692913062ae8a225ee4\"\u003e\u003ccode\u003ed82bb10\u003c/code\u003e\u003c/a\u003e Update RELEASE_NOTES.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/d24ec9a649f96b4417c8440526538d81c8c78a6a\"\u003e\u003ccode\u003ed24ec9a\u003c/code\u003e\u003c/a\u003e Update Airflow Version to 3.1.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/08a5859832fc59b3413abba09c7c182f15001d48\"\u003e\u003ccode\u003e08a5859\u003c/code\u003e\u003c/a\u003e [v3-1-test] Fix callback files losing priority during queue resort (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61232\"\u003e#61232\u003c/a\u003e) (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/3b41866a2ee244a7e00332213bd0a8a5e8eaedfe\"\u003e\u003ccode\u003e3b41866\u003c/code\u003e\u003c/a\u003e dag_processing: initialize versioned bundles for callbacks (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/52040\"\u003e#52040\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60734\"\u003e#60734\u003c/a\u003e) ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/c34d2c36f2a315bb6546a6de8176d2b24bebe18b\"\u003e\u003ccode\u003ec34d2c3\u003c/code\u003e\u003c/a\u003e [v3-1-test] Add 404 handling for non-existent Dag (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61131\"\u003e#61131\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61225\"\u003e#61225\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/dd1a86593f2bd38b50b9f2a0a91529d16f89d0c4\"\u003e\u003ccode\u003edd1a865\u003c/code\u003e\u003c/a\u003e Fix import errors not showing on UI (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61163\"\u003e#61163\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61213\"\u003e#61213\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/52b7aeae50805a26218d2fd9972135ee38005920\"\u003e\u003ccode\u003e52b7aea\u003c/code\u003e\u003c/a\u003e [v3-1-test] Explicitly set table ordering (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60609\"\u003e#60609\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61216\"\u003e#61216\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/5a2b2404cfe21d912b801925210fb507d0412bf4\"\u003e\u003ccode\u003e5a2b240\u003c/code\u003e\u003c/a\u003e [v3-1-test] Add guardrail to handle DAG deserialization errors in scheduler (...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/airflow/compare/3.1.0...3.1.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cryptography` from 44.0.2 to 46.0.5\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst\"\u003ecryptography's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e46.0.5 - 2026-02-10\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* An attacker could create a malicious public key that reveals portions of your\n  private key when using certain uncommon elliptic curves (binary curves).\n  This version now includes additional security checks to prevent this attack.\n  This issue only affects binary elliptic curves, which are rarely used in\n  real-world applications. Credit to **XlabAI Team of Tencent Xuanwu Lab and\n  Atuin Automated Vulnerability Discovery Engine** for reporting the issue.\n  **CVE-2026-26007**\n* Support for ``SECT*`` binary elliptic curves is deprecated and will be\n  removed in the next release.\n\u003cp\u003e.. v46-0-4:\u003c/p\u003e\n\u003cp\u003e46.0.4 - 2026-01-27\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eDropped support for win_arm64 wheels\u003c/code\u003e_.\u003c/li\u003e\n\u003cli\u003eUpdated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.5.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _v46-0-3:\u003c/p\u003e\n\u003cp\u003e46.0.3 - 2025-10-15\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Fixed compilation when using LibreSSL 4.2.0.\n\u003cp\u003e.. _v46-0-2:\u003c/p\u003e\n\u003cp\u003e46.0.2 - 2025-09-30\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.4.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _v46-0-1:\u003c/p\u003e\n\u003cp\u003e46.0.1 - 2025-09-16\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Fixed an issue where users installing via ``pip`` on Python 3.14 development\n  versions would not properly install a dependency.\n* Fixed an issue building the free-threaded macOS 3.14 wheels.\n\u003cp\u003e.. _v46-0-0:\u003c/p\u003e\n\u003cp\u003e46.0.0 - 2025-09-16\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eBACKWARDS INCOMPATIBLE:\u003c/strong\u003e Support for Python 3.7 has been removed.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/06e120e682cb200e3f7050c02f0bcdac90c4c6ad\"\u003e\u003ccode\u003e06e120e\u003c/code\u003e\u003c/a\u003e bump version for 46.0.5 release (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14289\"\u003e#14289\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/0eebb9dbb6343d9bc1d91e5a2482ed4e054a6d8c\"\u003e\u003ccode\u003e0eebb9d\u003c/code\u003e\u003c/a\u003e EC check key on cofactor \u0026gt; 1 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14287\"\u003e#14287\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/bedf6e186b814f69a3f54f51252c23a71d44ed2e\"\u003e\u003ccode\u003ebedf6e1\u003c/code\u003e\u003c/a\u003e fix openssl version on 46 branch (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14220\"\u003e#14220\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/e6f44fc8e6391f05d719fb9d369692325b87a471\"\u003e\u003ccode\u003ee6f44fc\u003c/code\u003e\u003c/a\u003e bump for 46.0.4 and drop win arm64 due to CI issues (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14217\"\u003e#14217\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/c0af4dd7b75921bbe9f1d41a03dbd4b64a9e3403\"\u003e\u003ccode\u003ec0af4dd\u003c/code\u003e\u003c/a\u003e release 46.0.3 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13681\"\u003e#13681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/99efe5ad150a56efadafacaffd0e3ee319373904\"\u003e\u003ccode\u003e99efe5a\u003c/code\u003e\u003c/a\u003e bump version for 46.0.2 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13531\"\u003e#13531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/e735cfc27502320101c130335c556394a125ba52\"\u003e\u003ccode\u003ee735cfc\u003c/code\u003e\u003c/a\u003e release 46.0.1 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13450\"\u003e#13450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/4e457ffba43a6d87efc63c33041e2081438dd8a4\"\u003e\u003ccode\u003e4e457ff\u003c/code\u003e\u003c/a\u003e Explicitly specify python in mac uv build invocation (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13447\"\u003e#13447\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/2726efdb6d67f1c90cf9c6062d9fe051965586f8\"\u003e\u003ccode\u003e2726efd\u003c/code\u003e\u003c/a\u003e Depend on CFFI 2.0.0 or newer on Python \u0026gt; 3.8 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13448\"\u003e#13448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/62230623d183706632c0eb7822c96ac95e3710a8\"\u003e\u003ccode\u003e6223062\u003c/code\u003e\u003c/a\u003e release 46.0.0 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13446\"\u003e#13446\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyca/cryptography/compare/44.0.2...46.0.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `protobuf` from 5.29.5 to 5.29.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/protocolbuffers/protobuf/releases\"\u003eprotobuf's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eProtocol Buffers v34.0-rc1\u003c/h2\u003e\n\u003ch1\u003eAnnouncements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eThis version includes breaking changes to: C++, Objective-C, PHP, Python.\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e[Bazel] Remove deprecated ProtoInfo.transitive_imports. Use equivalent transitive_sources instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/0a5c2f6b633c1e5259f566cb42d30fe347b8aadb\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/0a5c2f6b633c1e5259f566cb42d30fe347b8aadb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Make generator headers private (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/3a2af3510f0d454dbe3e4dc281674b61c4d20b9e\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/3a2af3510f0d454dbe3e4dc281674b61c4d20b9e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Add a debug check that the target of CopyFrom is not a descendant of the source. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/7a7589823d2cfaaf7994b050e98d5d553bc9b1c1\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/7a7589823d2cfaaf7994b050e98d5d553bc9b1c1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Add [[nodiscard]] to many APIs. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/a70115f33f9af2c4b2202c800b84837e7fe0d738\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/a70115f33f9af2c4b2202c800b84837e7fe0d738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Make the arena-enabled constructors of \u003ccode\u003eRepeatedField\u003c/code\u003e, \u003ccode\u003eRepeatedPtrField\u003c/code\u003e, and \u003ccode\u003eMap\u003c/code\u003e private. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/ef890c3d0c79398c70e047fe5dd893f460ba2336\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/ef890c3d0c79398c70e047fe5dd893f460ba2336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Remove deprecated FieldDescriptor::label() in OSS. Use is_repeated() or is_required() instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/b76faa921fdd244f374c7be0bddd4050fc42c292\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/b76faa921fdd244f374c7be0bddd4050fc42c292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Removes proto2::util::MessageDifferencer::AddIgnoreCriteria that takes a raw pointer as an argument in favor of the overload that takes a unique_ptr. Remove macro PROTOBUF_FUTURE_REMOVE_ADD_IGNORE_CRITERIA (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/b115358c64127896fed88b8b5ef5d91d86d8cbae\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/b115358c64127896fed88b8b5ef5d91d86d8cbae\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Remove deprecated FieldDescriptor::has_optional_keyword() in OSS. Use is_repeated() or has_presence() instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/68346ec9348e932664e58c3ecdcd1478f95233a8\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/68346ec9348e932664e58c3ecdcd1478f95233a8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Remove AddUnusedImportTrackFile() and ClearUnusedImportTrackFiles(). Remove PROTOBUF_FUTURE_RENAME_ADD_UNUSED_IMPORT (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/837a2cd1d6c75402b2503ffe7cd8aeaf25868536\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/837a2cd1d6c75402b2503ffe7cd8aeaf25868536\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Remove deprecated FieldDescriptor::is_optional() in OSS. Use (!is_required() \u0026amp;\u0026amp; !is_repeated()) instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/9dbc5d479a8e453921485d8d3de47fb3c005f1af\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/9dbc5d479a8e453921485d8d3de47fb3c005f1af\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Remove deprecated UseDeprecatedLegacyJsonFieldConflicts() (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/c301c2ca286327a21c50c0c4cd877afc9c655b00\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/c301c2ca286327a21c50c0c4cd877afc9c655b00\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] All entity names have length limit (2afb0dc)\u003c/li\u003e\n\u003cli\u003e[ObjC] Remove \u003ccode\u003egenerate_minimal_imports\u003c/code\u003e generation option warning (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/45b1297fdaad5a9436d0e207422168c38dc45ac4\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/45b1297fdaad5a9436d0e207422168c38dc45ac4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[ObjC] Fix nullability annotations on some \u003ccode\u003eGPB*Dictionary\u003c/code\u003e types. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/ea67d6d26a48478a567c404679e3bb99cf230d50\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/ea67d6d26a48478a567c404679e3bb99cf230d50\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[ObjC] Remove \u003ccode\u003e-[GPBFieldDescriptor optional]\u003c/code\u003e (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/3414dc151eb4dcbdb2ca952e2589993bf7af75c4\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/3414dc151eb4dcbdb2ca952e2589993bf7af75c4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Other] Remove deprecated flag for enabling MSVC support (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/97c979be6e0907e1051bee62584dac4594e73fa7\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/97c979be6e0907e1051bee62584dac4594e73fa7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PHP] Remove deprecated PHP APIs (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/9c45014099a4f7004fab6dd1278de2f4f2a393c5\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/9c45014099a4f7004fab6dd1278de2f4f2a393c5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PHP] Remove deprecated PHP APIs FieldDescriptor getLabel, use IsRepeated or isRequired instead. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/42081219920c6fad17ba6ddd1e28d111bcfb3345\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/42081219920c6fad17ba6ddd1e28d111bcfb3345\u003c/a\u003e, \u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/cd76e675b14d00dda5623b30835d2bc7105fccc6\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/cd76e675b14d00dda5623b30835d2bc7105fccc6\u003c/a\u003e, \u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/42081219920c6fad17ba6ddd1e28d111bcfb3345\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/42081219920c6fad17ba6ddd1e28d111bcfb3345\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PHP]  Add PHP typehints for setters and remove redundant GPBUtil checks (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/pull/25296\"\u003eprotocolbuffers/protobuf#25296\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/aee03b78929c02461a5f9d8e136a2a016359b0cd\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/aee03b78929c02461a5f9d8e136a2a016359b0cd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PHP]  support default values for editions/proto2 (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/pull/25161\"\u003eprotocolbuffers/protobuf#25161\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/b01099d56350551bae3da88b97bf3027274c9f17\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/b01099d56350551bae3da88b97bf3027274c9f17\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Raise errors in OSS when assign bool to int/enum field in Python Proto. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/5b116fe2f14f49dd0cc3b76089983717f211025c\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/5b116fe2f14f49dd0cc3b76089983717f211025c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Remove float_format/double_format from python proto text_format (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/e4854a186e0bfa867d5bfa5cd850608a948fd488\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/e4854a186e0bfa867d5bfa5cd850608a948fd488\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Raise TypeError when convert non-timedelta to Duration, or convert non-datetime to Timestamp in python proto. (Original code may raise ArributeError) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/00aaca1b4d98954bc2933d7c8a5379ba6088124c\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/00aaca1b4d98954bc2933d7c8a5379ba6088124c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Remove float_precision from python proto json_format (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/f027f1fcd52b9d080b7ee79f4024f53cf54e0dc5\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/f027f1fcd52b9d080b7ee79f4024f53cf54e0dc5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Remove deprecated FieldDescriptor::label() in OSS. Use is_repeated() or is_required() instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/b76faa921fdd244f374c7be0bddd4050fc42c292\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/b76faa921fdd244f374c7be0bddd4050fc42c292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Remove deprecated FieldDescriptor.label (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/0a8ff55518ea5874478ad5b26515b31d186045a9\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/0a8ff55518ea5874478ad5b26515b31d186045a9\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Remove deprecated UseDeprecatedLegacyJsonFieldConflicts() (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/c301c2ca286327a21c50c0c4cd877afc9c655b00\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/c301c2ca286327a21c50c0c4cd877afc9c655b00\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://protobuf.dev/news/\"\u003eProtobuf News\u003c/a\u003e may include additional announcements or pre-announcements for upcoming changes.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://protobuf.dev/support/migration/\"\u003eMigration Guide\u003c/a\u003e may include additional guidance for breaking changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eBazel\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix: cc_toolchain should prefer protoc when prebuilt flag is flipped. (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/issues/25168\"\u003e#25168\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/8c857c3a1c6a106b0a096f1c9fa504bfaca035a9\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/8c857c3a1c6a106b0a096f1c9fa504bfaca035a9\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBreaking change: Remove deprecated ProtoInfo.transitive_imports. Use equivalent transitive_sources instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/0a5c2f6b633c1e5259f566cb42d30fe347b8aadb\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/0a5c2f6b633c1e5259f566cb42d30fe347b8aadb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFeat(bazel): wire up prebuilt protoc toolchain (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/issues/24115\"\u003e#24115\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/cc23698b486e690ea2eb873cc7596a87c74a3ba6\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/cc23698b486e690ea2eb873cc7596a87c74a3ba6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMigrate \u003ccode\u003eproto_descriptor_set\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/issues/23369\"\u003e#23369\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/8d4dfdd39a7a242a9ed631a6ab2192c57dd9b9c8\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/8d4dfdd39a7a242a9ed631a6ab2192c57dd9b9c8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eCompiler\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eRuby codegen: support generation of rbs files (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/issues/15633\"\u003e#15633\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/6ebdf851ba78728f0aa145d38454ed9a316fb08d\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/6ebdf851ba78728f0aa145d38454ed9a316fb08d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid collision name problems between a message named \u003ccode\u003eXyz\u003c/code\u003e and a direct sibling enum named \u003ccode\u003eXyzView\u003c/code\u003e (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/eba53e8f172b273d679759a72ce4250131ee3df1\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/eba53e8f172b273d679759a72ce4250131ee3df1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGeneralizing and implementing ValidateFeatureSupport for both Options and Features during proto parsing (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/ed3c57114d8e2b47cca7697ddaa50c1b3762a6b0\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/ed3c57114d8e2b47cca7697ddaa50c1b3762a6b0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a bug with custom features outside of the \u003ccode\u003epb\u003c/code\u003e package. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/872d3ce7a4da00d7dcec33ced20cfe45235935e8\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/872d3ce7a4da00d7dcec33ced20cfe45235935e8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix import option handling when include_imports isn't set. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/9ef9e80afd9bc8379d578fe67e5ab0738728c04e\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/9ef9e80afd9bc8379d578fe67e5ab0738728c04e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a bug in STRICT check of namespaced enums to properly check for 'reserved 1 to max' (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/1229d4adba24c0952ab85ce96bc7b7f8a1fe6d0f\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/1229d4adba24c0952ab85ce96bc7b7f8a1fe6d0f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent accidental stripping of \u003ccode\u003edebug_redact\u003c/code\u003e options via import option. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/f58b098bffa7ca4045ef7773b09151a6af5d0c28\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/f58b098bffa7ca4045ef7773b09151a6af5d0c28\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eC++\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd EnumerateEnumValues function. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/397d5d99db274b379d1384814074bf7df39d32f7\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/397d5d99db274b379d1384814074bf7df39d32f7\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\u003eSee full diff in \u003ca href=\"https://github.com/protocolbuffers/protobuf/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `python-multipart` from 0.0.21 to 0.0.22\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kludex/python-multipart/releases\"\u003epython-multipart's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0.0.22\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop directory path from filename in \u003ccode\u003eFile\u003c/code\u003e \u003ca href=\"https://github.com/Kludex/python-multipart/commit/9433f4bbc9652bdde82bbe380984e32f8cfc89c4\"\u003e9433f4b\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/python-multipart/compare/0.0.21...0.0.22\"\u003ehttps://github.com/Kludex/python-multipart/compare/0.0.21...0.0.22\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/Kludex/python-multipart/blob/master/CHANGELOG.md\"\u003epython-multipart's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.22 (2026-01-25)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop directory path from filename in \u003ccode\u003eFile\u003c/code\u003e \u003ca href=\"https://github.com/Kludex/python-multipart/commit/9433f4bbc9652bdde82bbe380984e32f8cfc89c4\"\u003e9433f4b\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/Kludex/python-multipart/commit/bea7bbb2904da8ce39123a845088dc72464eaddf\"\u003e\u003ccode\u003ebea7bbb\u003c/code\u003e\u003c/a\u003e Version 0.0.22 (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/222\"\u003e#222\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/0fb59a9df0f273bfde99740b302ccb2ae45e2b8a\"\u003e\u003ccode\u003e0fb59a9\u003c/code\u003e\u003c/a\u003e chore: add return type on test (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/221\"\u003e#221\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/9433f4bbc9652bdde82bbe380984e32f8cfc89c4\"\u003e\u003ccode\u003e9433f4b\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/d5c91ecb0aa1cae03fe2d9811d193c952e714f17\"\u003e\u003ccode\u003ed5c91ec\u003c/code\u003e\u003c/a\u003e Bump the github-actions group with 2 updates (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/219\"\u003e#219\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/5a90631b484f8d3284b691d453c24be3db57f5cb\"\u003e\u003ccode\u003e5a90631\u003c/code\u003e\u003c/a\u003e bump uv (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/218\"\u003e#218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/Kludex/python-multipart/compare/0.0.21...0.0.22\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sqlparse` from 0.5.3 to 0.5.4\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/andialbrecht/sqlparse/blob/master/CHANGELOG\"\u003esqlparse's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 0.5.4 (Nov 28, 2025)\u003c/h2\u003e\n\u003cp\u003eEnhancements\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eAdd type annotations to top-level API functions and include py.typed marker\nfor PEP 561 compliance, enabling type checking with mypy and other tools\n(issue756).\u003c/li\u003e\n\u003cli\u003eAdd pre-commit hook support. sqlparse can now be used as a pre-commit hook\nto automatically format SQL files. The CLI now supports multiple files and\nan \u003ccode\u003e--in-place\u003c/code\u003e flag for in-place editing (issue537).\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eATTACH\u003c/code\u003e and \u003ccode\u003eDETACH\u003c/code\u003e to PostgreSQL keywords (pr808).\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eINTERSECT\u003c/code\u003e to close keywords in WHERE clause (pr820).\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003eREGEXP BINARY\u003c/code\u003e comparison operator (pr817).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBug Fixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd additional protection against denial of service attacks when parsing\nvery large lists of tuples. This enhances the existing recursion protections\nwith configurable limits for token processing to prevent DoS through\nalgorithmic complexity attacks. The new limits (MAX_GROUPING_DEPTH=100,\nMAX_GROUPING_TOKENS=10000) can be adjusted or disabled (by setting to None)\nif needed for legitimate large SQL statements.\u003c/li\u003e\n\u003cli\u003eRemove shebang from cli.py and remove executable flag (pr818).\u003c/li\u003e\n\u003cli\u003eFix strip_comments not removing all comments when input contains only\ncomments (issue801, pr803 by stropysh).\u003c/li\u003e\n\u003cli\u003eFix splitting statements with IF EXISTS/IF NOT EXISTS inside BEGIN...END\nblocks (issue812).\u003c/li\u003e\n\u003cli\u003eFix splitting on semicolons inside BEGIN...END blocks (issue809).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/14e300b165b14d1a7662a071c6481b503d367528\"\u003e\u003ccode\u003e14e300b\u003c/code\u003e\u003c/a\u003e Bump version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/96a67e286963b2497b1b3f7a1378327af6661998\"\u003e\u003ccode\u003e96a67e2\u003c/code\u003e\u003c/a\u003e Code cleanup.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/1a3bfbd50b82c05d9adcc51bacba059671dc1bc7\"\u003e\u003ccode\u003e1a3bfbd\u003c/code\u003e\u003c/a\u003e Fix handling of semicolons inside BEGIN...END blocks (fixes \u003ca href=\"https://redirect.github.com/andialbrecht/sqlparse/issues/809\"\u003e#809\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/e92a032c81d51a6645b4f8c32470481894818ba0\"\u003e\u003ccode\u003ee92a032\u003c/code\u003e\u003c/a\u003e Fix handling of IF EXISTS statements in BEGIN...END blocks (fixes \u003ca href=\"https://redirect.github.com/andialbrecht/sqlparse/issues/812\"\u003e#812\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/149bebf06c788e93a9b0dbee0e5abbc8e347b8e6\"\u003e\u003ccode\u003e149bebf\u003c/code\u003e\u003c/a\u003e Update Changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/561a67e740e9623cf81ef99f1a6cd94337e24282\"\u003e\u003ccode\u003e561a67e\u003c/code\u003e\u003c/a\u003e Update AUTHORS.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/73c8ba3ae88b608d39740c0776fb15064232258e\"\u003e\u003ccode\u003e73c8ba3\u003c/code\u003e\u003c/a\u003e bugfix ISSUE_801; Remove all comments when only comments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/1b323879f87207946e4782812e2e1254b1c0c659\"\u003e\u003ccode\u003e1b32387\u003c/code\u003e\u003c/a\u003e Update action to run on all prs.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/31903e09db518ee3969110073427196ef9cd46c3\"\u003e\u003ccode\u003e31903e0\u003c/code\u003e\u003c/a\u003e Add pre-commit hook support (fixes \u003ca href=\"https://redirect.github.com/andialbrecht/sqlparse/issues/537\"\u003e#537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/13577264eb38b88e24825022fea4bd4351449e7c\"\u003e\u003ccode\u003e1357726\u003c/code\u003e\u003c/a\u003e docs: add AGENTS.md for project guidance and development commands\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/andialbrecht/sqlparse/compare/0.5.3...0.5.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cryptography` from 44.0.1 to 46.0.5\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst\"\u003ecryptography's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e46.0.5 - 2026-02-10\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* An attacker could create a malicious public key that reveals portions of your\n  private key when using certain uncommon elliptic curves (binary curves).\n  This version now includes additional security checks to prevent this attack.\n  This issue only affects binary elliptic curves, which are rarely used in\n  real-world applications. Credit to **XlabAI Team of Tencent Xuanwu Lab and\n  Atuin Automated Vulnerability Discovery Engine** for reporting the issue.\n  **CVE-2026-26007**\n* Support for ``SECT*`` binary elliptic curves is deprecated and will be\n  removed in the next release.\n\u003cp\u003e.. v46-0-4:\u003c/p\u003e\n\u003cp\u003e46.0.4 - 2026-01-27\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eDropped support for win_arm64 wheels\u003c/code\u003e_.\u003c/li\u003e\n\u003cli\u003eUpdated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.5.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _v46-0-3:\u003c/p\u003e\n\u003cp\u003e46.0.3 - 2025-10-15\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Fixed compilation when using LibreSSL 4.2.0.\n\u003cp\u003e.. _v46-0-2:\u003c/p\u003e\n\u003cp\u003e46.0.2 - 2025-09-30\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.4.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _v46-0-1:\u003c/p\u003e\n\u003cp\u003e46.0.1 - 2025-09-16\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Fixed an issue where users installing via ``pip`` on Python 3.14 development\n  versions would not properly install a dependency.\n* Fixed an issue building the free-threaded macOS 3.14 wheels.\n\u003cp\u003e.. _v46-0-0:\u003c/p\u003e\n\u003cp\u003e46.0.0 - 2025-09-16\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eBACKWARDS INCOMPATIBLE:\u003c/strong\u003e Support for Python 3.7 has been removed.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/06e120e682cb200e3f7050c02f0bcdac90c4c6ad\"\u003e\u003ccode\u003e06e120e\u003c/code\u003e\u003c/a\u003e bump version for 46.0.5 release (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14289\"\u003e#14289\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/0eebb9dbb6343d9bc1d91e5a2482ed4e054a6d8c\"\u003e\u003ccode\u003e0eebb9d\u003c/code\u003e\u003c/a\u003e EC check key on cofactor \u0026gt; 1 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14287\"\u003e#14287\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/bedf6e186b814f69a3f54f51252c23a71d44ed2e\"\u003e\u003ccode\u003ebedf6e1\u003c/code\u003e\u003c/a\u003e fix openssl version on 46 branch (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14220\"\u003e#14220\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/e6f44fc8e6391f05d719fb9d369692325b87a471\"\u003e\u003ccode\u003ee6f44fc\u003c/code\u003e\u003c/a\u003e bump for 46.0.4 and drop win arm64 due to CI issues (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14217\"\u003e#14217\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/c0af4dd7b75921bbe9f1d41a03dbd4b64a9e3403\"\u003e\u003ccode\u003ec0af4dd\u003c/code\u003e\u003c/a\u003e release 46.0.3 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13681\"\u003e#13681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/99efe5ad150a56efadafacaffd0e3ee319373904\"\u003e\u003ccode\u003e99efe5a\u003c/code\u003e\u003c/a\u003e bump version for 46.0.2 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13531\"\u003e#13531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/e735cfc27502320101c130335c556394a125ba52\"\u003e\u003ccode\u003ee735cfc\u003c/code\u003e\u003c/a\u003e release 46.0.1 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13450\"\u003e#13450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/4e457ffba43a6d87efc63c33041e2081438dd8a4\"\u003e\u003ccode\u003e4e457ff\u003c/code\u003e\u003c/a\u003e Explicitly specify python in mac uv build invocation (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13447\"\u003e#13447\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/2726efdb6d67f1c90cf9c6062d9fe051965586f8\"\u003e\u003ccode\u003e2726efd\u003c/code\u003e\u003c/a\u003e Depend on CFFI 2.0.0 or newer on Python \u0026gt; 3.8 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13448\"\u003e#13448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/62230623d183706632c0eb7822c96ac95e3710a8\"\u003e\u003ccode\u003e6223062\u003c/code\u003e\u003c/a\u003e release 46.0.0 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13446\"\u003e#13446\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyca/cryptography/compare/44.0.2...46.0.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sqlparse` from 0.5.3 to 0.5.4\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/andialbrecht/sqlparse/blob/master/CHANGELOG\"\u003esqlparse's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 0.5.4 (Nov 28, 2025)\u003c/h2\u003e\n\u003cp\u003eEnhancements\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eAdd type annotations to top-level API functions and include py.typed marker\nfor PEP 561 compliance, enabling type checking with mypy and other tools\n(issue756).\u003c/li\u003e\n\u003cli\u003eAdd pre-commit hook support. sqlparse can now be used as a pre-commit hook\nto automatically format SQL files. The CLI now supports multiple files and\nan \u003ccode\u003e--in-place\u003c/code\u003e flag for in-place editing (issue537).\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eATTACH\u003c/code\u003e and \u003ccode\u003eDETACH\u003c/code\u003e to PostgreSQL keywords (pr808).\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eINTERSECT\u003c/code\u003e to close keywords in WHERE clause (pr820).\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003eREGEXP BINARY\u003c/code\u003e comparison operator (pr817).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBug Fixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd additional protection against denial of service attacks when parsing\nvery large lists of tuples. This enhances the existing recursion protections\nwith configurable limits for token processing to prevent DoS through\nalgorithmic complexity attacks. The new limits (MAX_GROUPING_DEPTH=100,\nMAX_GROUPING_TOKENS=10000) can be adjusted or disabled (by setting to None)\nif needed for legitimate large SQL statements.\u003c/li\u003e\n\u003cli\u003eRemove shebang from cli.py and remove executable flag (pr818).\u003c/li\u003e\n\u003cli\u003eFix strip_comments not removing all comments when input contains only\ncomments (issue801, pr803 by stropysh).\u003c/li\u003e\n\u003cli\u003eFix splitting statements with IF EXISTS/IF NOT EXISTS inside BEGIN...END\nblocks (issue812).\u003c/li\u003e\n\u003cli\u003eFix splitting on semicolons inside BEGIN...END blocks (issue809).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/14e300b165b14d1a7662a071c6481b503d367528\"\u003e\u003ccode\u003e14e300b\u003c/code\u003e\u003c/a\u003e Bump version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/96a67e286963b2497b1b3f7a1378327af6661998\"\u003e\u003ccode\u003e96a67e2\u003c/code\u003e\u003c/a\u003e Code cleanup.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/1a3bfbd50b82c05d9adcc51bacba059671dc1bc7\"\u003e\u003ccode\u003e1a3bfbd\u003c/code\u003e\u003c/a\u003e Fix handling of semicolons inside BEGIN...END blocks (fixes \u003ca href=\"https://redirect.github.com/andialbrecht/sqlparse/issues/809\"\u003e#809\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/e92a032c81d51a6645b4f8c32470481894818ba0\"\u003e\u003ccode\u003ee92a032\u003c/code\u003e\u003c/a\u003e Fix handling of IF EXISTS statements in BEGIN...END blocks (fixes \u003ca href=\"https://redirect.github.com/andialbrecht/sqlparse/issues/812\"\u003e#812\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/149bebf06c788e93a9b0dbee0e5abbc8e347b8e6\"\u003e\u003ccode\u003e149bebf\u003c/code\u003e\u003c/a\u003e Update Changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/561a67e740e9623cf81ef99f1a6cd94337e24282\"\u003e\u003ccode\u003e561a67e\u003c/code\u003e\u003c/a\u003e Update AUTHORS.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/73c8ba3ae88b608d39740c0776fb15064232258e\"\u003e\u003ccode\u003e73c8ba3\u003c/code\u003e\u003c/a\u003e bugfix ISSUE_801; Remove all comments when only comments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/1b323879f87207946e4782812e2e1254b1c0c659\"\u003e\u003ccode\u003e1b32387\u003c/code\u003e\u003c/a\u003e Update action to run on all prs.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/31903e09db518ee3969110073427196ef9cd46c3\"\u003e\u003ccode\u003e31903e0\u003c/code\u003e\u003c/a\u003e Add pre-commit hook support (fixes \u003ca href=\"https://redirect.github.com/andialbrecht/sqlparse/issues/537\"\u003e#537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/13577264eb38b88e24825022fea4bd4351449e7c\"\u003e\u003ccode\u003e1357726\u003c/code\u003e\u003c/a\u003e docs: add AGENTS.md for project guidance and development commands\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/andialbrecht/sqlparse/compare/0.5.3...0.5.4\"\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\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/Health-Informatics-UoN/carrot-mapper/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/Health-Informatics-UoN/carrot-mapper/pull/1287","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Health-Informatics-UoN%2Fcarrot-mapper/issues/1287","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1287/packages"},{"uuid":"3928828630","node_id":"PR_kwDOKn4vC87DH_Oz","number":9,"state":"closed","title":"Bump apache-airflow from 3.0.1 to 3.0.6 in /pyreqs","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-02-15T19:33:02.000Z","author_association":null,"state_reason":null,"created_at":"2026-02-11T21:47:16.000Z","updated_at":"2026-02-15T19:33:03.000Z","time_to_close":337546,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"apache-airflow","old_version":"3.0.1","new_version":"3.0.6","repository_url":"https://github.com/apache/airflow"}],"path":"/pyreqs","ecosystem":"pip"},"body":"Bumps [apache-airflow](https://github.com/apache/airflow) from 3.0.1 to 3.0.6.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/airflow/releases\"\u003eapache-airflow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eAirflow 3.0.6\u003c/h2\u003e\n\u003cp\u003e📦 PyPI: \u003ca href=\"https://pypi.org/project/apache-airflow/3.0.6/\"\u003ehttps://pypi.org/project/apache-airflow/3.0.6/\u003c/a\u003e\n📚 Docs: \u003ca href=\"https://airflow.apache.org/docs/apache-airflow/3.0.6/\"\u003ehttps://airflow.apache.org/docs/apache-airflow/3.0.6/\u003c/a\u003e\n🛠️ Release Notes: \u003ca href=\"https://airflow.apache.org/docs/apache-airflow/3.0.6/release_notes.html\"\u003ehttps://airflow.apache.org/docs/apache-airflow/3.0.6/release_notes.html\u003c/a\u003e\n🪶 Sources: \u003ca href=\"https://airflow.apache.org/docs/apache-airflow/3.0.6/installation/installing-from-sources.html\"\u003ehttps://airflow.apache.org/docs/apache-airflow/3.0.6/installation/installing-from-sources.html\u003c/a\u003e\n🐳 Docker Image: \u0026quot;docker pull apache/airflow:3.0.6\u0026quot;\n🚏 Constraints: \u003ca href=\"https://github.com/apache/airflow/tree/constraints-3.0.6\"\u003ehttps://github.com/apache/airflow/tree/constraints-3.0.6\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix Connection extra field masking errors when connections use masked values (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54780\"\u003e#54780\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Fix \u003ccode\u003eTriggerDagRunLink\u003c/code\u003e broken page when clicking \u0026quot;Triggered DAG\u0026quot; button (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54760\"\u003e#54760\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix remote logging connection availability in Task SDK supervisor when connections are created via UI (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54720\"\u003e#54720\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003etask_queued_timeout\u003c/code\u003e not working after first DAG run by properly resetting \u003ccode\u003equeued_by_job_id\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54604\"\u003e#54604\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix DAG version determination to use bundle path and relative fileloc instead of absolute fileloc (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54483\"\u003e#54483\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove Kerberos replay cache (\u003ccode\u003eKRB5CCNAME\u003c/code\u003e env) when running tasks with user impersonation (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54672\"\u003e#54672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip additional span-related database queries when tracing is disabled (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54626\"\u003e#54626\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003emax_active_tasks\u003c/code\u003e persisting after removal from DAG code (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54639\"\u003e#54639\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Automatically switch to the triggered DAG run in Graph/Grid view when manually triggering a DAG run (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54336\"\u003e#54336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Fix \u0026quot;Maximum update depth exceeded\u0026quot; errors in Task Log Preview by filtering out empty log entries (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54628\"\u003e#54628\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix custom logging configuration failures preventing triggerer and scheduler startup with simple module paths (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54686\"\u003e#54686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix MySQL UUID generation in task_instance migration (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54814\"\u003e#54814\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOnly redirect on the dag detail page (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54921\"\u003e#54921\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix local executor task execution (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54922\"\u003e#54922\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eMiscellaneous\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd logging when triggerer reaches maximum trigger capacity for better observability (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54549\"\u003e#54549\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePoint deprecation warning in Variable methods to specific alternatives (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54871\"\u003e#54871\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePoint deprecation warning in Connection method to specific alternatives (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54872\"\u003e#54872\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump \u003ccode\u003eaxios\u003c/code\u003e UI dependency from \u003ccode\u003e1.8.0\u003c/code\u003e to \u003ccode\u003e1.11.0\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54733\"\u003e#54733\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump \u003ccode\u003epluggy\u003c/code\u003e to \u003ccode\u003e1.6.0\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54728\"\u003e#54728\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/apache/airflow/issues/54730\"\u003e#54730\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDoc Only Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix broken link for Listener spec (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54535\"\u003e#54535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove experimental status from \u003ccode\u003eget_parsing_context\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54802\"\u003e#54802\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCorrect Trigger-Form UI documentation for current Airflow 3 features (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54806\"\u003e#54806\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd backfill through UI to docs (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54910\"\u003e#54910\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/apache/airflow/compare/3.0.5...3.0.6\"\u003ehttps://github.com/apache/airflow/compare/3.0.5...3.0.6\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eAirflow 3.0.5\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003e📦 PyPI: \u003ca href=\"https://pypi.org/project/apache-airflow/3.0.5/\"\u003ehttps://pypi.org/project/apache-airflow/3.0.5/\u003c/a\u003e\n📚 Docs: \u003ca href=\"https://airflow.apache.org/docs/apache-airflow/3.0.5/\"\u003ehttps://airflow.apache.org/docs/apache-airflow/3.0.5/\u003c/a\u003e\n🛠️ Release Notes: \u003ca href=\"https://airflow.apache.org/docs/apache-airflow/3.0.5/release_notes.html\"\u003ehttps://airflow.apache.org/docs/apache-airflow/3.0.5/release_notes.html\u003c/a\u003e\n🪶 Sources: \u003ca href=\"https://airflow.apache.org/docs/apache-airflow/3.0.5/installation/installing-from-sources.html\"\u003ehttps://airflow.apache.org/docs/apache-airflow/3.0.5/installation/installing-from-sources.html\u003c/a\u003e\n🐳 Docker Image: \u0026quot;docker pull apache/airflow:3.0.5\u0026quot;\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/e965c2e676d85ced65a485d4b2601addc2fd3e97\"\u003e\u003ccode\u003ee965c2e\u003c/code\u003e\u003c/a\u003e Update release notes for 3.0.6rc2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/f0824266977a247dc64f8a8ec791dd4c9b5f6366\"\u003e\u003ccode\u003ef082426\u003c/code\u003e\u003c/a\u003e [v3-0-test] Fix local executor task execution (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54523\"\u003e#54523\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54922\"\u003e#54922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/5fd168844f0ffd5e4bbda51b0336f5c8281d9a93\"\u003e\u003ccode\u003e5fd1688\u003c/code\u003e\u003c/a\u003e Only redirect on the dag detail page (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54920\"\u003e#54920\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54921\"\u003e#54921\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/7be5135b981838eff1eebf85d9712ff756b4fb57\"\u003e\u003ccode\u003e7be5135\u003c/code\u003e\u003c/a\u003e [v3-0-test] Add backfill through UI to docs (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54893\"\u003e#54893\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54910\"\u003e#54910\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/ecb170324d5e1add79be9a95f328920e8c845d1e\"\u003e\u003ccode\u003eecb1703\u003c/code\u003e\u003c/a\u003e [v3-0-test] Migrate windows-latest label to windows-2025 (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54866\"\u003e#54866\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54878\"\u003e#54878\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/2ae28083fe3fca12962cfc81ae692fc9bed54dd4\"\u003e\u003ccode\u003e2ae2808\u003c/code\u003e\u003c/a\u003e [v3-0-test] Fixing typo in upgrade checks CI script (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54873\"\u003e#54873\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54877\"\u003e#54877\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/a8aa67f38d2be9aa2b1df41eb3a9f52ed08cecfb\"\u003e\u003ccode\u003ea8aa67f\u003c/code\u003e\u003c/a\u003e [v3-0-test] Point deprecation warning in Variable methods to specific alterna...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/5c1b8b0a5b43ad27ea55b80e7216cd57432662e1\"\u003e\u003ccode\u003e5c1b8b0\u003c/code\u003e\u003c/a\u003e Point deprecation warning in Connection method to specific alternatives (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/548\"\u003e#548\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/0f4f663293ba635f369017c234bafc0a44d1d432\"\u003e\u003ccode\u003e0f4f663\u003c/code\u003e\u003c/a\u003e [v3-0-test] Standardize uv and prek installation (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54864\"\u003e#54864\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54870\"\u003e#54870\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/48084ea9451ffd89f8fced80a99583485af40093\"\u003e\u003ccode\u003e48084ea\u003c/code\u003e\u003c/a\u003e [v3-0-test] Bump UV and Prek versions (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54854\"\u003e#54854\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54862\"\u003e#54862\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/airflow/compare/3.0.1...3.0.6\"\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=apache-airflow\u0026package-manager=pip\u0026previous-version=3.0.1\u0026new-version=3.0.6)](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)\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/ruupert/dags/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/ruupert/dags/pull/9","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruupert%2Fdags/issues/9","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/9/packages"},{"uuid":"3928815413","node_id":"PR_kwDOKwCsBM7DH8fW","number":13,"state":"open","title":"deps(deps): bump apache-airflow from 3.1.5 to 3.1.7","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-02-11T21:43:13.000Z","updated_at":"2026-02-11T21:43:14.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(deps)","packages":[{"name":"apache-airflow","old_version":"3.1.5","new_version":"3.1.7","repository_url":"https://github.com/apache/airflow"}],"path":null,"ecosystem":"pip"},"body":"Bumps [apache-airflow](https://github.com/apache/airflow) from 3.1.5 to 3.1.7.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/airflow/releases\"\u003eapache-airflow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eApache Airflow 3.1.7\u003c/h2\u003e\n\u003cp\u003e📦 PyPI: \u003ca href=\"https://pypi.org/project/apache-airflow/3.1.7/\"\u003ehttps://pypi.org/project/apache-airflow/3.1.7/\u003c/a\u003e\n📚 Docs: \u003ca href=\"https://airflow.apache.org/docs/apache-airflow/3.1.7/\"\u003ehttps://airflow.apache.org/docs/apache-airflow/3.1.7/\u003c/a\u003e\n🛠 Release Notes: \u003ca href=\"https://airflow.apache.org/docs/apache-airflow/3.1.7/release_notes.html\"\u003ehttps://airflow.apache.org/docs/apache-airflow/3.1.7/release_notes.html\u003c/a\u003e\n🐳 Docker Image: \u0026quot;docker pull apache/airflow:3.1.7\u0026quot;\n🚏 Constraints: \u003ca href=\"https://github.com/apache/airflow/tree/constraints-3.1.7\"\u003ehttps://github.com/apache/airflow/tree/constraints-3.1.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eSignificant Changes\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix JWT token generation with unset issuer/audience config (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61331\"\u003e#61331\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix callback files losing priority during queue resort (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61232\"\u003e#61232\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61243\"\u003e#61243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Dag callback for versioned bundles in the processor (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60734\"\u003e#60734\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61230\"\u003e#61230\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd 404 handling for non-existent Dag (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61131\"\u003e#61131\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61225\"\u003e#61225\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd guardrail to handle Dag deserialization errors in scheduler (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61162\"\u003e#61162\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61210\"\u003e#61210\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix asset scheduling for stale Dags (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/59337\"\u003e#59337\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60022\"\u003e#60022\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61106\"\u003e#61106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix unnecessary Dag version churn when Dag file paths change (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60799\"\u003e#60799\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix missing warning when Bundle path may not be accessible to impersonated user (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60278\"\u003e#60278\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eTriggerDagRunOperator\u003c/code\u003e deferring when \u003ccode\u003ewait_for_completion=False\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60052\"\u003e#60052\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix NoneType error when updating serialized Dag (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/56422\"\u003e#56422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Pool API slots validation (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61071\"\u003e#61071\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61114\"\u003e#61114\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix DagBag parsing by adding bundle_path temporarily to sys.path (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/55894\"\u003e#55894\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61053\"\u003e#61053\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix API to respect maximum page limit (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60989\"\u003e#60989\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61073\"\u003e#61073\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent Triggerer from crashing when a trigger event isn't serializable (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60152\"\u003e#60152\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60981\"\u003e#60981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix permissions on get_event_logs endpoint (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60936\"\u003e#60936\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60958\"\u003e#60958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Dag access control for dag_id in query param (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60935\"\u003e#60935\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60959\"\u003e#60959\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix root logger to use log_level instead of hardcoded INFO level (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60784\"\u003e#60784\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60970\"\u003e#60970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Dag processor OOM by Avoid loading all TaskInstances when checking DagVersion in write_dag (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60937\"\u003e#60937\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60962\"\u003e#60962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix worker startup Dag load failures by rescheduling tasks instead of exiting (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/59604\"\u003e#59604\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60926\"\u003e#60926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix permissions check in import error APIs (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60801\"\u003e#60801\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60884\"\u003e#60884\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix refresh-token invalidation by logging out the user (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60781\"\u003e#60781\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60881\"\u003e#60881\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix connection test API to restore masked password/extra from existing connections (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/59643\"\u003e#59643\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60873\"\u003e#60873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Dag processor overhead by applying \u003ccode\u003egc.freeze\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60505\"\u003e#60505\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60845\"\u003e#60845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Dag processor crashing due to MySQL deadlock errors (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60166\"\u003e#60166\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60418\"\u003e#60418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure unique run_id across manually triggered Dags with schedules (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/59477\"\u003e#59477\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60468\"\u003e#60468\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Avoid gantt annotation error during resize (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60877\"\u003e#60877\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Fix react apps plugins router (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61206\"\u003e#61206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Reset pagination on search in all pages (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61169\"\u003e#61169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Explicitly set UI table ordering (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60609\"\u003e#60609\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61216\"\u003e#61216\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Plugins pagination fix  \u003ca href=\"https://redirect.github.com/apache/airflow/issues/61055\"\u003e#61055\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61059\"\u003e#61059\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61129\"\u003e#61129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Fix ui get dags permission endpoint for user without Dag run permissions (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60979\"\u003e#60979\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60988\"\u003e#60988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Convert Tasks Table from card to table mode (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60830\"\u003e#60830\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60874\"\u003e#60874\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Fix slow log scrolling for large task logs (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60806\"\u003e#60806\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60875\"\u003e#60875\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Grey out trigger button on API 403 (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60648\"\u003e#60648\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60777\"\u003e#60777\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Remove API error from disabling submit (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60473\"\u003e#60473\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60658\"\u003e#60658\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Added toasters for permission denied (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/57966\"\u003e#57966\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/58016\"\u003e#58016\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60646\"\u003e#60646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Move row count and display toggle into DataTable (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/57680\"\u003e#57680\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60639\"\u003e#60639\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Fix/backfill permission error handling (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60582\"\u003e#60582\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60587\"\u003e#60587\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/apache/airflow/commit/83ff6ecec9dd71d8b8631248bc0725afc472acd7\"\u003e\u003ccode\u003e83ff6ec\u003c/code\u003e\u003c/a\u003e Update RELEASE_NOTES.rst for rc2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/caa057100f47ff8b659178a86d565163fb71e6f9\"\u003e\u003ccode\u003ecaa0571\u003c/code\u003e\u003c/a\u003e [v3-1-test] Fix JWT token generation with unset issuer/audience config (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/6127\"\u003e#6127\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/d82bb100d738b09d9604d692913062ae8a225ee4\"\u003e\u003ccode\u003ed82bb10\u003c/code\u003e\u003c/a\u003e Update RELEASE_NOTES.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/d24ec9a649f96b4417c8440526538d81c8c78a6a\"\u003e\u003ccode\u003ed24ec9a\u003c/code\u003e\u003c/a\u003e Update Airflow Version to 3.1.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/08a5859832fc59b3413abba09c7c182f15001d48\"\u003e\u003ccode\u003e08a5859\u003c/code\u003e\u003c/a\u003e [v3-1-test] Fix callback files losing priority during queue resort (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61232\"\u003e#61232\u003c/a\u003e) (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/3b41866a2ee244a7e00332213bd0a8a5e8eaedfe\"\u003e\u003ccode\u003e3b41866\u003c/code\u003e\u003c/a\u003e dag_processing: initialize versioned bundles for callbacks (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/52040\"\u003e#52040\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60734\"\u003e#60734\u003c/a\u003e) ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/c34d2c36f2a315bb6546a6de8176d2b24bebe18b\"\u003e\u003ccode\u003ec34d2c3\u003c/code\u003e\u003c/a\u003e [v3-1-test] Add 404 handling for non-existent Dag (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61131\"\u003e#61131\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61225\"\u003e#61225\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/dd1a86593f2bd38b50b9f2a0a91529d16f89d0c4\"\u003e\u003ccode\u003edd1a865\u003c/code\u003e\u003c/a\u003e Fix import errors not showing on UI (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61163\"\u003e#61163\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61213\"\u003e#61213\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/52b7aeae50805a26218d2fd9972135ee38005920\"\u003e\u003ccode\u003e52b7aea\u003c/code\u003e\u003c/a\u003e [v3-1-test] Explicitly set table ordering (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60609\"\u003e#60609\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61216\"\u003e#61216\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/5a2b2404cfe21d912b801925210fb507d0412bf4\"\u003e\u003ccode\u003e5a2b240\u003c/code\u003e\u003c/a\u003e [v3-1-test] Add guardrail to handle DAG deserialization errors in scheduler (...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/airflow/compare/3.1.5...3.1.7\"\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=apache-airflow\u0026package-manager=pip\u0026previous-version=3.1.5\u0026new-version=3.1.7)](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)\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/GuySuphakit/RedditETL/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/GuySuphakit/RedditETL/pull/13","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/GuySuphakit%2FRedditETL/issues/13","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/13/packages"}],"issue_packages":[{"old_version":"2.6.3","new_version":"3.2.0b1","update_type":"major","path":null,"pr_created_at":"2026-04-08T19:52:43.000Z","version_change":"2.6.3 → 3.2.0b1","issue":{"uuid":"4227240413","node_id":"PR_kwDOO-I9t87Q6zQs","number":12,"state":"open","title":"chore(deps): bump the pip group across 25 directories with 13 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-08T19:52:43.000Z","updated_at":"2026-04-08T19:52:48.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"pip","update_count":13,"packages":[{"name":"requests","old_version":"2.31.0","new_version":"2.33.0","repository_url":"https://github.com/psf/requests"},{"name":"flask","old_version":"2.2.5","new_version":"3.1.3","repository_url":"https://github.com/pallets/flask"},{"name":"pyopenssl","old_version":"23.2.0","new_version":"26.0.0","repository_url":"https://github.com/pyca/pyopenssl"},{"name":"werkzeug","old_version":"2.2.3","new_version":"3.1.6","repository_url":"https://github.com/pallets/werkzeug"},{"name":"apache-airflow","old_version":"2.6.3","new_version":"3.2.0b1","repository_url":"https://github.com/apache/airflow"},{"name":"black","old_version":"23.1a1","new_version":"26.3.1","repository_url":"https://github.com/psf/black"},{"name":"cryptography","old_version":"40.0.2","new_version":"46.0.7","repository_url":"https://github.com/pyca/cryptography"},{"name":"google-cloud-aiplatform","old_version":"1.27.1","new_version":"1.133.0","repository_url":"https://github.com/googleapis/python-aiplatform"},{"name":"protobuf","old_version":"4.23.4","new_version":"5.29.6","repository_url":"https://github.com/protocolbuffers/protobuf"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pip group with 1 update in the /alloydb/notebooks directory: [nbconvert](https://github.com/jupyter/nbconvert).\nBumps the pip group with 1 update in the /aml-ai directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 1 update in the /auth/service-to-service directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 1 update in the /bigquery/continuous-queries directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 4 updates in the /cloud-media-livestream/keypublisher directory: [requests](https://github.com/psf/requests), [flask](https://github.com/pallets/flask), [pyopenssl](https://github.com/pyca/pyopenssl) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 2 updates in the /cloud_scheduler/snippets directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 1 update in the /cloud_tasks/http_queues directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 9 updates in the /composer/2022_airflow_summit directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [requests](https://github.com/psf/requests) | `2.31.0` | `2.33.0` |\n| [flask](https://github.com/pallets/flask) | `2.2.5` | `3.1.3` |\n| [pyopenssl](https://github.com/pyca/pyopenssl) | `23.2.0` | `26.0.0` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `2.2.3` | `3.1.6` |\n| [apache-airflow](https://github.com/apache/airflow) | `2.6.3` | `3.2.0b1` |\n| [black](https://github.com/psf/black) | `23.1a1` | `26.3.1` |\n| [cryptography](https://github.com/pyca/cryptography) | `40.0.2` | `46.0.7` |\n| [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) | `1.27.1` | `1.133.0` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `4.23.4` | `5.29.6` |\n\nBumps the pip group with 5 updates in the /composer/airflow_1_samples directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [flask](https://github.com/pallets/flask) | `1.1.2` | `3.1.3` |\n| [pyopenssl](https://github.com/pyca/pyopenssl) | `20.0.0` | `26.0.0` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `0.16.1` | `3.1.6` |\n| [cryptography](https://github.com/pyca/cryptography) | `3.2.1` | `46.0.7` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `3.14.0` | `5.29.6` |\n\nBumps the pip group with 9 updates in the /composer/cicd_sample directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [requests](https://github.com/psf/requests) | `2.31.0` | `2.33.0` |\n| [flask](https://github.com/pallets/flask) | `2.2.5` | `3.1.3` |\n| [pyopenssl](https://github.com/pyca/pyopenssl) | `23.2.0` | `26.0.0` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `2.2.3` | `3.1.6` |\n| [apache-airflow](https://github.com/apache/airflow) | `2.6.3` | `3.2.0b1` |\n| [black](https://github.com/psf/black) | `23.1a1` | `26.3.1` |\n| [cryptography](https://github.com/pyca/cryptography) | `40.0.2` | `46.0.7` |\n| [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) | `1.27.1` | `1.133.0` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `4.23.4` | `5.29.6` |\n\nBumps the pip group with 1 update in the /composer/rest directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 1 update in the /compute/auth directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 1 update in the /compute/client_library directory: [black](https://github.com/psf/black).\nBumps the pip group with 2 updates in the /compute/encryption directory: [requests](https://github.com/psf/requests) and [cryptography](https://github.com/pyca/cryptography).\nBumps the pip group with 1 update in the /compute/metadata directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 1 update in the /compute/oslogin directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 3 updates in the /dataflow/gemma directory: [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform), [protobuf](https://github.com/protocolbuffers/protobuf) and [keras](https://github.com/keras-team/keras).\nBumps the pip group with 1 update in the /dataflow/gemma-flex-template directory: [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform).\nBumps the pip group with 3 updates in the /dataflow/run-inference directory: [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform), [torch](https://github.com/pytorch/pytorch) and [transformers](https://github.com/huggingface/transformers).\nBumps the pip group with 2 updates in the /datastore/cloud-ndb directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 2 updates in the /dialogflow directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 2 updates in the /dialogflow-cx directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 2 updates in the /gemma2 directory: [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) and [protobuf](https://github.com/protocolbuffers/protobuf).\nBumps the pip group with 4 updates in the /iap directory: [requests](https://github.com/psf/requests), [flask](https://github.com/pallets/flask), [werkzeug](https://github.com/pallets/werkzeug) and [cryptography](https://github.com/pyca/cryptography).\nBumps the pip group with 1 update in the /media_cdn directory: [cryptography](https://github.com/pyca/cryptography).\n\nUpdates `nbconvert` from 7.16.6 to 7.17.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jupyter/nbconvert/releases\"\u003enbconvert's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.17.0\u003c/h2\u003e\n\u003ch2\u003e7.17.0\u003c/h2\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbconvert/compare/v7.16.6...c9ac1d1040459ed1ff9eb34e9918ce5a87cf9d71\"\u003eFull Changelog\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eEnhancements made\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for arbitrary browser arguments \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2227\"\u003e#2227\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugs fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix QtPNGExporter returning empty bytes on macOS \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2264\"\u003e#2264\u003c/a\u003e (\u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/QuLogic\"\u003e\u003ccode\u003e@​QuLogic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix CVE-2025-53000: Secure Inkscape Windows path (registry first + block CWD) \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2261\"\u003e#2261\u003c/a\u003e (\u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/mberlanda\"\u003e\u003ccode\u003e@​mberlanda\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/salmankadaya\"\u003e\u003ccode\u003e@​salmankadaya\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/th3gowtham\"\u003e\u003ccode\u003e@​th3gowtham\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix get_export_names and get_exporter default args \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2228\"\u003e#2228\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePyPA-Compliant Summary \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2226\"\u003e#2226\u003c/a\u003e (\u003ca href=\"https://github.com/hackowitz-af\"\u003e\u003ccode\u003e@​hackowitz-af\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMaintenance and upkeep improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eavoid cov environment on free-threaded Pythons \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2267\"\u003e#2267\u003c/a\u003e (\u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate pre-commit, and fix all issues. \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2238\"\u003e#2238\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop test on 3.9, test on 3.13, 3.14, 3.14t \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2237\"\u003e#2237\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the actions group across 1 directory with 2 updates \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2231\"\u003e#2231\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003e@flaky.flaky\u003c/code\u003e decorate with pytest marker \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2229\"\u003e#2229\u003c/a\u003e (\u003ca href=\"https://github.com/mgorny\"\u003e\u003ccode\u003e@​mgorny\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate to mermaid 11.10.0 \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2224\"\u003e#2224\u003c/a\u003e (\u003ca href=\"https://github.com/bollwyvl\"\u003e\u003ccode\u003e@​bollwyvl\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.8, fix the CI tests \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2221\"\u003e#2221\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse \u003ccode\u003eintersphinx_registry\u003c/code\u003e \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2232\"\u003e#2232\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors to this release\u003c/h3\u003e\n\u003cp\u003eThe following people contributed discussions, new ideas, code and documentation contributions, and review.\nSee \u003ca href=\"https://github-activity.readthedocs.io/en/latest/use/#how-does-this-tool-define-contributions-in-the-reports\"\u003eour definition of contributors\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbconvert/graphs/contributors?from=2025-01-28\u0026amp;to=2026-01-29\u0026amp;type=c\"\u003eGitHub contributors page for this release\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/bollwyvl\"\u003e\u003ccode\u003e@​bollwyvl\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Abollwyvl+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3ACarreau+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ah3pdesign+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/hackowitz-af\"\u003e\u003ccode\u003e@​hackowitz-af\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ahackowitz-af+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Akrassowski+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/mberlanda\"\u003e\u003ccode\u003e@​mberlanda\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Amberlanda+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/mgorny\"\u003e\u003ccode\u003e@​mgorny\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Amgorny+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Aminrk+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/MSeal\"\u003e\u003ccode\u003e@​MSeal\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3AMSeal+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/QuLogic\"\u003e\u003ccode\u003e@​QuLogic\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3AQuLogic+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/salmankadaya\"\u003e\u003ccode\u003e@​salmankadaya\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Asalmankadaya+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ashreve+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/th3gowtham\"\u003e\u003ccode\u003e@​th3gowtham\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ath3gowtham+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e)\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jupyter/nbconvert/blob/main/CHANGELOG.md\"\u003enbconvert's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.17.0\u003c/h2\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbconvert/compare/v7.16.6...c9ac1d1040459ed1ff9eb34e9918ce5a87cf9d71\"\u003eFull Changelog\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eEnhancements made\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for arbitrary browser arguments \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2227\"\u003e#2227\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugs fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix QtPNGExporter returning empty bytes on macOS \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2264\"\u003e#2264\u003c/a\u003e (\u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/QuLogic\"\u003e\u003ccode\u003e@​QuLogic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix CVE-2025-53000: Secure Inkscape Windows path (registry first + block CWD) \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2261\"\u003e#2261\u003c/a\u003e (\u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/mberlanda\"\u003e\u003ccode\u003e@​mberlanda\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/salmankadaya\"\u003e\u003ccode\u003e@​salmankadaya\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/th3gowtham\"\u003e\u003ccode\u003e@​th3gowtham\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix get_export_names and get_exporter default args \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2228\"\u003e#2228\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePyPA-Compliant Summary \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2226\"\u003e#2226\u003c/a\u003e (\u003ca href=\"https://github.com/hackowitz-af\"\u003e\u003ccode\u003e@​hackowitz-af\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMaintenance and upkeep improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eavoid cov environment on free-threaded Pythons \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2267\"\u003e#2267\u003c/a\u003e (\u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate pre-commit, and fix all issues. \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2238\"\u003e#2238\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop test on 3.9, test on 3.13, 3.14, 3.14t \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2237\"\u003e#2237\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the actions group across 1 directory with 2 updates \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2231\"\u003e#2231\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003e@flaky.flaky\u003c/code\u003e decorate with pytest marker \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2229\"\u003e#2229\u003c/a\u003e (\u003ca href=\"https://github.com/mgorny\"\u003e\u003ccode\u003e@​mgorny\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate to mermaid 11.10.0 \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2224\"\u003e#2224\u003c/a\u003e (\u003ca href=\"https://github.com/bollwyvl\"\u003e\u003ccode\u003e@​bollwyvl\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.8, fix the CI tests \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2221\"\u003e#2221\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse \u003ccode\u003eintersphinx_registry\u003c/code\u003e \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2232\"\u003e#2232\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors to this release\u003c/h3\u003e\n\u003cp\u003eThe following people contributed discussions, new ideas, code and documentation contributions, and review.\nSee \u003ca href=\"https://github-activity.readthedocs.io/en/latest/use/#how-does-this-tool-define-contributions-in-the-reports\"\u003eour definition of contributors\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbconvert/graphs/contributors?from=2025-01-28\u0026amp;to=2026-01-29\u0026amp;type=c\"\u003eGitHub contributors page for this release\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/bollwyvl\"\u003e\u003ccode\u003e@​bollwyvl\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Abollwyvl+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3ACarreau+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ah3pdesign+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/hackowitz-af\"\u003e\u003ccode\u003e@​hackowitz-af\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ahackowitz-af+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Akrassowski+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/mberlanda\"\u003e\u003ccode\u003e@​mberlanda\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Amberlanda+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/mgorny\"\u003e\u003ccode\u003e@​mgorny\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Amgorny+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Aminrk+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/MSeal\"\u003e\u003ccode\u003e@​MSeal\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3AMSeal+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/QuLogic\"\u003e\u003ccode\u003e@​QuLogic\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3AQuLogic+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/salmankadaya\"\u003e\u003ccode\u003e@​salmankadaya\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Asalmankadaya+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ashreve+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/th3gowtham\"\u003e\u003ccode\u003e@​th3gowtham\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ath3gowtham+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e)\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/21b35d85b46f5ff0956d3d088a52b9bef00e8196\"\u003e\u003ccode\u003e21b35d8\u003c/code\u003e\u003c/a\u003e Publish 7.17.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/c9ac1d1040459ed1ff9eb34e9918ce5a87cf9d71\"\u003e\u003ccode\u003ec9ac1d1\u003c/code\u003e\u003c/a\u003e Fix CVE-2025-53000: Secure Inkscape Windows path (registry first + block CWD)...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/b13276d80ae6fadbfda981304810e26f421c4ced\"\u003e\u003ccode\u003eb13276d\u003c/code\u003e\u003c/a\u003e avoid cov environment on free-threaded Pythons (\u003ca href=\"https://redirect.github.com/jupyter/nbconvert/issues/2267\"\u003e#2267\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/7c7055fe833fe9832e6f9a64fa5f67d66692c8d6\"\u003e\u003ccode\u003e7c7055f\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] auto fixes from pre-commit.com hooks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/74f3ddd37ef4b7ffb5eee9acbf52062217c15852\"\u003e\u003ccode\u003e74f3ddd\u003c/code\u003e\u003c/a\u003e Fix QtPNGExporter returning empty bytes on macOS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/216550b2aae4c329f4dab597a96ae7cac30de79a\"\u003e\u003ccode\u003e216550b\u003c/code\u003e\u003c/a\u003e fix links\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/39777ac5716350e994171d025a7369c58b0afc8c\"\u003e\u003ccode\u003e39777ac\u003c/code\u003e\u003c/a\u003e try to comment fialing test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/7b591ca526f2598dbae3256a53765659c3edcf14\"\u003e\u003ccode\u003e7b591ca\u003c/code\u003e\u003c/a\u003e ruff-check\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/6ec7638a3dc7a0bc2c533c116202d7f9b07ce9d9\"\u003e\u003ccode\u003e6ec7638\u003c/code\u003e\u003c/a\u003e parent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/59414b36f94e318d4207e8af863167047d936c19\"\u003e\u003ccode\u003e59414b3\u003c/code\u003e\u003c/a\u003e fix mypy\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jupyter/nbconvert/compare/v7.16.6...v7.17.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.4 to 2.33.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.33.0\u003c/h2\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that uses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report any gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts contents to a non-deterministic location to prevent malicious file replacement. This does not affect default usage of Requests, only applications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause malformed authentication to be applied to Requests on Python 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\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/M0d3v1\"\u003e\u003ccode\u003e@​M0d3v1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6865\"\u003epsf/requests#6865\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminvakil\"\u003e\u003ccode\u003e@​aminvakil\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7220\"\u003epsf/requests#7220\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/E8Price\"\u003e\u003ccode\u003e@​E8Price\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6960\"\u003epsf/requests#6960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mitre88\"\u003e\u003ccode\u003e@​mitre88\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7244\"\u003epsf/requests#7244\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/magsen\"\u003e\u003ccode\u003e@​magsen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6553\"\u003epsf/requests#6553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rohan5commit\"\u003e\u003ccode\u003e@​Rohan5commit\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7227\"\u003epsf/requests#7227\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\"\u003ehttps://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that\nuses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report\nany gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts\ncontents to a non-deterministic location to prevent malicious file\nreplacement. This does not affect default usage of Requests, only\napplications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause\nmalformed authentication to be applied to Requests on\nPython 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/bc04dfd6dad4cb02cd92f5daa81eb562d280a761\"\u003e\u003ccode\u003ebc04dfd\u003c/code\u003e\u003c/a\u003e v2.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/66d21cb07bd6255b1280291c4fafb71803cdb3b7\"\u003e\u003ccode\u003e66d21cb\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/8b9bc8fc0f63be84602387913c4b689f19efd028\"\u003e\u003ccode\u003e8b9bc8f\u003c/code\u003e\u003c/a\u003e Move badges to top of README (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7293\"\u003e#7293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/e331a288f369973f5de0ec8901c94cae4fa87286\"\u003e\u003ccode\u003ee331a28\u003c/code\u003e\u003c/a\u003e Remove unused extraction call (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7292\"\u003e#7292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/753fd08c5eacce0aa0df73fe47e49525c67e0a29\"\u003e\u003ccode\u003e753fd08\u003c/code\u003e\u003c/a\u003e docs: fix FAQ grammar in httplib2 example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/774a0b837a194ee885d4fdd9ca947900cc3daf71\"\u003e\u003ccode\u003e774a0b8\u003c/code\u003e\u003c/a\u003e docs(socks): same block as other sections\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/9c72a41bec8597f948c9d8caa5dc3f12273b3303\"\u003e\u003ccode\u003e9c72a41\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.33.0 to 4.34.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/ebf71906798ec82f34e07d3168f8b8aecaf8a3be\"\u003e\u003ccode\u003eebf7190\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.32.0 to 4.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/0e4ae38f0c93d4f92a96c774bd52c069d12a4798\"\u003e\u003ccode\u003e0e4ae38\u003c/code\u003e\u003c/a\u003e docs: exclude Response.is_permanent_redirect from API docs (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7244\"\u003e#7244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d568f47278492e630cc990a259047c67991d007a\"\u003e\u003ccode\u003ed568f47\u003c/code\u003e\u003c/a\u003e docs: clarify Quickstart POST example (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6960\"\u003e#6960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.4...v2.33.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.4 to 2.33.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.33.0\u003c/h2\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that uses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report any gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts contents to a non-deterministic location to prevent malicious file replacement. This does not affect default usage of Requests, only applications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause malformed authentication to be applied to Requests on Python 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\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/M0d3v1\"\u003e\u003ccode\u003e@​M0d3v1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6865\"\u003epsf/requests#6865\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminvakil\"\u003e\u003ccode\u003e@​aminvakil\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7220\"\u003epsf/requests#7220\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/E8Price\"\u003e\u003ccode\u003e@​E8Price\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6960\"\u003epsf/requests#6960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mitre88\"\u003e\u003ccode\u003e@​mitre88\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7244\"\u003epsf/requests#7244\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/magsen\"\u003e\u003ccode\u003e@​magsen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6553\"\u003epsf/requests#6553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rohan5commit\"\u003e\u003ccode\u003e@​Rohan5commit\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7227\"\u003epsf/requests#7227\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\"\u003ehttps://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that\nuses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report\nany gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts\ncontents to a non-deterministic location to prevent malicious file\nreplacement. This does not affect default usage of Requests, only\napplications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause\nmalformed authentication to be applied to Requests on\nPython 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/bc04dfd6dad4cb02cd92f5daa81eb562d280a761\"\u003e\u003ccode\u003ebc04dfd\u003c/code\u003e\u003c/a\u003e v2.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/66d21cb07bd6255b1280291c4fafb71803cdb3b7\"\u003e\u003ccode\u003e66d21cb\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/8b9bc8fc0f63be84602387913c4b689f19efd028\"\u003e\u003ccode\u003e8b9bc8f\u003c/code\u003e\u003c/a\u003e Move badges to top of README (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7293\"\u003e#7293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/e331a288f369973f5de0ec8901c94cae4fa87286\"\u003e\u003ccode\u003ee331a28\u003c/code\u003e\u003c/a\u003e Remove unused extraction call (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7292\"\u003e#7292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/753fd08c5eacce0aa0df73fe47e49525c67e0a29\"\u003e\u003ccode\u003e753fd08\u003c/code\u003e\u003c/a\u003e docs: fix FAQ grammar in httplib2 example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/774a0b837a194ee885d4fdd9ca947900cc3daf71\"\u003e\u003ccode\u003e774a0b8\u003c/code\u003e\u003c/a\u003e docs(socks): same block as other sections\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/9c72a41bec8597f948c9d8caa5dc3f12273b3303\"\u003e\u003ccode\u003e9c72a41\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.33.0 to 4.34.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/ebf71906798ec82f34e07d3168f8b8aecaf8a3be\"\u003e\u003ccode\u003eebf7190\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.32.0 to 4.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/0e4ae38f0c93d4f92a96c774bd52c069d12a4798\"\u003e\u003ccode\u003e0e4ae38\u003c/code\u003e\u003c/a\u003e docs: exclude Response.is_permanent_redirect from API docs (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7244\"\u003e#7244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d568f47278492e630cc990a259047c67991d007a\"\u003e\u003ccode\u003ed568f47\u003c/code\u003e\u003c/a\u003e docs: clarify Quickstart POST example (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6960\"\u003e#6960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.4...v2.33.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.4 to 2.33.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.33.0\u003c/h2\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that uses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report any gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts contents to a non-deterministic location to prevent malicious file replacement. This does not affect default usage of Requests, only applications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause malformed authentication to be applied to Requests on Python 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\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/M0d3v1\"\u003e\u003ccode\u003e@​M0d3v1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6865\"\u003epsf/requests#6865\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminvakil\"\u003e\u003ccode\u003e@​aminvakil\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7220\"\u003epsf/requests#7220\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/E8Price\"\u003e\u003ccode\u003e@​E8Price\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6960\"\u003epsf/requests#6960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mitre88\"\u003e\u003ccode\u003e@​mitre88\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7244\"\u003epsf/requests#7244\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/magsen\"\u003e\u003ccode\u003e@​magsen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6553\"\u003epsf/requests#6553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rohan5commit\"\u003e\u003ccode\u003e@​Rohan5commit\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7227\"\u003epsf/requests#7227\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\"\u003ehttps://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that\nuses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report\nany gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts\ncontents to a non-deterministic location to prevent malicious file\nreplacement. This does not affect default usage of Requests, only\napplications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause\nmalformed authentication to be applied to Requests on\nPython 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/bc04dfd6dad4cb02cd92f5daa81eb562d280a761\"\u003e\u003ccode\u003ebc04dfd\u003c/code\u003e\u003c/a\u003e v2.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/66d21cb07bd6255b1280291c4fafb71803cdb3b7\"\u003e\u003ccode\u003e66d21cb\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/8b9bc8fc0f63be84602387913c4b689f19efd028\"\u003e\u003ccode\u003e8b9bc8f\u003c/code\u003e\u003c/a\u003e Move badges to top of README (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7293\"\u003e#7293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/e331a288f369973f5de0ec8901c94cae4fa87286\"\u003e\u003ccode\u003ee331a28\u003c/code\u003e\u003c/a\u003e Remove unused extraction call (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7292\"\u003e#7292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/753fd08c5eacce0aa0df73fe47e49525c67e0a29\"\u003e\u003ccode\u003e753fd08\u003c/code\u003e\u003c/a\u003e docs: fix FAQ grammar in httplib2 example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/774a0b837a194ee885d4fdd9ca947900cc3daf71\"\u003e\u003ccode\u003e774a0b8\u003c/code\u003e\u003c/a\u003e docs(socks): same block as other sections\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/9c72a41bec8597f948c9d8caa5dc3f12273b3303\"\u003e\u003ccode\u003e9c72a41\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.33.0 to 4.34.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/ebf71906798ec82f34e07d3168f8b8aecaf8a3be\"\u003e\u003ccode\u003eebf7190\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.32.0 to 4.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/0e4ae38f0c93d4f92a96c774bd52c069d12a4798\"\u003e\u003ccode\u003e0e4ae38\u003c/code\u003e\u003c/a\u003e docs: exclude Response.is_permanent_redirect from API docs (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7244\"\u003e#7244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d568f47278492e630cc990a259047c67991d007a\"\u003e\u003ccode\u003ed568f47\u003c/code\u003e\u003c/a\u003e docs: clarify Quickstart POST example (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6960\"\u003e#6960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.4...v2.33.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.4 to 2.33.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.33.0\u003c/h2\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that uses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report any gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts contents to a non-deterministic location to prevent malicious file replacement. This does not affect default usage of Requests, only applications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause malformed authentication to be applied to Requests on Python 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\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/M0d3v1\"\u003e\u003ccode\u003e@​M0d3v1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6865\"\u003epsf/requests#6865\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminvakil\"\u003e\u003ccode\u003e@​aminvakil\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7220\"\u003epsf/requests#7220\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/E8Price\"\u003e\u003ccode\u003e@​E8Price\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6960\"\u003epsf/requests#6960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mitre88\"\u003e\u003ccode\u003e@​mitre88\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7244\"\u003epsf/requests#7244\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/magsen\"\u003e\u003ccode\u003e@​magsen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6553\"\u003epsf/requests#6553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rohan5commit\"\u003e\u003ccode\u003e@​Rohan5commit\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7227\"\u003epsf/requests#7227\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\"\u003ehttps://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that\nuses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report\nany gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts\ncontents to a non-deterministic location to prevent malicious file\nreplacement. This does not affect default usage of Requests, only\napplications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause\nmalformed authentication to be applied to Requests on\nPython 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/bc04dfd6dad4cb02cd92f5daa81eb562d280a761\"\u003e\u003ccode\u003ebc04dfd\u003c/code\u003e\u003c/a\u003e v2.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/66d21cb07bd6255b1280291c4fafb71803cdb3b7\"\u003e\u003ccode\u003e66d21cb\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/8b9bc8fc0f63be84602387913c4b689f19efd028\"\u003e\u003ccode\u003e8b9bc8f\u003c/code\u003e\u003c/a\u003e Move badges to top of README (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7293\"\u003e#7293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/e331a288f369973f5de0ec8901c94cae4fa87286\"\u003e\u003ccode\u003ee331a28\u003c/code\u003e\u003c/a\u003e Remove unused extraction call (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7292\"\u003e#7292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/753fd08c5eacce0aa0df73fe47e49525c67e0a29\"\u003e\u003ccode\u003e753fd08\u003c/code\u003e\u003c/a\u003e docs: fix FAQ grammar in httplib2 example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/774a0b837a194ee885d4fdd9ca947900cc3daf71\"\u003e\u003ccode\u003e774a0b8\u003c/code\u003e\u003c/a\u003e docs(socks): same block as other sections\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/9c72a41bec8597f948c9d8caa5dc3f12273b3303\"\u003e\u003ccode\u003e9c72a41\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.33.0 to 4.34.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/ebf71906798ec82f34e07d3168f8b8aecaf8a3be\"\u003e\u003ccode\u003eebf7190\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.32.0 to 4.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/0e4ae38f0c93d4f92a96c774bd52c069d12a4798\"\u003e\u003ccode\u003e0e4ae38\u003c/code\u003e\u003c/a\u003e docs: exclude Response.is_permanent_redirect from API docs (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7244\"\u003e#7244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d568f47278492e630cc990a259047c67991d007a\"\u003e\u003ccode\u003ed568f47\u003c/code\u003e\u003c/a\u003e docs: clarify Quickstart POST example (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6960\"\u003e#6960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.4...v2.33.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `flask` from 2.2.5 to 3.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/releases\"\u003eflask's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.3\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.3 security fix release, which fixes a security issue but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.3/\"\u003ehttps://pypi.org/project/Flask/3.1.3/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-3\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-3\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys but not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. \u003ca href=\"https://github.com/pallets/flask/security/advisories/GHSA-68rp-wp8r-4726\"\u003eGHSA-68rp-wp8r-4726\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.2\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.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/Flask/3.1.2/\"\u003ehttps://pypi.org/project/Flask/3.1.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-2\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-2\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/38?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/38?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5774\"\u003e#5774\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state of \u003ccode\u003esession\u003c/code\u003e is correct. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5786\"\u003e#5786\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5776\"\u003e#5776\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.1\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.1 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.1/\"\u003ehttps://pypi.org/project/Flask/3.1.1/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/flask/milestone/36?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/36?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. GHSA-4grg-w6v8-c28g\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5645\"\u003e#5645\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loads the app and plugins first to make sure all commands are shown. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5673\"\u003e#5673\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMark sans-io base class as being able to handle views that return \u003ccode\u003eAsyncIterable\u003c/code\u003e. This is not accurate for Flask, but makes typing easier for Quart. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5659\"\u003e#5659\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.0\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecations, or introduce potentially breaking changes. We encourage everyone to upgrade, and to use a tool such as \u003ca href=\"https://pypi.org/project/pip-tools/\"\u003epip-tools\u003c/a\u003e to pin all dependencies and control upgrades. Test with warnings treated as errors to be able to adapt to deprecation warnings early.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.0/\"\u003ehttps://pypi.org/project/Flask/3.1.0/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-0\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-0\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/33?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/33?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5623\"\u003e#5623\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate minimum dependency versions to latest feature releases. Werkzeug \u0026gt;= 3.1, ItsDangerous \u0026gt;= 2.2, Blinker \u0026gt;= 1.9. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5624\"\u003e#5624\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5633\"\u003e#5633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProvide a configuration option to control automatic option responses. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5496\"\u003e#5496\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFlask.open_resource\u003c/code\u003e/\u003ccode\u003eopen_instance_resource\u003c/code\u003e and \u003ccode\u003eBlueprint.open_resource\u003c/code\u003e take an \u003ccode\u003eencoding\u003c/code\u003e parameter to use when opening in text mode. It defaults to \u003ccode\u003eutf-8\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5504\"\u003e#5504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.max_content_length\u003c/code\u003e can be customized per-request instead of only through the \u003ccode\u003eMAX_CONTENT_LENGTH\u003c/code\u003e config. Added \u003ccode\u003eMAX_FORM_MEMORY_SIZE\u003c/code\u003e and \u003ccode\u003eMAX_FORM_PARTS\u003c/code\u003e config. Added documentation about resource limits to the security page. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5625\"\u003e#5625\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for the \u003ccode\u003ePartitioned\u003c/code\u003e cookie attribute (CHIPS), with the \u003ccode\u003eSESSION_COOKIE_PARTITIONED\u003c/code\u003e config. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5472\"\u003e#5472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e-e path\u003c/code\u003e takes precedence over default \u003ccode\u003e.env\u003c/code\u003e and \u003ccode\u003e.flaskenv\u003c/code\u003e files. \u003ccode\u003eload_dotenv\u003c/code\u003e loads default files in addition to a path unless \u003ccode\u003eload_defaults=False\u003c/code\u003e is passed. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5628\"\u003e#5628\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport key rotation with the \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e config, a list of old secret keys that can still be used for unsigning. Extensions will need to add support. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5621\"\u003e#5621\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix how setting \u003ccode\u003ehost_matching=True\u003c/code\u003e or \u003ccode\u003esubdomain_matching=False\u003c/code\u003e interacts with \u003ccode\u003eSERVER_NAME\u003c/code\u003e. Setting \u003ccode\u003eSERVER_NAME\u003c/code\u003e no longer restricts requests to only that domain. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5553\"\u003e#5553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.trusted_hosts\u003c/code\u003e is checked during routing, and can be set through the \u003ccode\u003eTRUSTED_HOSTS\u003c/code\u003e config. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5636\"\u003e#5636\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.0.3\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/blob/main/CHANGES.rst\"\u003eflask's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.1.3\u003c/h2\u003e\n\u003cp\u003eReleased 2026-02-18\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys\nbut not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. :ghsa:\u003ccode\u003e68rp-wp8r-4726\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.2\u003c/h2\u003e\n\u003cp\u003eReleased 2025-08-19\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. :issue:\u003ccode\u003e5774\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state\nof \u003ccode\u003esession\u003c/code\u003e is correct. :issue:\u003ccode\u003e5786\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. :issue:\u003ccode\u003e5776\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-05-13\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via\n\u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. :ghsa:\u003ccode\u003e4grg-w6v8-c28g\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. :issue:\u003ccode\u003e5645\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loads the app and plugins first to make sure all commands\nare shown. :issue:\u003ccode\u003e5673\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eMark sans-io base class as being able to handle views that return\n\u003ccode\u003eAsyncIterable\u003c/code\u003e. This is not accurate for Flask, but makes typing easier\nfor Quart. :pr:\u003ccode\u003e5659\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.0\u003c/h2\u003e\n\u003cp\u003eReleased 2024-11-13\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. :pr:\u003ccode\u003e5623\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUpdate minimum dependency versions to latest feature releases.\nWerkzeug \u0026gt;= 3.1, ItsDangerous \u0026gt;= 2.2, Blinker \u0026gt;= 1.9. :pr:\u003ccode\u003e5624,5633\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eProvide a configuration option to control automatic option\nresponses. :pr:\u003ccode\u003e5496\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFlask.open_resource\u003c/code\u003e/\u003ccode\u003eopen_instance_resource\u003c/code\u003e and\n\u003ccode\u003eBlueprint.open_resource\u003c/code\u003e take an \u003ccode\u003eencoding\u003c/code\u003e parameter to use when\nopening in text mode. It defaults to \u003ccode\u003eutf-8\u003c/code\u003e. :issue:\u003ccode\u003e5504\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.max_content_length\u003c/code\u003e can be customized per-request instead of only\nthrough the \u003ccode\u003eMAX_CONTENT_LENGTH\u003c/code\u003e config. Added\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/22d924701a6ae2e4cd01e9a15bbaf3946094af65\"\u003e\u003ccode\u003e22d9247\u003c/code\u003e\u003c/a\u003e release version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/089cb86dd22bff589a4eafb7ab8e42dc357623b4\"\u003e\u003ccode\u003e089cb86\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/c17f379390731543eea33a570a47bd4ef76a54fa\"\u003e\u003ccode\u003ec17f379\u003c/code\u003e\u003c/a\u003e request context tracks session access\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/27be9338405382445a7cb01151e084559b98d602\"\u003e\u003ccode\u003e27be933\u003c/code\u003e\u003c/a\u003e start version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4e652d3f68b90d50aa2301d3b7e68c3fafd9251d\"\u003e\u003ccode\u003e4e652d3\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5903\"\u003e#5903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/3d03098a97ddc6a908aa4a50c2ef7381f8297d0a\"\u003e\u003ccode\u003e3d03098\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/407eb76b27884848383a37c7274654f0271e4bc4\"\u003e\u003ccode\u003e407eb76\u003c/code\u003e\u003c/a\u003e document using gevent for async (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5900\"\u003e#5900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/ac5664d2281533eacafd64f5cc7d5edcdaccab60\"\u003e\u003ccode\u003eac5664d\u003c/code\u003e\u003c/a\u003e document using gevent for async\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4f79d5b59a56bc4356a97f2e81a35f98cb18d7b3\"\u003e\u003ccode\u003e4f79d5b\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11 (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5865\"\u003e#5865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/fe3b215d3ade4db68262dae1a3cdc464a1fc524f\"\u003e\u003ccode\u003efe3b215\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/flask/compare/2.2.5...3.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyopenssl` from 25.0.0 to 26.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyca/pyopenssl/blob/main/CHANGELOG.rst\"\u003epyopenssl's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.0.0 (2026-03-15)\u003c/h2\u003e\n\u003cp\u003eBackward-incompatible changes:\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.7.\u003c/li\u003e\n\u003cli\u003eThe minimum \u003ccode\u003ecryptography\u003c/code\u003e version is now 46.0.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations:\n^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003eChanges:\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for using aws-lc instead of OpenSSL.\u003c/li\u003e\n\u003cli\u003eProperly raise an error if a DTLS cookie callback returned a cookie longer than \u003ccode\u003eDTLS1_COOKIE_LENGTH\u003c/co...\n\n_Description has been truncated_","html_url":"https://github.com/ASISBusiness/python-docs-samples/pull/12","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ASISBusiness%2Fpython-docs-samples/issues/12","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/12/packages"}},{"old_version":"2.6.3","new_version":"3.2.0b1","update_type":"major","path":null,"pr_created_at":"2026-04-08T08:01:03.000Z","version_change":"2.6.3 → 3.2.0b1","issue":{"uuid":"4223006296","node_id":"PR_kwDORKFnMM7Qu_PA","number":10,"state":"closed","title":"chore(deps): bump the pip group across 24 directories with 12 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-08T19:53:18.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-08T08:01:03.000Z","updated_at":"2026-04-08T19:53:20.000Z","time_to_close":42735,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"pip","update_count":12,"packages":[{"name":"requests","old_version":"2.31.0","new_version":"2.33.0","repository_url":"https://github.com/psf/requests"},{"name":"flask","old_version":"2.2.5","new_version":"3.1.3","repository_url":"https://github.com/pallets/flask"},{"name":"pyopenssl","old_version":"23.2.0","new_version":"26.0.0","repository_url":"https://github.com/pyca/pyopenssl"},{"name":"werkzeug","old_version":"2.2.3","new_version":"3.1.6","repository_url":"https://github.com/pallets/werkzeug"},{"name":"apache-airflow","old_version":"2.6.3","new_version":"3.2.0b1","repository_url":"https://github.com/apache/airflow"},{"name":"black","old_version":"23.1a1","new_version":"26.3.1","repository_url":"https://github.com/psf/black"},{"name":"cryptography","old_version":"40.0.2","new_version":"46.0.6","repository_url":"https://github.com/pyca/cryptography"},{"name":"google-cloud-aiplatform","old_version":"1.27.1","new_version":"1.133.0","repository_url":"https://github.com/googleapis/python-aiplatform"},{"name":"protobuf","old_version":"4.23.4","new_version":"5.29.6","repository_url":"https://github.com/protocolbuffers/protobuf"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pip group with 1 update in the /aml-ai directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 1 update in the /auth/service-to-service directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 1 update in the /bigquery/continuous-queries directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 4 updates in the /cloud-media-livestream/keypublisher directory: [requests](https://github.com/psf/requests), [flask](https://github.com/pallets/flask), [pyopenssl](https://github.com/pyca/pyopenssl) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 1 update in the /cloud_tasks/http_queues directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 9 updates in the /composer/2022_airflow_summit directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [requests](https://github.com/psf/requests) | `2.31.0` | `2.33.0` |\n| [flask](https://github.com/pallets/flask) | `2.2.5` | `3.1.3` |\n| [pyopenssl](https://github.com/pyca/pyopenssl) | `23.2.0` | `26.0.0` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `2.2.3` | `3.1.6` |\n| [apache-airflow](https://github.com/apache/airflow) | `2.6.3` | `3.2.0b1` |\n| [black](https://github.com/psf/black) | `23.1a1` | `26.3.1` |\n| [cryptography](https://github.com/pyca/cryptography) | `40.0.2` | `46.0.6` |\n| [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) | `1.27.1` | `1.133.0` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `4.23.4` | `5.29.6` |\n\nBumps the pip group with 5 updates in the /composer/airflow_1_samples directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [flask](https://github.com/pallets/flask) | `1.1.2` | `3.1.3` |\n| [pyopenssl](https://github.com/pyca/pyopenssl) | `20.0.0` | `26.0.0` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `0.16.1` | `3.1.6` |\n| [cryptography](https://github.com/pyca/cryptography) | `3.2.1` | `46.0.6` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `3.14.0` | `5.29.6` |\n\nBumps the pip group with 9 updates in the /composer/cicd_sample directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [requests](https://github.com/psf/requests) | `2.31.0` | `2.33.0` |\n| [flask](https://github.com/pallets/flask) | `2.2.5` | `3.1.3` |\n| [pyopenssl](https://github.com/pyca/pyopenssl) | `23.2.0` | `26.0.0` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `2.2.3` | `3.1.6` |\n| [apache-airflow](https://github.com/apache/airflow) | `2.6.3` | `3.2.0b1` |\n| [black](https://github.com/psf/black) | `23.1a1` | `26.3.1` |\n| [cryptography](https://github.com/pyca/cryptography) | `40.0.2` | `46.0.6` |\n| [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) | `1.27.1` | `1.133.0` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `4.23.4` | `5.29.6` |\n\nBumps the pip group with 1 update in the /composer/rest directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 9 updates in the /composer/workflows directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [requests](https://github.com/psf/requests) | `2.31.0` | `2.33.0` |\n| [flask](https://github.com/pallets/flask) | `2.2.5` | `3.1.3` |\n| [pyopenssl](https://github.com/pyca/pyopenssl) | `24.1.0` | `26.0.0` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `2.2.3` | `3.1.6` |\n| [apache-airflow](https://github.com/apache/airflow) | `2.9.2` | `3.2.0b1` |\n| [black](https://github.com/psf/black) | `24.4.2` | `26.3.1` |\n| [cryptography](https://github.com/pyca/cryptography) | `41.0.7` | `46.0.6` |\n| [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) | `1.53.0` | `1.133.0` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `4.25.3` | `5.29.6` |\n\nBumps the pip group with 1 update in the /compute/auth directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 1 update in the /compute/client_library directory: [black](https://github.com/psf/black).\nBumps the pip group with 2 updates in the /compute/encryption directory: [requests](https://github.com/psf/requests) and [cryptography](https://github.com/pyca/cryptography).\nBumps the pip group with 1 update in the /compute/metadata directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 1 update in the /compute/oslogin directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 3 updates in the /dataflow/gemma directory: [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform), [protobuf](https://github.com/protocolbuffers/protobuf) and [keras](https://github.com/keras-team/keras).\nBumps the pip group with 1 update in the /dataflow/gemma-flex-template directory: [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform).\nBumps the pip group with 3 updates in the /dataflow/run-inference directory: [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform), [torch](https://github.com/pytorch/pytorch) and [transformers](https://github.com/huggingface/transformers).\nBumps the pip group with 2 updates in the /datastore/cloud-ndb directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 2 updates in the /dialogflow directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 2 updates in the /dialogflow-cx directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 2 updates in the /gemma2 directory: [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) and [protobuf](https://github.com/protocolbuffers/protobuf).\nBumps the pip group with 4 updates in the /iap directory: [requests](https://github.com/psf/requests), [flask](https://github.com/pallets/flask), [werkzeug](https://github.com/pallets/werkzeug) and [cryptography](https://github.com/pyca/cryptography).\nBumps the pip group with 1 update in the /media_cdn directory: [cryptography](https://github.com/pyca/cryptography).\n\nUpdates `requests` from 2.32.4 to 2.33.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.33.0\u003c/h2\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that uses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report any gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts contents to a non-deterministic location to prevent malicious file replacement. This does not affect default usage of Requests, only applications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause malformed authentication to be applied to Requests on Python 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\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/M0d3v1\"\u003e\u003ccode\u003e@​M0d3v1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6865\"\u003epsf/requests#6865\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminvakil\"\u003e\u003ccode\u003e@​aminvakil\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7220\"\u003epsf/requests#7220\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/E8Price\"\u003e\u003ccode\u003e@​E8Price\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6960\"\u003epsf/requests#6960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mitre88\"\u003e\u003ccode\u003e@​mitre88\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7244\"\u003epsf/requests#7244\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/magsen\"\u003e\u003ccode\u003e@​magsen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6553\"\u003epsf/requests#6553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rohan5commit\"\u003e\u003ccode\u003e@​Rohan5commit\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7227\"\u003epsf/requests#7227\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\"\u003ehttps://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that\nuses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report\nany gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts\ncontents to a non-deterministic location to prevent malicious file\nreplacement. This does not affect default usage of Requests, only\napplications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause\nmalformed authentication to be applied to Requests on\nPython 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/bc04dfd6dad4cb02cd92f5daa81eb562d280a761\"\u003e\u003ccode\u003ebc04dfd\u003c/code\u003e\u003c/a\u003e v2.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/66d21cb07bd6255b1280291c4fafb71803cdb3b7\"\u003e\u003ccode\u003e66d21cb\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/8b9bc8fc0f63be84602387913c4b689f19efd028\"\u003e\u003ccode\u003e8b9bc8f\u003c/code\u003e\u003c/a\u003e Move badges to top of README (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7293\"\u003e#7293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/e331a288f369973f5de0ec8901c94cae4fa87286\"\u003e\u003ccode\u003ee331a28\u003c/code\u003e\u003c/a\u003e Remove unused extraction call (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7292\"\u003e#7292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/753fd08c5eacce0aa0df73fe47e49525c67e0a29\"\u003e\u003ccode\u003e753fd08\u003c/code\u003e\u003c/a\u003e docs: fix FAQ grammar in httplib2 example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/774a0b837a194ee885d4fdd9ca947900cc3daf71\"\u003e\u003ccode\u003e774a0b8\u003c/code\u003e\u003c/a\u003e docs(socks): same block as other sections\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/9c72a41bec8597f948c9d8caa5dc3f12273b3303\"\u003e\u003ccode\u003e9c72a41\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.33.0 to 4.34.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/ebf71906798ec82f34e07d3168f8b8aecaf8a3be\"\u003e\u003ccode\u003eebf7190\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.32.0 to 4.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/0e4ae38f0c93d4f92a96c774bd52c069d12a4798\"\u003e\u003ccode\u003e0e4ae38\u003c/code\u003e\u003c/a\u003e docs: exclude Response.is_permanent_redirect from API docs (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7244\"\u003e#7244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d568f47278492e630cc990a259047c67991d007a\"\u003e\u003ccode\u003ed568f47\u003c/code\u003e\u003c/a\u003e docs: clarify Quickstart POST example (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6960\"\u003e#6960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.4...v2.33.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.4 to 2.33.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.33.0\u003c/h2\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that uses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report any gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts contents to a non-deterministic location to prevent malicious file replacement. This does not affect default usage of Requests, only applications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause malformed authentication to be applied to Requests on Python 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\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/M0d3v1\"\u003e\u003ccode\u003e@​M0d3v1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6865\"\u003epsf/requests#6865\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminvakil\"\u003e\u003ccode\u003e@​aminvakil\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7220\"\u003epsf/requests#7220\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/E8Price\"\u003e\u003ccode\u003e@​E8Price\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6960\"\u003epsf/requests#6960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mitre88\"\u003e\u003ccode\u003e@​mitre88\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7244\"\u003epsf/requests#7244\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/magsen\"\u003e\u003ccode\u003e@​magsen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6553\"\u003epsf/requests#6553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rohan5commit\"\u003e\u003ccode\u003e@​Rohan5commit\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7227\"\u003epsf/requests#7227\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\"\u003ehttps://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that\nuses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report\nany gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts\ncontents to a non-deterministic location to prevent malicious file\nreplacement. This does not affect default usage of Requests, only\napplications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause\nmalformed authentication to be applied to Requests on\nPython 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/bc04dfd6dad4cb02cd92f5daa81eb562d280a761\"\u003e\u003ccode\u003ebc04dfd\u003c/code\u003e\u003c/a\u003e v2.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/66d21cb07bd6255b1280291c4fafb71803cdb3b7\"\u003e\u003ccode\u003e66d21cb\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/8b9bc8fc0f63be84602387913c4b689f19efd028\"\u003e\u003ccode\u003e8b9bc8f\u003c/code\u003e\u003c/a\u003e Move badges to top of README (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7293\"\u003e#7293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/e331a288f369973f5de0ec8901c94cae4fa87286\"\u003e\u003ccode\u003ee331a28\u003c/code\u003e\u003c/a\u003e Remove unused extraction call (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7292\"\u003e#7292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/753fd08c5eacce0aa0df73fe47e49525c67e0a29\"\u003e\u003ccode\u003e753fd08\u003c/code\u003e\u003c/a\u003e docs: fix FAQ grammar in httplib2 example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/774a0b837a194ee885d4fdd9ca947900cc3daf71\"\u003e\u003ccode\u003e774a0b8\u003c/code\u003e\u003c/a\u003e docs(socks): same block as other sections\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/9c72a41bec8597f948c9d8caa5dc3f12273b3303\"\u003e\u003ccode\u003e9c72a41\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.33.0 to 4.34.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/ebf71906798ec82f34e07d3168f8b8aecaf8a3be\"\u003e\u003ccode\u003eebf7190\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.32.0 to 4.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/0e4ae38f0c93d4f92a96c774bd52c069d12a4798\"\u003e\u003ccode\u003e0e4ae38\u003c/code\u003e\u003c/a\u003e docs: exclude Response.is_permanent_redirect from API docs (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7244\"\u003e#7244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d568f47278492e630cc990a259047c67991d007a\"\u003e\u003ccode\u003ed568f47\u003c/code\u003e\u003c/a\u003e docs: clarify Quickstart POST example (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6960\"\u003e#6960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.4...v2.33.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.4 to 2.33.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.33.0\u003c/h2\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that uses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report any gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts contents to a non-deterministic location to prevent malicious file replacement. This does not affect default usage of Requests, only applications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause malformed authentication to be applied to Requests on Python 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\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/M0d3v1\"\u003e\u003ccode\u003e@​M0d3v1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6865\"\u003epsf/requests#6865\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminvakil\"\u003e\u003ccode\u003e@​aminvakil\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7220\"\u003epsf/requests#7220\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/E8Price\"\u003e\u003ccode\u003e@​E8Price\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6960\"\u003epsf/requests#6960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mitre88\"\u003e\u003ccode\u003e@​mitre88\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7244\"\u003epsf/requests#7244\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/magsen\"\u003e\u003ccode\u003e@​magsen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6553\"\u003epsf/requests#6553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rohan5commit\"\u003e\u003ccode\u003e@​Rohan5commit\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7227\"\u003epsf/requests#7227\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\"\u003ehttps://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that\nuses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report\nany gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts\ncontents to a non-deterministic location to prevent malicious file\nreplacement. This does not affect default usage of Requests, only\napplications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause\nmalformed authentication to be applied to Requests on\nPython 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/bc04dfd6dad4cb02cd92f5daa81eb562d280a761\"\u003e\u003ccode\u003ebc04dfd\u003c/code\u003e\u003c/a\u003e v2.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/66d21cb07bd6255b1280291c4fafb71803cdb3b7\"\u003e\u003ccode\u003e66d21cb\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/8b9bc8fc0f63be84602387913c4b689f19efd028\"\u003e\u003ccode\u003e8b9bc8f\u003c/code\u003e\u003c/a\u003e Move badges to top of README (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7293\"\u003e#7293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/e331a288f369973f5de0ec8901c94cae4fa87286\"\u003e\u003ccode\u003ee331a28\u003c/code\u003e\u003c/a\u003e Remove unused extraction call (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7292\"\u003e#7292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/753fd08c5eacce0aa0df73fe47e49525c67e0a29\"\u003e\u003ccode\u003e753fd08\u003c/code\u003e\u003c/a\u003e docs: fix FAQ grammar in httplib2 example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/774a0b837a194ee885d4fdd9ca947900cc3daf71\"\u003e\u003ccode\u003e774a0b8\u003c/code\u003e\u003c/a\u003e docs(socks): same block as other sections\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/9c72a41bec8597f948c9d8caa5dc3f12273b3303\"\u003e\u003ccode\u003e9c72a41\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.33.0 to 4.34.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/ebf71906798ec82f34e07d3168f8b8aecaf8a3be\"\u003e\u003ccode\u003eebf7190\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.32.0 to 4.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/0e4ae38f0c93d4f92a96c774bd52c069d12a4798\"\u003e\u003ccode\u003e0e4ae38\u003c/code\u003e\u003c/a\u003e docs: exclude Response.is_permanent_redirect from API docs (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7244\"\u003e#7244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d568f47278492e630cc990a259047c67991d007a\"\u003e\u003ccode\u003ed568f47\u003c/code\u003e\u003c/a\u003e docs: clarify Quickstart POST example (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6960\"\u003e#6960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.4...v2.33.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.4 to 2.33.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.33.0\u003c/h2\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that uses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report any gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts contents to a non-deterministic location to prevent malicious file replacement. This does not affect default usage of Requests, only applications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause malformed authentication to be applied to Requests on Python 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\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/M0d3v1\"\u003e\u003ccode\u003e@​M0d3v1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6865\"\u003epsf/requests#6865\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminvakil\"\u003e\u003ccode\u003e@​aminvakil\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7220\"\u003epsf/requests#7220\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/E8Price\"\u003e\u003ccode\u003e@​E8Price\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6960\"\u003epsf/requests#6960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mitre88\"\u003e\u003ccode\u003e@​mitre88\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7244\"\u003epsf/requests#7244\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/magsen\"\u003e\u003ccode\u003e@​magsen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6553\"\u003epsf/requests#6553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rohan5commit\"\u003e\u003ccode\u003e@​Rohan5commit\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7227\"\u003epsf/requests#7227\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\"\u003ehttps://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that\nuses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report\nany gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts\ncontents to a non-deterministic location to prevent malicious file\nreplacement. This does not affect default usage of Requests, only\napplications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause\nmalformed authentication to be applied to Requests on\nPython 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/bc04dfd6dad4cb02cd92f5daa81eb562d280a761\"\u003e\u003ccode\u003ebc04dfd\u003c/code\u003e\u003c/a\u003e v2.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/66d21cb07bd6255b1280291c4fafb71803cdb3b7\"\u003e\u003ccode\u003e66d21cb\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/8b9bc8fc0f63be84602387913c4b689f19efd028\"\u003e\u003ccode\u003e8b9bc8f\u003c/code\u003e\u003c/a\u003e Move badges to top of README (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7293\"\u003e#7293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/e331a288f369973f5de0ec8901c94cae4fa87286\"\u003e\u003ccode\u003ee331a28\u003c/code\u003e\u003c/a\u003e Remove unused extraction call (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7292\"\u003e#7292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/753fd08c5eacce0aa0df73fe47e49525c67e0a29\"\u003e\u003ccode\u003e753fd08\u003c/code\u003e\u003c/a\u003e docs: fix FAQ grammar in httplib2 example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/774a0b837a194ee885d4fdd9ca947900cc3daf71\"\u003e\u003ccode\u003e774a0b8\u003c/code\u003e\u003c/a\u003e docs(socks): same block as other sections\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/9c72a41bec8597f948c9d8caa5dc3f12273b3303\"\u003e\u003ccode\u003e9c72a41\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.33.0 to 4.34.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/ebf71906798ec82f34e07d3168f8b8aecaf8a3be\"\u003e\u003ccode\u003eebf7190\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.32.0 to 4.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/0e4ae38f0c93d4f92a96c774bd52c069d12a4798\"\u003e\u003ccode\u003e0e4ae38\u003c/code\u003e\u003c/a\u003e docs: exclude Response.is_permanent_redirect from API docs (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7244\"\u003e#7244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d568f47278492e630cc990a259047c67991d007a\"\u003e\u003ccode\u003ed568f47\u003c/code\u003e\u003c/a\u003e docs: clarify Quickstart POST example (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6960\"\u003e#6960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.4...v2.33.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `flask` from 2.2.5 to 3.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/releases\"\u003eflask's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.3\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.3 security fix release, which fixes a security issue but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.3/\"\u003ehttps://pypi.org/project/Flask/3.1.3/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-3\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-3\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys but not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. \u003ca href=\"https://github.com/pallets/flask/security/advisories/GHSA-68rp-wp8r-4726\"\u003eGHSA-68rp-wp8r-4726\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.2\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.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/Flask/3.1.2/\"\u003ehttps://pypi.org/project/Flask/3.1.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-2\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-2\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/38?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/38?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5774\"\u003e#5774\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state of \u003ccode\u003esession\u003c/code\u003e is correct. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5786\"\u003e#5786\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5776\"\u003e#5776\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.1\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.1 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.1/\"\u003ehttps://pypi.org/project/Flask/3.1.1/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/flask/milestone/36?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/36?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. GHSA-4grg-w6v8-c28g\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5645\"\u003e#5645\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loads the app and plugins first to make sure all commands are shown. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5673\"\u003e#5673\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMark sans-io base class as being able to handle views that return \u003ccode\u003eAsyncIterable\u003c/code\u003e. This is not accurate for Flask, but makes typing easier for Quart. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5659\"\u003e#5659\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.0\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecations, or introduce potentially breaking changes. We encourage everyone to upgrade, and to use a tool such as \u003ca href=\"https://pypi.org/project/pip-tools/\"\u003epip-tools\u003c/a\u003e to pin all dependencies and control upgrades. Test with warnings treated as errors to be able to adapt to deprecation warnings early.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.0/\"\u003ehttps://pypi.org/project/Flask/3.1.0/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-0\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-0\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/33?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/33?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5623\"\u003e#5623\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate minimum dependency versions to latest feature releases. Werkzeug \u0026gt;= 3.1, ItsDangerous \u0026gt;= 2.2, Blinker \u0026gt;= 1.9. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5624\"\u003e#5624\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5633\"\u003e#5633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProvide a configuration option to control automatic option responses. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5496\"\u003e#5496\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFlask.open_resource\u003c/code\u003e/\u003ccode\u003eopen_instance_resource\u003c/code\u003e and \u003ccode\u003eBlueprint.open_resource\u003c/code\u003e take an \u003ccode\u003eencoding\u003c/code\u003e parameter to use when opening in text mode. It defaults to \u003ccode\u003eutf-8\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5504\"\u003e#5504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.max_content_length\u003c/code\u003e can be customized per-request instead of only through the \u003ccode\u003eMAX_CONTENT_LENGTH\u003c/code\u003e config. Added \u003ccode\u003eMAX_FORM_MEMORY_SIZE\u003c/code\u003e and \u003ccode\u003eMAX_FORM_PARTS\u003c/code\u003e config. Added documentation about resource limits to the security page. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5625\"\u003e#5625\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for the \u003ccode\u003ePartitioned\u003c/code\u003e cookie attribute (CHIPS), with the \u003ccode\u003eSESSION_COOKIE_PARTITIONED\u003c/code\u003e config. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5472\"\u003e#5472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e-e path\u003c/code\u003e takes precedence over default \u003ccode\u003e.env\u003c/code\u003e and \u003ccode\u003e.flaskenv\u003c/code\u003e files. \u003ccode\u003eload_dotenv\u003c/code\u003e loads default files in addition to a path unless \u003ccode\u003eload_defaults=False\u003c/code\u003e is passed. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5628\"\u003e#5628\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport key rotation with the \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e config, a list of old secret keys that can still be used for unsigning. Extensions will need to add support. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5621\"\u003e#5621\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix how setting \u003ccode\u003ehost_matching=True\u003c/code\u003e or \u003ccode\u003esubdomain_matching=False\u003c/code\u003e interacts with \u003ccode\u003eSERVER_NAME\u003c/code\u003e. Setting \u003ccode\u003eSERVER_NAME\u003c/code\u003e no longer restricts requests to only that domain. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5553\"\u003e#5553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.trusted_hosts\u003c/code\u003e is checked during routing, and can be set through the \u003ccode\u003eTRUSTED_HOSTS\u003c/code\u003e config. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5636\"\u003e#5636\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.0.3\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/blob/main/CHANGES.rst\"\u003eflask's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.1.3\u003c/h2\u003e\n\u003cp\u003eReleased 2026-02-18\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys\nbut not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. :ghsa:\u003ccode\u003e68rp-wp8r-4726\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.2\u003c/h2\u003e\n\u003cp\u003eReleased 2025-08-19\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. :issue:\u003ccode\u003e5774\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state\nof \u003ccode\u003esession\u003c/code\u003e is correct. :issue:\u003ccode\u003e5786\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. :issue:\u003ccode\u003e5776\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-05-13\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via\n\u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. :ghsa:\u003ccode\u003e4grg-w6v8-c28g\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. :issue:\u003ccode\u003e5645\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loads the app and plugins first to make sure all commands\nare shown. :issue:\u003ccode\u003e5673\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eMark sans-io base class as being able to handle views that return\n\u003ccode\u003eAsyncIterable\u003c/code\u003e. This is not accurate for Flask, but makes typing easier\nfor Quart. :pr:\u003ccode\u003e5659\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.0\u003c/h2\u003e\n\u003cp\u003eReleased 2024-11-13\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. :pr:\u003ccode\u003e5623\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUpdate minimum dependency versions to latest feature releases.\nWerkzeug \u0026gt;= 3.1, ItsDangerous \u0026gt;= 2.2, Blinker \u0026gt;= 1.9. :pr:\u003ccode\u003e5624,5633\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eProvide a configuration option to control automatic option\nresponses. :pr:\u003ccode\u003e5496\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFlask.open_resource\u003c/code\u003e/\u003ccode\u003eopen_instance_resource\u003c/code\u003e and\n\u003ccode\u003eBlueprint.open_resource\u003c/code\u003e take an \u003ccode\u003eencoding\u003c/code\u003e parameter to use when\nopening in text mode. It defaults to \u003ccode\u003eutf-8\u003c/code\u003e. :issue:\u003ccode\u003e5504\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.max_content_length\u003c/code\u003e can be customized per-request instead of only\nthrough the \u003ccode\u003eMAX_CONTENT_LENGTH\u003c/code\u003e config. Added\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/22d924701a6ae2e4cd01e9a15bbaf3946094af65\"\u003e\u003ccode\u003e22d9247\u003c/code\u003e\u003c/a\u003e release version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/089cb86dd22bff589a4eafb7ab8e42dc357623b4\"\u003e\u003ccode\u003e089cb86\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/c17f379390731543eea33a570a47bd4ef76a54fa\"\u003e\u003ccode\u003ec17f379\u003c/code\u003e\u003c/a\u003e request context tracks session access\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/27be9338405382445a7cb01151e084559b98d602\"\u003e\u003ccode\u003e27be933\u003c/code\u003e\u003c/a\u003e start version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4e652d3f68b90d50aa2301d3b7e68c3fafd9251d\"\u003e\u003ccode\u003e4e652d3\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5903\"\u003e#5903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/3d03098a97ddc6a908aa4a50c2ef7381f8297d0a\"\u003e\u003ccode\u003e3d03098\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/407eb76b27884848383a37c7274654f0271e4bc4\"\u003e\u003ccode\u003e407eb76\u003c/code\u003e\u003c/a\u003e document using gevent for async (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5900\"\u003e#5900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/ac5664d2281533eacafd64f5cc7d5edcdaccab60\"\u003e\u003ccode\u003eac5664d\u003c/code\u003e\u003c/a\u003e document using gevent for async\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4f79d5b59a56bc4356a97f2e81a35f98cb18d7b3\"\u003e\u003ccode\u003e4f79d5b\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11 (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5865\"\u003e#5865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/fe3b215d3ade4db68262dae1a3cdc464a1fc524f\"\u003e\u003ccode\u003efe3b215\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/flask/compare/2.2.5...3.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyopenssl` from 25.0.0 to 26.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyca/pyopenssl/blob/main/CHANGELOG.rst\"\u003epyopenssl's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.0.0 (2026-03-15)\u003c/h2\u003e\n\u003cp\u003eBackward-incompatible changes:\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.7.\u003c/li\u003e\n\u003cli\u003eThe minimum \u003ccode\u003ecryptography\u003c/code\u003e version is now 46.0.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations:\n^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003eChanges:\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for using aws-lc instead of OpenSSL.\u003c/li\u003e\n\u003cli\u003eProperly raise an error if a DTLS cookie callback returned a cookie longer than \u003ccode\u003eDTLS1_COOKIE_LENGTH\u003c/code\u003e bytes. Previously this would result in a buffer-overflow. Credit to \u003cstrong\u003edark_haxor\u003c/strong\u003e for reporting the issue. \u003cstrong\u003eCVE-2026-27459\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eOpenSSL.SSL.Connection.get_group_name\u003c/code\u003e to determine which group name was negotiated.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eContext.set_tlsext_servername_callback\u003c/code\u003e now handles exceptions raised in the callback by calling \u003ccode\u003esys.excepthook\u003c/code\u003e and returning a fatal TLS alert. Previously, exceptions were silently swallowed and the handshake would proceed as if the callback had succeeded. Credit to \u003cstrong\u003eLeury Castillo\u003c/strong\u003e for reporting this issue. \u003cstrong\u003eCVE-2026-27448\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e25.3.0 (2025-09-16)\u003c/h2\u003e\n\u003cp\u003eBackward-incompatible changes:\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003eDeprecations:\n^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003eChanges:\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMaximum supported \u003ccode\u003ecryptography\u003c/code\u003e version is now 46.x.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e25.2.0 (2025-09-14)\u003c/h2\u003e\n\u003cp\u003eBackward-incompatible changes:\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe minimum \u003ccode\u003ecryptography\u003c/code\u003e version is now 45.0.7.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations:\n^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003eChanges:\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003epyOpenSSL now sets \u003ccode\u003eSSL_MODE_ACCEPT_MOVING_WRITE_BUFFER\u003c/code\u003e on connections by default, matching CPython's behavior.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/pyopenssl/commit/358cbf29c4e364c59930e53a270116249581eaa3\"\u003e\u003ccode\u003e358cbf2\u003c/code\u003e\u003c/a\u003e Prepare for 26.0.0 release (\u003ca href=\"https://redirect.github.com/pyca/pyopenssl/issues/1487\"\u003e#1487\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/pyopenssl/commit/a8d28e7069ca213049ccfbcc227ed9ef6080a15b\"\u003e\u003ccode\u003ea8d28e7\u003c/code\u003e\u003c/a\u003e Bump actions/cache from 4 to 5 (\u003ca href=\"https://redirect.github.com/pyca/pyopenssl/issues/1486\"\u003e#1486\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/pyopenssl/commit/6fefff05561c0a5e8f668b4e029a6ba3adb7d89e\"\u003e\u003ccode\u003e6fefff0\u003c/code\u003e\u003c/a\u003e Add aws-lc compatibility to tests and CI (\u003ca href=\"https://redirect.github.com/pyca/pyopenssl/issues/1476\"\u003e#1476\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/pyopenssl/commit/a739f9661d09ec6cda448ad71ca3e6df0dce9d75\"\u003e\u003ccode\u003ea739f96\u003c/code\u003e\u003c/a\u003e Bump actions/download-artifact from 8.0.0 to 8.0.1 (\u003ca href=\"https://redirect.github.com/pyca/pyopenssl/issues/1485\"\u003e#1485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/pyopenssl/commit/8b4c66b1b5649ce046665b151772d40c1cddd66a\"\u003e\u003ccode\u003e8b4c66b\u003c/code\u003e\u003c/a\u003e Bump actions/upload-artifact in /.github/actions/upload-coverage (\u003ca href=\"https://redirect.github.com/pyca/pyopenssl/issues/1484\"\u003e#1484\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/pyopenssl/commit/02a5c78435cd445a7d5ef20b354dba2b6abdac64\"\u003e\u003ccode\u003e02a5c78\u003c/code\u003e\u003c/a\u003e Bump actions/upload-artifact from 6.0.0 to 7.0.0 (\u003ca href=\"https://redirect.github.com/pyca/pyopenssl/issues/1483\"\u003e#1483\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/pyopenssl/commit/d9733878d67ee2ad94327768bb6dc416f7827443\"\u003e\u003ccode\u003ed973387\u003c/code\u003e\u003c/a\u003e Bump actions/download-artifact from 7.0.0 to 8.0.0 (\u003ca href=\"https://redirect.github.com/pyca/pyopenssl/issues/1482\"\u003e#1482\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/pyopenssl/commit/57f09bb4bb051d3bc2a1abd36e9525313d5cd408\"\u003e\u003ccode\u003e57f09bb\u003c/code\u003e\u003c/a\u003e Fix buffer overflow in DTLS cookie generation callback (\u003ca href=\"https://redirect.github.com/pyca/pyopenssl/issues/1479\"\u003e#1479\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/pyopenssl/commit/d41a814759a9fb49584ca8ab3f7295de49a85aa0\"\u003e\u003ccode\u003ed41a814\u003c/code\u003e\u003c/a\u003e Handle exceptions in set_tlsext_servername_callback callbacks (\u003ca href=\"https://redirect.github.com/pyca/pyopenssl/issues/1478\"\u003e#1478\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/pyopenssl/commit/7b29beba7759f0b810b5d5375a50469c4f8947b3\"\u003e\u003ccode\u003e7b29beb\u003c/code\u003e\u003c/a\u003e Fix not using a cryptography wheel on uv (\u003ca href=\"https://redirect.github.com/pyca/pyopenssl/issues/1475\"\u003e#1475\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyca/pyopenssl/compare/25.0.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 `werkzeug` from 3.0.6 to 3.1.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/werkzeug/releases\"\u003ewerkzeug's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.6\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.6 security fix release, which fixes a security issue but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Werkzeug/3.1.6/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.6/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/page/changes/#version-3-1-6\"\u003ehttps://werkzeug.palletsprojects.com/page/changes/#version-3-1-6\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow special devices names in multi-segment paths. \u003ca href=\"https://github.com/pallets/werkzeug/security/advisories/GHSA-29vq-49wr-vm6x\"\u003eGHSA-29vq-49wr-vm6x\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.5\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.5 security fix release, which fixes security issues and 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/Werkzeug/3.1.5/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.5/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/page/changes/#version-3-1-5\"\u003ehttps://werkzeug.palletsprojects.com/page/changes/#version-3-1-5\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/werkzeug/milestone/43?closed=1\"\u003ehttps://github.com/pallets/werkzeug/milestone/43?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow more special device names, regardless of extension or surrounding spaces. \u003ca href=\"https://github.com/pallets/werkzeug/security/advisories/GHSA-87hc-h4r5-73f7\"\u003eGHSA-87hc-h4r5-73f7\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe multipart form parser handles a \u003ccode\u003e\\r\\n\u003c/code\u003e sequence at a chunk boundary. This fixes the previous attempt, which caused incorrect content lengths. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3065\"\u003e#3065\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3077\"\u003e#3077\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eAttributeError\u003c/code\u003e when initializing \u003ccode\u003eDebuggedApplication\u003c/code\u003e with \u003ccode\u003epin_security=False\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3075\"\u003e#3075\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.4\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.4 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/Werkzeug/3.1.4/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.4/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/page/changes/#version-3-1-4\"\u003ehttps://werkzeug.palletsprojects.com/page/changes/#version-3-1-4\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/werkzeug/milestone/42?closed=1\"\u003ehttps://github.com/pallets/werkzeug/milestone/42?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow special device names. This prevents reading from these when using \u003ccode\u003esend_from_directory\u003c/code\u003e. \u003ccode\u003esecure_filename\u003c/code\u003e already prevented writing to these. \u003ca href=\"https://github.com/pallets/werkzeug/security/advisories/GHSA-hgf8-39gv-g3f2\"\u003eghsa-hgf8-39gv-g3f2\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe debugger pin fails after 10 attempts instead of 11. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3020\"\u003e#3020\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe multipart form parser handles a \u003ccode\u003e\\r\\n\u003c/code\u003e sequence at a chunk boundary. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3065\"\u003e#3065\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove CPU usage during Watchdog reloader. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3054\"\u003e#3054\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.json\u003c/code\u003e annotation is more accurate. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3067\"\u003e#3067\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTraceback rendering handles when the line number is beyond the available source lines. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3044\"\u003e#3044\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eHTTPException.get_response\u003c/code\u003e annotation and doc better conveys the distinction between WSGI and sans-IO responses. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3056\"\u003e#3056\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.3\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.3 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes vs 3.1.0.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Werkzeug/3.1.3/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.3/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/en/stable/changes/#version-3-1-3\"\u003ehttps://werkzeug.palletsprojects.com/en/stable/changes/#version-3-1-3\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/werkzeug/milestone/41?closed=1\"\u003ehttps://github.com/pallets/werkzeug/milestone/41?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eInitial data passed to \u003ccode\u003eMultiDict\u003c/code\u003e and similar interfaces only accepts \u003ccode\u003elist\u003c/code\u003e, \u003ccode\u003etuple\u003c/code\u003e, or \u003ccode\u003eset\u003c/code\u003e when passing multiple values. It had been changed to accept any \u003ccode\u003eCollection\u003c/code\u003e, but this matched types that should be treated as single values, such as \u003ccode\u003ebytes\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/2994\"\u003e#2994\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen the \u003ccode\u003eHost\u003c/code\u003e header is not set and \u003ccode\u003eRequest.host\u003c/code\u003e falls back to the WSGI \u003ccode\u003eSERVER_NAME\u003c/code\u003e value, if that value is an IPv6 address it is wrapped in \u003ccode\u003e[]\u003c/code\u003e to match the \u003ccode\u003eHost\u003c/code\u003e header. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/2993\"\u003e#2993\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.2\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.2 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes vs 3.1.0.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Werkzeug/3.1.2/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/en/stable/changes/#version-3-1-2\"\u003ehttps://werkzeug.palletsprojects.com/en/stable/changes/#version-3-1-2\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/werkzeug/blob/main/CHANGES.rst\"\u003ewerkzeug's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.1.6\u003c/h2\u003e\n\u003cp\u003eReleased 2026-02-19\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow special devices names in\nmulti-segment paths. :ghsa:\u003ccode\u003e29vq-49wr-vm6x\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eResponse.make_conditional\u003c/code\u003e sets the \u003ccode\u003eAccept-Ranges\u003c/code\u003e header even if it\nis not a satisfiable range request. :issue:\u003ccode\u003e3108\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.5\u003c/h2\u003e\n\u003cp\u003eReleased 2026-01-08\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow more special device names, regardless\nof extension or surrounding spaces. :ghsa:\u003ccode\u003e87hc-h4r5-73f7\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe multipart form parser handles a \u003ccode\u003e\\r\\n\u003c/code\u003e sequence at a chunk boundary.\nThis fixes the previous attempt, which caused incorrect content lengths.\n:issue:\u003ccode\u003e3065\u003c/code\u003e :issue:\u003ccode\u003e3077\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eAttributeError\u003c/code\u003e when initializing \u003ccode\u003eDebuggedApplication\u003c/code\u003e with\n\u003ccode\u003epin_security=False\u003c/code\u003e. :issue:\u003ccode\u003e3075\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.4\u003c/h2\u003e\n\u003cp\u003eReleased 2025-11-28\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow special device names. This prevents\nreading from these when using \u003ccode\u003esend_from_directory\u003c/code\u003e. \u003ccode\u003esecure_filename\u003c/code\u003e\nalready prevented writing to these. :ghsa:\u003ccode\u003ehgf8-39gv-g3f2\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe debugger pin fails after 10 attempts instead of 11. :pr:\u003ccode\u003e3020\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe multipart form parser handles a \u003ccode\u003e\\r\\n\u003c/code\u003e sequence at a chunk boundary.\n:issue:\u003ccode\u003e3065\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eImprove CPU usage during Watchdog reloader. :issue:\u003ccode\u003e3054\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.json\u003c/code\u003e annotation is more accurate. :issue:\u003ccode\u003e3067\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eTraceback rendering handles when the line number is beyond the available\nsource lines. :issue:\u003ccode\u003e3044\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eHTTPException.get_response\u003c/code\u003e annotation and doc better conveys the\ndistinction between WSGI and sans-IO responses. :issue:\u003ccode\u003e3056\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.3\u003c/h2\u003e\n\u003cp\u003eReleased 2024-11-08\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eInitial data passed to \u003ccode\u003eMultiDict\u003c/code\u003e and similar interfaces only accepts\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/werkzeug/commit/04da1b5221b7a7b57e82246e4b5741d37a6b2e56\"\u003e\u003ccode\u003e04da1b5\u003c/code\u003e\u003c/a\u003e release version 3.1.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/f407712fdc60a09c2b3f4fe7db557703e5d9338d\"\u003e\u003ccode\u003ef407712\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/f54fe98026253e70fbbcd35a6b52fb67cfff1c03\"\u003e\u003ccode\u003ef54fe98\u003c/code\u003e\u003c/a\u003e safe_join prevents Windows special device names in multi-segment paths\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/d005985ef69ffe3275eda8fb6fb25e074dbe871b\"\u003e\u003ccode\u003ed005985\u003c/code\u003e\u003c/a\u003e start version 3.1.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/8565c2cbd6681ae8463e77d4fc0795324a7fdae7\"\u003e\u003ccode\u003e8565c2c\u003c/code\u003e\u003c/a\u003e document rule priority (\u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3102\"\u003e#3102\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/3febc7e90072bffe04c27e6b7478dfc4f88930df\"\u003e\u003ccode\u003e3febc7e\u003c/code\u003e\u003c/a\u003e document rule priority\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/2525b827646c10ab7adb334664e6a4af1b769181\"\u003e\u003ccode\u003e2525b82\u003c/code\u003e\u003c/a\u003e remove state machine docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/4abfbd553cdeb6d4e6fa693340d52b13c884079f\"\u003e\u003ccode\u003e4abfbd5\u003c/code\u003e\u003c/a\u003e rewrite build docstring (\u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3097\"\u003e#3097\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/161c18b2a8800ae6ef377fb3cbdb933a878fea67\"\u003e\u003ccode\u003e161c18b\u003c/code\u003e\u003c/a\u003e rewrite build docstring\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/86e11c29e44726dae524cd9db11549b3b1ad681d\"\u003e\u003ccode\u003e86e11c2\u003c/code\u003e\u003c/a\u003e release version 3.1.5 (\u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3085\"\u003e#3085\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/werkzeug/compare/3.0.6...3.1.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.4 to 2.33.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.33.0\u003c/h2\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that uses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report any gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts contents to a non-deterministic location to prevent malicious file replacement. This does not affect default usage of Requests, only applications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause malformed authentication to be applied to Requests on Python 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\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/M0d3v1\"\u003e\u003ccode\u003e@​M0d3v1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6865\"\u003epsf/requests#6865\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminvakil\"\u003e\u003ccode\u003e@​aminvakil\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://red...\n\n_Description has been truncated_","html_url":"https://github.com/Dalek2023/python-docs-samples/pull/10","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dalek2023%2Fpython-docs-samples/issues/10","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/10/packages"}},{"old_version":"2.6.3","new_version":"3.2.0b1","update_type":"major","path":null,"pr_created_at":"2026-04-08T05:57:58.000Z","version_change":"2.6.3 → 3.2.0b1","issue":{"uuid":"4222436319","node_id":"PR_kwDOQYU5AM7QtUHO","number":3,"state":"closed","title":"chore(deps): bump the pip group across 19 directories with 11 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-08T19:43:32.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-08T05:57:58.000Z","updated_at":"2026-04-08T19:43:34.000Z","time_to_close":49534,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"pip","update_count":11,"packages":[{"name":"apache-airflow","old_version":"2.6.3","new_version":"3.2.0b1","repository_url":"https://github.com/apache/airflow"},{"name":"flask","old_version":"2.2.5","new_version":"3.1.3","repository_url":"https://github.com/pallets/flask"},{"name":"werkzeug","old_version":"2.2.3","new_version":"3.1.6","repository_url":"https://github.com/pallets/werkzeug"},{"name":"black","old_version":"23.1a1","new_version":"26.3.1","repository_url":"https://github.com/psf/black"},{"name":"cryptography","old_version":"40.0.2","new_version":"46.0.6","repository_url":"https://github.com/pyca/cryptography"},{"name":"protobuf","old_version":"4.23.4","new_version":"5.29.6","repository_url":"https://github.com/protocolbuffers/protobuf"},{"name":"requests","old_version":"2.31.0","new_version":"2.33.0","repository_url":"https://github.com/psf/requests"},{"name":"google-cloud-aiplatform","old_version":"1.27.1","new_version":"1.133.0","repository_url":"https://github.com/googleapis/python-aiplatform"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pip group with 4 updates in the /composer/airflow_1_samples directory: [flask](https://github.com/pallets/flask), [werkzeug](https://github.com/pallets/werkzeug), [cryptography](https://github.com/pyca/cryptography) and [protobuf](https://github.com/protocolbuffers/protobuf).\nBumps the pip group with 8 updates in the /composer/cicd_sample directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [apache-airflow](https://github.com/apache/airflow) | `2.6.3` | `3.2.0b1` |\n| [flask](https://github.com/pallets/flask) | `2.2.5` | `3.1.3` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `2.2.3` | `3.1.6` |\n| [black](https://github.com/psf/black) | `23.1a1` | `26.3.1` |\n| [cryptography](https://github.com/pyca/cryptography) | `40.0.2` | `46.0.6` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `4.23.4` | `5.29.6` |\n| [requests](https://github.com/psf/requests) | `2.31.0` | `2.33.0` |\n| [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) | `1.27.1` | `1.133.0` |\n\nBumps the pip group with 1 update in the /composer/rest directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 8 updates in the /composer/workflows directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [apache-airflow](https://github.com/apache/airflow) | `2.9.2` | `3.2.0b1` |\n| [flask](https://github.com/pallets/flask) | `2.2.5` | `3.1.3` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `2.2.3` | `3.1.6` |\n| [black](https://github.com/psf/black) | `24.4.2` | `26.3.1` |\n| [cryptography](https://github.com/pyca/cryptography) | `41.0.7` | `46.0.6` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `4.25.3` | `5.29.6` |\n| [requests](https://github.com/psf/requests) | `2.31.0` | `2.33.0` |\n| [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) | `1.53.0` | `1.133.0` |\n\nBumps the pip group with 1 update in the /compute/auth directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 1 update in the /compute/client_library directory: [black](https://github.com/psf/black).\nBumps the pip group with 2 updates in the /compute/encryption directory: [cryptography](https://github.com/pyca/cryptography) and [requests](https://github.com/psf/requests).\nBumps the pip group with 1 update in the /compute/metadata directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 1 update in the /compute/oslogin directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 3 updates in the /dataflow/gemma directory: [protobuf](https://github.com/protocolbuffers/protobuf), [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) and [keras](https://github.com/keras-team/keras).\nBumps the pip group with 1 update in the /dataflow/gemma-flex-template directory: [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform).\nBumps the pip group with 3 updates in the /dataflow/run-inference directory: [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform), [torch](https://github.com/pytorch/pytorch) and [transformers](https://github.com/huggingface/transformers).\nBumps the pip group with 1 update in the /dataflow/run_template directory: [flask](https://github.com/pallets/flask).\nBumps the pip group with 2 updates in the /datastore/cloud-ndb directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 2 updates in the /dialogflow directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 2 updates in the /dialogflow-cx directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 2 updates in the /gemma2 directory: [protobuf](https://github.com/protocolbuffers/protobuf) and [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform).\nBumps the pip group with 4 updates in the /iap directory: [flask](https://github.com/pallets/flask), [werkzeug](https://github.com/pallets/werkzeug), [cryptography](https://github.com/pyca/cryptography) and [requests](https://github.com/psf/requests).\nBumps the pip group with 1 update in the /media_cdn directory: [cryptography](https://github.com/pyca/cryptography).\n\nUpdates `flask` from 1.1.2 to 3.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/releases\"\u003eflask's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.3\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.3 security fix release, which fixes a security issue but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.3/\"\u003ehttps://pypi.org/project/Flask/3.1.3/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-3\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-3\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys but not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. \u003ca href=\"https://github.com/pallets/flask/security/advisories/GHSA-68rp-wp8r-4726\"\u003eGHSA-68rp-wp8r-4726\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.2\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.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/Flask/3.1.2/\"\u003ehttps://pypi.org/project/Flask/3.1.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-2\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-2\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/38?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/38?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5774\"\u003e#5774\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state of \u003ccode\u003esession\u003c/code\u003e is correct. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5786\"\u003e#5786\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5776\"\u003e#5776\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.1\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.1 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.1/\"\u003ehttps://pypi.org/project/Flask/3.1.1/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/flask/milestone/36?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/36?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. GHSA-4grg-w6v8-c28g\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5645\"\u003e#5645\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loads the app and plugins first to make sure all commands are shown. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5673\"\u003e#5673\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMark sans-io base class as being able to handle views that return \u003ccode\u003eAsyncIterable\u003c/code\u003e. This is not accurate for Flask, but makes typing easier for Quart. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5659\"\u003e#5659\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.0\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecations, or introduce potentially breaking changes. We encourage everyone to upgrade, and to use a tool such as \u003ca href=\"https://pypi.org/project/pip-tools/\"\u003epip-tools\u003c/a\u003e to pin all dependencies and control upgrades. Test with warnings treated as errors to be able to adapt to deprecation warnings early.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.0/\"\u003ehttps://pypi.org/project/Flask/3.1.0/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-0\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-0\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/33?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/33?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5623\"\u003e#5623\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate minimum dependency versions to latest feature releases. Werkzeug \u0026gt;= 3.1, ItsDangerous \u0026gt;= 2.2, Blinker \u0026gt;= 1.9. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5624\"\u003e#5624\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5633\"\u003e#5633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProvide a configuration option to control automatic option responses. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5496\"\u003e#5496\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFlask.open_resource\u003c/code\u003e/\u003ccode\u003eopen_instance_resource\u003c/code\u003e and \u003ccode\u003eBlueprint.open_resource\u003c/code\u003e take an \u003ccode\u003eencoding\u003c/code\u003e parameter to use when opening in text mode. It defaults to \u003ccode\u003eutf-8\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5504\"\u003e#5504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.max_content_length\u003c/code\u003e can be customized per-request instead of only through the \u003ccode\u003eMAX_CONTENT_LENGTH\u003c/code\u003e config. Added \u003ccode\u003eMAX_FORM_MEMORY_SIZE\u003c/code\u003e and \u003ccode\u003eMAX_FORM_PARTS\u003c/code\u003e config. Added documentation about resource limits to the security page. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5625\"\u003e#5625\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for the \u003ccode\u003ePartitioned\u003c/code\u003e cookie attribute (CHIPS), with the \u003ccode\u003eSESSION_COOKIE_PARTITIONED\u003c/code\u003e config. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5472\"\u003e#5472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e-e path\u003c/code\u003e takes precedence over default \u003ccode\u003e.env\u003c/code\u003e and \u003ccode\u003e.flaskenv\u003c/code\u003e files. \u003ccode\u003eload_dotenv\u003c/code\u003e loads default files in addition to a path unless \u003ccode\u003eload_defaults=False\u003c/code\u003e is passed. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5628\"\u003e#5628\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport key rotation with the \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e config, a list of old secret keys that can still be used for unsigning. Extensions will need to add support. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5621\"\u003e#5621\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix how setting \u003ccode\u003ehost_matching=True\u003c/code\u003e or \u003ccode\u003esubdomain_matching=False\u003c/code\u003e interacts with \u003ccode\u003eSERVER_NAME\u003c/code\u003e. Setting \u003ccode\u003eSERVER_NAME\u003c/code\u003e no longer restricts requests to only that domain. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5553\"\u003e#5553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.trusted_hosts\u003c/code\u003e is checked during routing, and can be set through the \u003ccode\u003eTRUSTED_HOSTS\u003c/code\u003e config. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5636\"\u003e#5636\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.0.3\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/blob/main/CHANGES.rst\"\u003eflask's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.1.3\u003c/h2\u003e\n\u003cp\u003eReleased 2026-02-18\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys\nbut not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. :ghsa:\u003ccode\u003e68rp-wp8r-4726\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.2\u003c/h2\u003e\n\u003cp\u003eReleased 2025-08-19\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. :issue:\u003ccode\u003e5774\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state\nof \u003ccode\u003esession\u003c/code\u003e is correct. :issue:\u003ccode\u003e5786\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. :issue:\u003ccode\u003e5776\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-05-13\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via\n\u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. :ghsa:\u003ccode\u003e4grg-w6v8-c28g\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. :issue:\u003ccode\u003e5645\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loads the app and plugins first to make sure all commands\nare shown. :issue:\u003ccode\u003e5673\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eMark sans-io base class as being able to handle views that return\n\u003ccode\u003eAsyncIterable\u003c/code\u003e. This is not accurate for Flask, but makes typing easier\nfor Quart. :pr:\u003ccode\u003e5659\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.0\u003c/h2\u003e\n\u003cp\u003eReleased 2024-11-13\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. :pr:\u003ccode\u003e5623\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUpdate minimum dependency versions to latest feature releases.\nWerkzeug \u0026gt;= 3.1, ItsDangerous \u0026gt;= 2.2, Blinker \u0026gt;= 1.9. :pr:\u003ccode\u003e5624,5633\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eProvide a configuration option to control automatic option\nresponses. :pr:\u003ccode\u003e5496\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFlask.open_resource\u003c/code\u003e/\u003ccode\u003eopen_instance_resource\u003c/code\u003e and\n\u003ccode\u003eBlueprint.open_resource\u003c/code\u003e take an \u003ccode\u003eencoding\u003c/code\u003e parameter to use when\nopening in text mode. It defaults to \u003ccode\u003eutf-8\u003c/code\u003e. :issue:\u003ccode\u003e5504\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.max_content_length\u003c/code\u003e can be customized per-request instead of only\nthrough the \u003ccode\u003eMAX_CONTENT_LENGTH\u003c/code\u003e config. Added\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/22d924701a6ae2e4cd01e9a15bbaf3946094af65\"\u003e\u003ccode\u003e22d9247\u003c/code\u003e\u003c/a\u003e release version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/089cb86dd22bff589a4eafb7ab8e42dc357623b4\"\u003e\u003ccode\u003e089cb86\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/c17f379390731543eea33a570a47bd4ef76a54fa\"\u003e\u003ccode\u003ec17f379\u003c/code\u003e\u003c/a\u003e request context tracks session access\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/27be9338405382445a7cb01151e084559b98d602\"\u003e\u003ccode\u003e27be933\u003c/code\u003e\u003c/a\u003e start version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4e652d3f68b90d50aa2301d3b7e68c3fafd9251d\"\u003e\u003ccode\u003e4e652d3\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5903\"\u003e#5903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/3d03098a97ddc6a908aa4a50c2ef7381f8297d0a\"\u003e\u003ccode\u003e3d03098\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/407eb76b27884848383a37c7274654f0271e4bc4\"\u003e\u003ccode\u003e407eb76\u003c/code\u003e\u003c/a\u003e document using gevent for async (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5900\"\u003e#5900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/ac5664d2281533eacafd64f5cc7d5edcdaccab60\"\u003e\u003ccode\u003eac5664d\u003c/code\u003e\u003c/a\u003e document using gevent for async\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4f79d5b59a56bc4356a97f2e81a35f98cb18d7b3\"\u003e\u003ccode\u003e4f79d5b\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11 (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5865\"\u003e#5865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/fe3b215d3ade4db68262dae1a3cdc464a1fc524f\"\u003e\u003ccode\u003efe3b215\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/flask/compare/1.1.2...3.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `werkzeug` from 0.16.1 to 3.1.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/werkzeug/releases\"\u003ewerkzeug's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.6\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.6 security fix release, which fixes a security issue but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Werkzeug/3.1.6/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.6/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/page/changes/#version-3-1-6\"\u003ehttps://werkzeug.palletsprojects.com/page/changes/#version-3-1-6\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow special devices names in multi-segment paths. \u003ca href=\"https://github.com/pallets/werkzeug/security/advisories/GHSA-29vq-49wr-vm6x\"\u003eGHSA-29vq-49wr-vm6x\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.5\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.5 security fix release, which fixes security issues and 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/Werkzeug/3.1.5/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.5/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/page/changes/#version-3-1-5\"\u003ehttps://werkzeug.palletsprojects.com/page/changes/#version-3-1-5\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/werkzeug/milestone/43?closed=1\"\u003ehttps://github.com/pallets/werkzeug/milestone/43?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow more special device names, regardless of extension or surrounding spaces. \u003ca href=\"https://github.com/pallets/werkzeug/security/advisories/GHSA-87hc-h4r5-73f7\"\u003eGHSA-87hc-h4r5-73f7\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe multipart form parser handles a \u003ccode\u003e\\r\\n\u003c/code\u003e sequence at a chunk boundary. This fixes the previous attempt, which caused incorrect content lengths. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3065\"\u003e#3065\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3077\"\u003e#3077\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eAttributeError\u003c/code\u003e when initializing \u003ccode\u003eDebuggedApplication\u003c/code\u003e with \u003ccode\u003epin_security=False\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3075\"\u003e#3075\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.4\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.4 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/Werkzeug/3.1.4/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.4/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/page/changes/#version-3-1-4\"\u003ehttps://werkzeug.palletsprojects.com/page/changes/#version-3-1-4\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/werkzeug/milestone/42?closed=1\"\u003ehttps://github.com/pallets/werkzeug/milestone/42?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow special device names. This prevents reading from these when using \u003ccode\u003esend_from_directory\u003c/code\u003e. \u003ccode\u003esecure_filename\u003c/code\u003e already prevented writing to these. \u003ca href=\"https://github.com/pallets/werkzeug/security/advisories/GHSA-hgf8-39gv-g3f2\"\u003eghsa-hgf8-39gv-g3f2\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe debugger pin fails after 10 attempts instead of 11. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3020\"\u003e#3020\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe multipart form parser handles a \u003ccode\u003e\\r\\n\u003c/code\u003e sequence at a chunk boundary. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3065\"\u003e#3065\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove CPU usage during Watchdog reloader. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3054\"\u003e#3054\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.json\u003c/code\u003e annotation is more accurate. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3067\"\u003e#3067\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTraceback rendering handles when the line number is beyond the available source lines. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3044\"\u003e#3044\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eHTTPException.get_response\u003c/code\u003e annotation and doc better conveys the distinction between WSGI and sans-IO responses. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3056\"\u003e#3056\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.3\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.3 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes vs 3.1.0.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Werkzeug/3.1.3/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.3/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/en/stable/changes/#version-3-1-3\"\u003ehttps://werkzeug.palletsprojects.com/en/stable/changes/#version-3-1-3\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/werkzeug/milestone/41?closed=1\"\u003ehttps://github.com/pallets/werkzeug/milestone/41?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eInitial data passed to \u003ccode\u003eMultiDict\u003c/code\u003e and similar interfaces only accepts \u003ccode\u003elist\u003c/code\u003e, \u003ccode\u003etuple\u003c/code\u003e, or \u003ccode\u003eset\u003c/code\u003e when passing multiple values. It had been changed to accept any \u003ccode\u003eCollection\u003c/code\u003e, but this matched types that should be treated as single values, such as \u003ccode\u003ebytes\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/2994\"\u003e#2994\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen the \u003ccode\u003eHost\u003c/code\u003e header is not set and \u003ccode\u003eRequest.host\u003c/code\u003e falls back to the WSGI \u003ccode\u003eSERVER_NAME\u003c/code\u003e value, if that value is an IPv6 address it is wrapped in \u003ccode\u003e[]\u003c/code\u003e to match the \u003ccode\u003eHost\u003c/code\u003e header. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/2993\"\u003e#2993\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.2\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.2 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes vs 3.1.0.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Werkzeug/3.1.2/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/en/stable/changes/#version-3-1-2\"\u003ehttps://werkzeug.palletsprojects.com/en/stable/changes/#version-3-1-2\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/werkzeug/blob/main/CHANGES.rst\"\u003ewerkzeug's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.1.6\u003c/h2\u003e\n\u003cp\u003eReleased 2026-02-19\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow special devices names in\nmulti-segment paths. :ghsa:\u003ccode\u003e29vq-49wr-vm6x\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eResponse.make_conditional\u003c/code\u003e sets the \u003ccode\u003eAccept-Ranges\u003c/code\u003e header even if it\nis not a satisfiable range request. :issue:\u003ccode\u003e3108\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.5\u003c/h2\u003e\n\u003cp\u003eReleased 2026-01-08\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow more special device names, regardless\nof extension or surrounding spaces. :ghsa:\u003ccode\u003e87hc-h4r5-73f7\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe multipart form parser handles a \u003ccode\u003e\\r\\n\u003c/code\u003e sequence at a chunk boundary.\nThis fixes the previous attempt, which caused incorrect content lengths.\n:issue:\u003ccode\u003e3065\u003c/code\u003e :issue:\u003ccode\u003e3077\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eAttributeError\u003c/code\u003e when initializing \u003ccode\u003eDebuggedApplication\u003c/code\u003e with\n\u003ccode\u003epin_security=False\u003c/code\u003e. :issue:\u003ccode\u003e3075\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.4\u003c/h2\u003e\n\u003cp\u003eReleased 2025-11-28\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow special device names. This prevents\nreading from these when using \u003ccode\u003esend_from_directory\u003c/code\u003e. \u003ccode\u003esecure_filename\u003c/code\u003e\nalready prevented writing to these. :ghsa:\u003ccode\u003ehgf8-39gv-g3f2\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe debugger pin fails after 10 attempts instead of 11. :pr:\u003ccode\u003e3020\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe multipart form parser handles a \u003ccode\u003e\\r\\n\u003c/code\u003e sequence at a chunk boundary.\n:issue:\u003ccode\u003e3065\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eImprove CPU usage during Watchdog reloader. :issue:\u003ccode\u003e3054\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.json\u003c/code\u003e annotation is more accurate. :issue:\u003ccode\u003e3067\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eTraceback rendering handles when the line number is beyond the available\nsource lines. :issue:\u003ccode\u003e3044\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eHTTPException.get_response\u003c/code\u003e annotation and doc better conveys the\ndistinction between WSGI and sans-IO responses. :issue:\u003ccode\u003e3056\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.3\u003c/h2\u003e\n\u003cp\u003eReleased 2024-11-08\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eInitial data passed to \u003ccode\u003eMultiDict\u003c/code\u003e and similar interfaces only accepts\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/werkzeug/commit/04da1b5221b7a7b57e82246e4b5741d37a6b2e56\"\u003e\u003ccode\u003e04da1b5\u003c/code\u003e\u003c/a\u003e release version 3.1.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/f407712fdc60a09c2b3f4fe7db557703e5d9338d\"\u003e\u003ccode\u003ef407712\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/f54fe98026253e70fbbcd35a6b52fb67cfff1c03\"\u003e\u003ccode\u003ef54fe98\u003c/code\u003e\u003c/a\u003e safe_join prevents Windows special device names in multi-segment paths\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/d005985ef69ffe3275eda8fb6fb25e074dbe871b\"\u003e\u003ccode\u003ed005985\u003c/code\u003e\u003c/a\u003e start version 3.1.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/8565c2cbd6681ae8463e77d4fc0795324a7fdae7\"\u003e\u003ccode\u003e8565c2c\u003c/code\u003e\u003c/a\u003e document rule priority (\u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3102\"\u003e#3102\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/3febc7e90072bffe04c27e6b7478dfc4f88930df\"\u003e\u003ccode\u003e3febc7e\u003c/code\u003e\u003c/a\u003e document rule priority\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/2525b827646c10ab7adb334664e6a4af1b769181\"\u003e\u003ccode\u003e2525b82\u003c/code\u003e\u003c/a\u003e remove state machine docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/4abfbd553cdeb6d4e6fa693340d52b13c884079f\"\u003e\u003ccode\u003e4abfbd5\u003c/code\u003e\u003c/a\u003e rewrite build docstring (\u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3097\"\u003e#3097\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/161c18b2a8800ae6ef377fb3cbdb933a878fea67\"\u003e\u003ccode\u003e161c18b\u003c/code\u003e\u003c/a\u003e rewrite build docstring\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/86e11c29e44726dae524cd9db11549b3b1ad681d\"\u003e\u003ccode\u003e86e11c2\u003c/code\u003e\u003c/a\u003e release version 3.1.5 (\u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3085\"\u003e#3085\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/werkzeug/compare/0.16.1...3.1.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cryptography` from 3.2.1 to 46.0.6\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst\"\u003ecryptography's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e46.0.6 - 2026-03-25\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* **SECURITY ISSUE**: Fixed a bug where name constraints were not applied\n  to peer names during verification when the leaf certificate contains a\n  wildcard DNS SAN. Ordinary X.509 topologies are not affected by this bug,\n  including those used by the Web PKI. Credit to **Oleh Konko (1seal)** for\n  reporting the issue. **CVE-2026-34073**\n\u003cp\u003e.. _v46-0-5:\u003c/p\u003e\n\u003cp\u003e46.0.5 - 2026-02-10\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAn attacker could create a malicious public key that reveals portions of your\nprivate key when using certain uncommon elliptic curves (binary curves).\nThis version now includes additional security checks to prevent this attack.\nThis issue only affects binary elliptic curves, which are rarely used in\nreal-world applications. Credit to \u003cstrong\u003eXlabAI Team of Tencent Xuanwu Lab and\nAtuin Automated Vulnerability Discovery Engine\u003c/strong\u003e for reporting the issue.\n\u003cstrong\u003eCVE-2026-26007\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eSupport for \u003ccode\u003eSECT*\u003c/code\u003e binary elliptic curves is deprecated and will be\nremoved in the next release.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. v46-0-4:\u003c/p\u003e\n\u003cp\u003e46.0.4 - 2026-01-27\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* `Dropped support for win_arm64 wheels`_.\n* Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.5.\n\u003cp\u003e.. _v46-0-3:\u003c/p\u003e\n\u003cp\u003e46.0.3 - 2025-10-15\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed compilation when using LibreSSL 4.2.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _v46-0-2:\u003c/p\u003e\n\u003cp\u003e46.0.2 - 2025-09-30\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.4.\n\u003cp\u003e.. _v46-0-1:\u003c/p\u003e\n\u003cp\u003e46.0.1 - 2025-09-16\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/91d728897bdad30cd5c79a2b23e207f1f050d587\"\u003e\u003ccode\u003e91d7288\u003c/code\u003e\u003c/a\u003e Cherry-pick \u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14542\"\u003e#14542\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14543\"\u003e#14543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/06e120e682cb200e3f7050c02f0bcdac90c4c6ad\"\u003e\u003ccode\u003e06e120e\u003c/code\u003e\u003c/a\u003e bump version for 46.0.5 release (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14289\"\u003e#14289\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/0eebb9dbb6343d9bc1d91e5a2482ed4e054a6d8c\"\u003e\u003ccode\u003e0eebb9d\u003c/code\u003e\u003c/a\u003e EC check key on cofactor \u0026gt; 1 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14287\"\u003e#14287\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/bedf6e186b814f69a3f54f51252c23a71d44ed2e\"\u003e\u003ccode\u003ebedf6e1\u003c/code\u003e\u003c/a\u003e fix openssl version on 46 branch (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14220\"\u003e#14220\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/e6f44fc8e6391f05d719fb9d369692325b87a471\"\u003e\u003ccode\u003ee6f44fc\u003c/code\u003e\u003c/a\u003e bump for 46.0.4 and drop win arm64 due to CI issues (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14217\"\u003e#14217\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/c0af4dd7b75921bbe9f1d41a03dbd4b64a9e3403\"\u003e\u003ccode\u003ec0af4dd\u003c/code\u003e\u003c/a\u003e release 46.0.3 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13681\"\u003e#13681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/99efe5ad150a56efadafacaffd0e3ee319373904\"\u003e\u003ccode\u003e99efe5a\u003c/code\u003e\u003c/a\u003e bump version for 46.0.2 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13531\"\u003e#13531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/e735cfc27502320101c130335c556394a125ba52\"\u003e\u003ccode\u003ee735cfc\u003c/code\u003e\u003c/a\u003e release 46.0.1 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13450\"\u003e#13450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/4e457ffba43a6d87efc63c33041e2081438dd8a4\"\u003e\u003ccode\u003e4e457ff\u003c/code\u003e\u003c/a\u003e Explicitly specify python in mac uv build invocation (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13447\"\u003e#13447\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/2726efdb6d67f1c90cf9c6062d9fe051965586f8\"\u003e\u003ccode\u003e2726efd\u003c/code\u003e\u003c/a\u003e Depend on CFFI 2.0.0 or newer on Python \u0026gt; 3.8 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13448\"\u003e#13448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyca/cryptography/compare/3.2.1...46.0.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `protobuf` from 3.14.0 to 5.29.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/protocolbuffers/protobuf/releases\"\u003eprotobuf's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eProtocol Buffers v34.0-rc1\u003c/h2\u003e\n\u003ch1\u003eAnnouncements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eThis version includes breaking changes to: C++, Objective-C, PHP, Python.\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e[Bazel] Remove deprecated ProtoInfo.transitive_imports. Use equivalent transitive_sources instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/0a5c2f6b633c1e5259f566cb42d30fe347b8aadb\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/0a5c2f6b633c1e5259f566cb42d30fe347b8aadb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Make generator headers private (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/3a2af3510f0d454dbe3e4dc281674b61c4d20b9e\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/3a2af3510f0d454dbe3e4dc281674b61c4d20b9e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Add a debug check that the target of CopyFrom is not a descendant of the source. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/7a7589823d2cfaaf7994b050e98d5d553bc9b1c1\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/7a7589823d2cfaaf7994b050e98d5d553bc9b1c1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Add [[nodiscard]] to many APIs. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/a70115f33f9af2c4b2202c800b84837e7fe0d738\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/a70115f33f9af2c4b2202c800b84837e7fe0d738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Make the arena-enabled constructors of \u003ccode\u003eRepeatedField\u003c/code\u003e, \u003ccode\u003eRepeatedPtrField\u003c/code\u003e, and \u003ccode\u003eMap\u003c/code\u003e private. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/ef890c3d0c79398c70e047fe5dd893f460ba2336\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/ef890c3d0c79398c70e047fe5dd893f460ba2336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Remove deprecated FieldDescriptor::label() in OSS. Use is_repeated() or is_required() instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/b76faa921fdd244f374c7be0bddd4050fc42c292\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/b76faa921fdd244f374c7be0bddd4050fc42c292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Removes proto2::util::MessageDifferencer::AddIgnoreCriteria that takes a raw pointer as an argument in favor of the overload that takes a unique_ptr. Remove macro PROTOBUF_FUTURE_REMOVE_ADD_IGNORE_CRITERIA (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/b115358c64127896fed88b8b5ef5d91d86d8cbae\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/b115358c64127896fed88b8b5ef5d91d86d8cbae\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Remove deprecated FieldDescriptor::has_optional_keyword() in OSS. Use is_repeated() or has_presence() instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/68346ec9348e932664e58c3ecdcd1478f95233a8\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/68346ec9348e932664e58c3ecdcd1478f95233a8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Remove AddUnusedImportTrackFile() and ClearUnusedImportTrackFiles(). Remove PROTOBUF_FUTURE_RENAME_ADD_UNUSED_IMPORT (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/837a2cd1d6c75402b2503ffe7cd8aeaf25868536\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/837a2cd1d6c75402b2503ffe7cd8aeaf25868536\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Remove deprecated FieldDescriptor::is_optional() in OSS. Use (!is_required() \u0026amp;\u0026amp; !is_repeated()) instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/9dbc5d479a8e453921485d8d3de47fb3c005f1af\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/9dbc5d479a8e453921485d8d3de47fb3c005f1af\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Remove deprecated UseDeprecatedLegacyJsonFieldConflicts() (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/c301c2ca286327a21c50c0c4cd877afc9c655b00\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/c301c2ca286327a21c50c0c4cd877afc9c655b00\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] All entity names have length limit (2afb0dc)\u003c/li\u003e\n\u003cli\u003e[ObjC] Remove \u003ccode\u003egenerate_minimal_imports\u003c/code\u003e generation option warning (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/45b1297fdaad5a9436d0e207422168c38dc45ac4\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/45b1297fdaad5a9436d0e207422168c38dc45ac4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[ObjC] Fix nullability annotations on some \u003ccode\u003eGPB*Dictionary\u003c/code\u003e types. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/ea67d6d26a48478a567c404679e3bb99cf230d50\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/ea67d6d26a48478a567c404679e3bb99cf230d50\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[ObjC] Remove \u003ccode\u003e-[GPBFieldDescriptor optional]\u003c/code\u003e (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/3414dc151eb4dcbdb2ca952e2589993bf7af75c4\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/3414dc151eb4dcbdb2ca952e2589993bf7af75c4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Other] Remove deprecated flag for enabling MSVC support (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/97c979be6e0907e1051bee62584dac4594e73fa7\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/97c979be6e0907e1051bee62584dac4594e73fa7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PHP] Remove deprecated PHP APIs (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/9c45014099a4f7004fab6dd1278de2f4f2a393c5\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/9c45014099a4f7004fab6dd1278de2f4f2a393c5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PHP] Remove deprecated PHP APIs FieldDescriptor getLabel, use IsRepeated or isRequired instead. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/42081219920c6fad17ba6ddd1e28d111bcfb3345\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/42081219920c6fad17ba6ddd1e28d111bcfb3345\u003c/a\u003e, \u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/cd76e675b14d00dda5623b30835d2bc7105fccc6\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/cd76e675b14d00dda5623b30835d2bc7105fccc6\u003c/a\u003e, \u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/42081219920c6fad17ba6ddd1e28d111bcfb3345\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/42081219920c6fad17ba6ddd1e28d111bcfb3345\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PHP]  Add PHP typehints for setters and remove redundant GPBUtil checks (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/pull/25296\"\u003eprotocolbuffers/protobuf#25296\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/aee03b78929c02461a5f9d8e136a2a016359b0cd\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/aee03b78929c02461a5f9d8e136a2a016359b0cd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PHP]  support default values for editions/proto2 (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/pull/25161\"\u003eprotocolbuffers/protobuf#25161\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/b01099d56350551bae3da88b97bf3027274c9f17\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/b01099d56350551bae3da88b97bf3027274c9f17\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Raise errors in OSS when assign bool to int/enum field in Python Proto. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/5b116fe2f14f49dd0cc3b76089983717f211025c\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/5b116fe2f14f49dd0cc3b76089983717f211025c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Remove float_format/double_format from python proto text_format (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/e4854a186e0bfa867d5bfa5cd850608a948fd488\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/e4854a186e0bfa867d5bfa5cd850608a948fd488\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Raise TypeError when convert non-timedelta to Duration, or convert non-datetime to Timestamp in python proto. (Original code may raise ArributeError) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/00aaca1b4d98954bc2933d7c8a5379ba6088124c\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/00aaca1b4d98954bc2933d7c8a5379ba6088124c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Remove float_precision from python proto json_format (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/f027f1fcd52b9d080b7ee79f4024f53cf54e0dc5\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/f027f1fcd52b9d080b7ee79f4024f53cf54e0dc5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Remove deprecated FieldDescriptor::label() in OSS. Use is_repeated() or is_required() instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/b76faa921fdd244f374c7be0bddd4050fc42c292\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/b76faa921fdd244f374c7be0bddd4050fc42c292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Remove deprecated FieldDescriptor.label (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/0a8ff55518ea5874478ad5b26515b31d186045a9\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/0a8ff55518ea5874478ad5b26515b31d186045a9\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Remove deprecated UseDeprecatedLegacyJsonFieldConflicts() (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/c301c2ca286327a21c50c0c4cd877afc9c655b00\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/c301c2ca286327a21c50c0c4cd877afc9c655b00\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://protobuf.dev/news/\"\u003eProtobuf News\u003c/a\u003e may include additional announcements or pre-announcements for upcoming changes.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://protobuf.dev/support/migration/\"\u003eMigration Guide\u003c/a\u003e may include additional guidance for breaking changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eBazel\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix: cc_toolchain should prefer protoc when prebuilt flag is flipped. (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/issues/25168\"\u003e#25168\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/8c857c3a1c6a106b0a096f1c9fa504bfaca035a9\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/8c857c3a1c6a106b0a096f1c9fa504bfaca035a9\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBreaking change: Remove deprecated ProtoInfo.transitive_imports. Use equivalent transitive_sources instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/0a5c2f6b633c1e5259f566cb42d30fe347b8aadb\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/0a5c2f6b633c1e5259f566cb42d30fe347b8aadb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFeat(bazel): wire up prebuilt protoc toolchain (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/issues/24115\"\u003e#24115\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/cc23698b486e690ea2eb873cc7596a87c74a3ba6\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/cc23698b486e690ea2eb873cc7596a87c74a3ba6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMigrate \u003ccode\u003eproto_descriptor_set\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/issues/23369\"\u003e#23369\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/8d4dfdd39a7a242a9ed631a6ab2192c57dd9b9c8\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/8d4dfdd39a7a242a9ed631a6ab2192c57dd9b9c8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eCompiler\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eRuby codegen: support generation of rbs files (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/issues/15633\"\u003e#15633\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/6ebdf851ba78728f0aa145d38454ed9a316fb08d\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/6ebdf851ba78728f0aa145d38454ed9a316fb08d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid collision name problems between a message named \u003ccode\u003eXyz\u003c/code\u003e and a direct sibling enum named \u003ccode\u003eXyzView\u003c/code\u003e (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/eba53e8f172b273d679759a72ce4250131ee3df1\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/eba53e8f172b273d679759a72ce4250131ee3df1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGeneralizing and implementing ValidateFeatureSupport for both Options and Features during proto parsing (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/ed3c57114d8e2b47cca7697ddaa50c1b3762a6b0\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/ed3c57114d8e2b47cca7697ddaa50c1b3762a6b0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a bug with custom features outside of the \u003ccode\u003epb\u003c/code\u003e package. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/872d3ce7a4da00d7dcec33ced20cfe45235935e8\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/872d3ce7a4da00d7dcec33ced20cfe45235935e8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix import option handling when include_imports isn't set. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/9ef9e80afd9bc8379d578fe67e5ab0738728c04e\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/9ef9e80afd9bc8379d578fe67e5ab0738728c04e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a bug in STRICT check of namespaced enums to properly check for 'reserved 1 to max' (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/1229d4adba24c0952ab85ce96bc7b7f8a1fe6d0f\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/1229d4adba24c0952ab85ce96bc7b7f8a1fe6d0f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent accidental stripping of \u003ccode\u003edebug_redact\u003c/code\u003e options via import option. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/f58b098bffa7ca4045ef7773b09151a6af5d0c28\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/f58b098bffa7ca4045ef7773b09151a6af5d0c28\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eC++\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd EnumerateEnumValues function. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/397d5d99db274b379d1384814074bf7df39d32f7\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/397d5d99db274b379d1384814074bf7df39d32f7\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\u003eSee full diff in \u003ca href=\"https://github.com/protocolbuffers/protobuf/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `apache-airflow` from 2.6.3 to 3.2.0b1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/airflow/releases\"\u003eapache-airflow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eApache Airflow 3.1.8\u003c/h2\u003e\n\u003cp\u003e:package: PyPI: \u003ca href=\"https://pypi.org/project/apache-airflow/3.1.8/\"\u003ehttps://pypi.org/project/apache-airflow/3.1.8/\u003c/a\u003e\n:books: Docs: \u003ca href=\"https://airflow.apache.org/docs/apache-airflow/3.1.8/\"\u003ehttps://airflow.apache.org/docs/apache-airflow/3.1.8/\u003c/a\u003e\n:hammer_and_wrench: Release Notes: \u003ca href=\"https://airflow.apache.org/docs/apache-airflow/3.1.8/release_notes.html\"\u003ehttps://airflow.apache.org/docs/apache-airflow/3.1.8/release_notes.html\u003c/a\u003e\n:whale: Docker Image: \u0026quot;docker pull apache/airflow:3.1.8\u0026quot;\n:busstop: Constraints: \u003ca href=\"https://github.com/apache/airflow/tree/constraints-3.1.8\"\u003ehttps://github.com/apache/airflow/tree/constraints-3.1.8\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eSignificant Changes\u003c/h2\u003e\n\u003ch3\u003eBackfill permissions are now handled via \u003ccode\u003eDagAccessEntity.Run\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61456\"\u003e#61456\u003c/a\u003e)\u003c/h3\u003e\n\u003cp\u003e\u003ccode\u003eis_authorized_backfill\u003c/code\u003e of the \u003ccode\u003eBaseAuthManager\u003c/code\u003e interface has been removed. Core will no longer call this method and their\nprovider counterpart implementation will be marked as deprecated.\nPermissions for backfill operations are now checked against the \u003ccode\u003eDagAccessEntity.Run\u003c/code\u003e permission using the existing\n\u003ccode\u003erequires_access_dag\u003c/code\u003e decorator. In other words, if a user has permission to run a DAG, they can perform backfill operations on it.\u003c/p\u003e\n\u003cp\u003ePlease update your security policies to ensure that users who need to perform backfill operations have the appropriate \u003ccode\u003eDagAccessEntity.Run\u003c/code\u003e permissions. (Users\nhaving the Backfill permissions without having the DagRun ones will no longer be able to perform backfill operations without any update)\u003c/p\u003e\n\u003ch3\u003eElasticsearch is now fully compatible with remote logging along (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62940\"\u003e#62940\u003c/a\u003e)\u003c/h3\u003e\n\u003cp\u003eElasticsearch is now fully compatible with remote logging along side with \u003ccode\u003eapache-airflow-providers-elasticsearch\u0026gt;=6.5.0\u003c/code\u003e. Please review elasticsearch provider release notes for more information \u003ca href=\"https://airflow.apache.org/docs/apache-airflow-providers-elasticsearch/6.5.0/changelog.html\"\u003ehttps://airflow.apache.org/docs/apache-airflow-providers-elasticsearch/6.5.0/changelog.html\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62121\"\u003e#62121\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62940\"\u003e#62940\u003c/a\u003e)\u003c/p\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix SQLite migration disable \u003ccode\u003edisable_sqlite_fkeys\u003c/code\u003e in revision \u003ccode\u003e509b94a1042d\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/63256\"\u003e#63256\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/63272\"\u003e#63272\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: 404 queued asset events from API server logs (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62934\"\u003e#62934\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62976\"\u003e#62976\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Always include kid in JWT header for symmetric key tokens (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62883\"\u003e#62883\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62943\"\u003e#62943\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Scope session token in cookie to base_url  (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62771\"\u003e#62771\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62851\"\u003e#62851\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: UI of Scope session token in cookie to base_url (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62771\"\u003e#62771\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62859\"\u003e#62859\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: UI tasks log missing in UP_FOR_RETRY and UP_FOR_RESCHEDULE states (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54547\"\u003e#54547\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62862\"\u003e#62862\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Backfill permissions (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62856\"\u003e#62856\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62873\"\u003e#62873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Use \u003ccode\u003euseAssetServiceGetDagAssetQueuedEvents\u003c/code\u003e to get the correct number of ADRQs (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62868\"\u003e#62868\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62902\"\u003e#62902\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Adds task instance validation for HITL (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62886\"\u003e#62886\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62909\"\u003e#62909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Restore task_instance_history sequence on downgrade (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62759\"\u003e#62759\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix broken \u003ccode\u003edag_processing.total_parse_time\u003c/code\u003e metric (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62128\"\u003e#62128\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62764\"\u003e#62764\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Trigger UI form rendering for null enum values (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62060\"\u003e#62060\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62767\"\u003e#62767\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003etimer.duration\u003c/code\u003e unit labels in logs (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61824\"\u003e#61824\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62757\"\u003e#62757\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix XCom migration failing for NaN/Infinity float values (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62686\"\u003e#62686\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62760\"\u003e#62760\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix SQL not rendered in Rendered Templates view (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60739\"\u003e#60739\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62348\"\u003e#62348\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix missing DAG read permission checks on dependencies endpoint (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62046\"\u003e#62046\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62586\"\u003e#62586\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003edag_bundle.signed_url_template\u003c/code\u003e from \u003ccode\u003evarchar(200)\u003c/code\u003e to \u003ccode\u003etext\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61041\"\u003e#61041\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62568\"\u003e#62568\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix WASB remote logging base path handling (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/58946\"\u003e#58946\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61013\"\u003e#61013\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62456\"\u003e#62456\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle non-dictionary json payload during logging to avoid internal server error. (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62355\"\u003e#62355\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62367\"\u003e#62367\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix grid view crash when task converted to TaskGroup (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61208\"\u003e#61208\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61279\"\u003e#61279\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62181\"\u003e#62181\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix running task duration showing as null in UI (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61898\"\u003e#61898\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62136\"\u003e#62136\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix deferrable sensors not respecting soft_fail on timeout (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61132\"\u003e#61132\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61421\"\u003e#61421\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix task failure details being obscured by finalization errors (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62070\"\u003e#62070\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62113\"\u003e#62113\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd missing ti.start and ti.finish metrics in Airflow 3 (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62019\"\u003e#62019\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62110\"\u003e#62110\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix DepContext mutation leak and restore reschedule-mode guard (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62089\"\u003e#62089\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix scheduler heartbeat misses caused by slow reschedule dependency check (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61983\"\u003e#61983\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62068\"\u003e#62068\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFlush in-memory OTEL metrics at process shutdown (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61808\"\u003e#61808\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61869\"\u003e#61869\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/apache/airflow/blob/main/docker-stack-docs/changelog.rst\"\u003eapache-airflow's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e.. Licensed to the Apache Software Foundation (ASF) under one\nor more contributor license agreements.  See the NOTICE file\ndistributed with this work for additional information\nregarding copyright ownership.  The ASF licenses this file\nto you under the Apache License, Version 2.0 (the\n\u0026quot;License\u0026quot;); you may not use this file except in compliance\nwith the License.  You may obtain a copy of the License at\u003c/p\u003e\n\u003cp\u003e..   \u003ca href=\"http://www.apache.org/licenses/LICENSE-2.0\"\u003ehttp://www.apache.org/licenses/LICENSE-2.0\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e.. Unless required by applicable law or agreed to in writing,\nsoftware distributed under the License is distributed on an\n\u0026quot;AS IS\u0026quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, either express or implied.  See the License for the\nspecific language governing permissions and limitations\nunder the License.\u003c/p\u003e\n\u003ch1\u003eDockerfile Changelog\u003c/h1\u003e\n\u003cp\u003eThe \u003ccode\u003eDockerfile\u003c/code\u003e does not strictly follow the \u003ccode\u003eSemVer \u0026lt;https://semver.org/\u0026gt;\u003c/code\u003e_ approach of\nApache Airflow when it comes to features and backwards compatibility. While Airflow code strictly\nfollows it, the \u003ccode\u003eDockerfile\u003c/code\u003e is really a way to give users a conveniently packaged Airflow\nusing standard container approach, so occasionally there are some changes in the building process\nor in the entrypoint of the image that require slight adaptation of how it is used or built.\u003c/p\u003e\n\u003cp\u003eThe Changelog below describes the changes introduced in each version of the docker images released by\nthe Airflow team.\u003c/p\u003e\n\u003cp\u003e:note: The Changelog below concerns only the convenience production images released at\n\u003ccode\u003eAirflow DockerHub \u0026lt;https://hub.docker.com/r/apache/airflow\u0026gt;\u003c/code\u003e_ . The images that are released\nthere are usually built using the \u003ccode\u003eDockerfile\u003c/code\u003e released together with Airflow. However, you are\nfree to take latest released \u003ccode\u003eDockerfile\u003c/code\u003e from Airflow and use it to build an image for\nany Airflow version from the \u003ccode\u003eAirflow 2\u003c/code\u003e line. There is no guarantee that it will work, but if it does,\nthen you can use latest features from that image to build images for previous Airflow versions.\u003c/p\u003e\n\u003cp\u003eAirflow 3.1.4\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\nIn Airflow 3.1.4, the images are build without removing of .pyc and .pyo files when Python is built.\nThis increases the size of the image slightly (\u0026lt;0.5%), but improves performance of Python in the container\nbecause Python does not need to recompile the files on the first run but more importantly, if you use\n``exec`` to run Health Checks, removed .pyc files caused a small but ever growing memory leak in the Unix\nkernel connected to negative ``dentries`` created when .pyc files were attempted to be compiled and failed.\nThis over time could lead to out-of-memory issues on the host running the container.\n\u003cp\u003eMore information about \u003ccode\u003edentries\u003c/code\u003e can be found in \u003ccode\u003ethis article \u0026amp;lt;https://lwn.net/Articles/814535/\u0026amp;gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003cp\u003eAirflow 3.1.0\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/7989f25ab78b7561102926b4867966271ef7e42a\"\u003e\u003ccode\u003e7989f25\u003c/code\u003e\u003c/a\u003e update release notes for 3.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/346f3329ec556755a14c0acf1d57cd172d4b3b6b\"\u003e\u003ccode\u003e346f332\u003c/code\u003e\u003c/a\u003e Add 3.2.0 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/6661a58f60e0f9f9b1fff1132b2bd257b146fede\"\u003e\u003ccode\u003e6661a58\u003c/code\u003e\u003c/a\u003e Update version to 3.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/0a82c312ed98ec38c23301a856154212dbbda8ef\"\u003e\u003ccode\u003e0a82c31\u003c/code\u003e\u003c/a\u003e updated versions in README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/21f5a375352e3b1e7295179ae97c7f7de5c99b7e\"\u003e\u003ccode\u003e21f5a37\u003c/code\u003e\u003c/a\u003e Pin Task-SDK for Airflow meta package\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/4c87c4cde01eae483d40f87ee9daa037426d00a7\"\u003e\u003ccode\u003e4c87c4c\u003c/code\u003e\u003c/a\u003e Update default branches for 3-2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/d42623e2b461fa362f2a5f7e6f2ca9a028d9e4b9\"\u003e\u003ccode\u003ed42623e\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eObjectStoragePath\u003c/code\u003e to exclude \u003ccode\u003econn_id\u003c/code\u003e from storage options passed to f...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/77c38f357c3ff7af50ceda862f837dab7a93f359\"\u003e\u003ccode\u003e77c38f3\u003c/code\u003e\u003c/a\u003e docs(asset-partition): add example Dag (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62491\"\u003e#62491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/05ea74a9429156400ca89ca913c5d838e568ef3a\"\u003e\u003ccode\u003e05ea74a\u003c/code\u003e\u003c/a\u003e Prepare provider's documentation 2026-03-03 (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62752\"\u003e#62752\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/1199dc5305ea1630b0e1f7681bdbc4daff28440b\"\u003e\u003ccode\u003e1199dc5\u003c/code\u003e\u003c/a\u003e Consolidate \u003ccode\u003eSkipMixin\u003c/code\u003e imports through \u003ccode\u003ecommon-compat\u003c/code\u003e layer (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62776\"\u003e#62776\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/airflow/compare/2.6.3...3.2.0b1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `flask` from 2.2.5 to 3.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/releases\"\u003eflask's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.3\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.3 security fix release, which fixes a security issue but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.3/\"\u003ehttps://pypi.org/project/Flask/3.1.3/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-3\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-3\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys but not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. \u003ca href=\"https://github.com/pallets/flask/security/advisories/GHSA-68rp-wp8r-4726\"\u003eGHSA-68rp-wp8r-4726\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.2\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.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/Flask/3.1.2/\"\u003ehttps://pypi.org/project/Flask/3.1.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-2\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-2\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/38?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/38?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5774\"\u003e#5774\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state of \u003ccode\u003esession\u003c/code\u003e is correct. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5786\"\u003e#5786\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5776\"\u003e#5776\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.1\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.1 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.1/\"\u003ehttps://pypi.org/project/Flask/3.1.1/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/flask/milestone/36?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/36?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. GHSA-4grg-w6v8-c28g\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5645\"\u003e#5645\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loads the app and plugins first to make sure all commands are shown. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5673\"\u003e#5673\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMark sans-io base class as being able to handle views that return \u003ccode\u003eAsyncIterable\u003c/code\u003e. This is not accurate for Flask, but makes typing easier for Quart. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5659\"\u003e#5659\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.0\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecations, or introduce potentially breaking changes. We encourage everyone to upgrade, and to use a tool such as \u003ca href=\"https://pypi.org/project/pip-tools/\"\u003epip-tools\u003c/a\u003e to pin all dependencies and control upgrades. Test with warnings treated as errors to be able to adapt to deprecation warnings early.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.0/\"\u003ehttps://pypi.org/project/Flask/3.1.0/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-0\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-0\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/33?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/33?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5623\"\u003e#5623\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate minimum dependency versions to latest feature releases. Werkzeug \u0026gt;= 3.1, ItsDangerous \u0026gt;= 2.2, Blinker \u0026gt;= 1.9. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5624\"\u003e#5624\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5633\"\u003e#5633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProvide a configuration option to control automatic option responses. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5496\"\u003e#5496\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFlask.open_resource\u003c/code\u003e/\u003ccode\u003eopen_instance_resource\u003c/code\u003e and \u003ccode\u003eBlueprint.open_resource\u003c/code\u003e take an \u003ccode\u003eencoding\u003c/code\u003e parameter to use when opening in text mode. It defaults to \u003ccode\u003eutf-8\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5504\"\u003e#5504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.max_content_length\u003c/code\u003e can be customized per-request instead of only through the \u003ccode\u003eMAX_CONTENT_LENGTH\u003c/code\u003e config. Added \u003ccode\u003eMAX_FORM_MEMORY_SIZE\u003c/code\u003e and \u003ccode\u003eMAX_FORM_PARTS\u003c/code\u003e config. Added documentation about resource limits to the security page. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5625\"\u003e#5625\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for the \u003ccode\u003ePartitioned\u003c/code\u003e cookie attribute (CHIPS), with the \u003ccode\u003eSESSION_COOKIE_PARTITIONED\u003c/code\u003e config. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5472\"\u003e#5472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e-e path\u003c/code\u003e takes precedence over default \u003ccode\u003e.env\u003c/code\u003e and \u003ccode\u003e.flaskenv\u003c/code\u003e files. \u003ccode\u003eload_dotenv\u003c/code\u003e loads default files in addition to a path unless \u003ccode\u003eload_defaults=False\u003c/code\u003e is passed. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5628\"\u003e#5628\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport key rotation with the \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e config, a list of old secret keys that can still be used for unsigning. Extensions will need to add support. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5621\"\u003e#5621\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix how setting \u003ccode\u003ehost_matching=True\u003c/code\u003e or \u003ccode\u003esubdomain_matching=False\u003c/code\u003e interacts with \u003ccode\u003eSERVER_NAME\u003c/code\u003e. Setting \u003ccode\u003eSERVER_NAME\u003c/code\u003e no longer restricts requests to only that domain. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5553\"\u003e#5553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.trusted_hosts\u003c/code\u003e is checked during routing, and can be set through the \u003ccode\u003eTRUSTED_HOSTS\u003c/code\u003e config. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5636\"\u003e#5636\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.0.3\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/blob/main/CHANGES.rst\"\u003eflask's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.1.3\u003c/h2\u003e\n\u003cp\u003eReleased 2026-02-18\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys\nbut not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. :ghsa:\u003ccode\u003e68rp-wp8r-4726\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.2\u003c/h2\u003e\n\u003cp\u003eReleased 2025-08-19\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. :issue:\u003ccode\u003e5774\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state\nof \u003ccode\u003esession\u003c/code\u003e is correct. :issue:\u003ccode\u003e5786\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. :issue:\u003ccode\u003e5776\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-05-13\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via\n\u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/...\n\n_Description has been truncated_","html_url":"https://github.com/CVSz/python-docs-samples/pull/3","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/CVSz%2Fpython-docs-samples/issues/3","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/3/packages"}},{"old_version":"3.1.0","new_version":"3.1.8","update_type":"patch","path":"the uv group across 1 directory","pr_created_at":"2026-04-02T21:57:07.000Z","version_change":"3.1.0 → 3.1.8","issue":{"uuid":"4197182632","node_id":"PR_kwDOQyc5x87PribN","number":14,"state":"open","title":"chore(deps): bump apache-airflow from 3.1.0 to 3.1.8 in the uv group across 1 directory","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-02T21:57:07.000Z","updated_at":"2026-04-02T21:57:08.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"apache-airflow","old_version":"3.1.0","new_version":"3.1.8","repository_url":"https://github.com/apache/airflow"}],"path":"the uv group across 1 directory","ecosystem":"pip"},"body":"Bumps the uv group with 1 update in the / directory: [apache-airflow](https://github.com/apache/airflow).\n\nUpdates `apache-airflow` from 3.1.0 to 3.1.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/airflow/releases\"\u003eapache-airflow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eApache Airflow 3.1.8\u003c/h2\u003e\n\u003cp\u003e:package: PyPI: \u003ca href=\"https://pypi.org/project/apache-airflow/3.1.8/\"\u003ehttps://pypi.org/project/apache-airflow/3.1.8/\u003c/a\u003e\n:books: Docs: \u003ca href=\"https://airflow.apache.org/docs/apache-airflow/3.1.8/\"\u003ehttps://airflow.apache.org/docs/apache-airflow/3.1.8/\u003c/a\u003e\n:hammer_and_wrench: Release Notes: \u003ca href=\"https://airflow.apache.org/docs/apache-airflow/3.1.8/release_notes.html\"\u003ehttps://airflow.apache.org/docs/apache-airflow/3.1.8/release_notes.html\u003c/a\u003e\n:whale: Docker Image: \u0026quot;docker pull apache/airflow:3.1.8\u0026quot;\n:busstop: Constraints: \u003ca href=\"https://github.com/apache/airflow/tree/constraints-3.1.8\"\u003ehttps://github.com/apache/airflow/tree/constraints-3.1.8\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eSignificant Changes\u003c/h2\u003e\n\u003ch3\u003eBackfill permissions are now handled via \u003ccode\u003eDagAccessEntity.Run\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61456\"\u003e#61456\u003c/a\u003e)\u003c/h3\u003e\n\u003cp\u003e\u003ccode\u003eis_authorized_backfill\u003c/code\u003e of the \u003ccode\u003eBaseAuthManager\u003c/code\u003e interface has been removed. Core will no longer call this method and their\nprovider counterpart implementation will be marked as deprecated.\nPermissions for backfill operations are now checked against the \u003ccode\u003eDagAccessEntity.Run\u003c/code\u003e permission using the existing\n\u003ccode\u003erequires_access_dag\u003c/code\u003e decorator. In other words, if a user has permission to run a DAG, they can perform backfill operations on it.\u003c/p\u003e\n\u003cp\u003ePlease update your security policies to ensure that users who need to perform backfill operations have the appropriate \u003ccode\u003eDagAccessEntity.Run\u003c/code\u003e permissions. (Users\nhaving the Backfill permissions without having the DagRun ones will no longer be able to perform backfill operations without any update)\u003c/p\u003e\n\u003ch3\u003eElasticsearch is now fully compatible with remote logging along (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62940\"\u003e#62940\u003c/a\u003e)\u003c/h3\u003e\n\u003cp\u003eElasticsearch is now fully compatible with remote logging along side with \u003ccode\u003eapache-airflow-providers-elasticsearch\u0026gt;=6.5.0\u003c/code\u003e. Please review elasticsearch provider release notes for more information \u003ca href=\"https://airflow.apache.org/docs/apache-airflow-providers-elasticsearch/6.5.0/changelog.html\"\u003ehttps://airflow.apache.org/docs/apache-airflow-providers-elasticsearch/6.5.0/changelog.html\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62121\"\u003e#62121\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62940\"\u003e#62940\u003c/a\u003e)\u003c/p\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix SQLite migration disable \u003ccode\u003edisable_sqlite_fkeys\u003c/code\u003e in revision \u003ccode\u003e509b94a1042d\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/63256\"\u003e#63256\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/63272\"\u003e#63272\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: 404 queued asset events from API server logs (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62934\"\u003e#62934\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62976\"\u003e#62976\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Always include kid in JWT header for symmetric key tokens (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62883\"\u003e#62883\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62943\"\u003e#62943\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Scope session token in cookie to base_url  (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62771\"\u003e#62771\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62851\"\u003e#62851\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: UI of Scope session token in cookie to base_url (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62771\"\u003e#62771\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62859\"\u003e#62859\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: UI tasks log missing in UP_FOR_RETRY and UP_FOR_RESCHEDULE states (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54547\"\u003e#54547\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62862\"\u003e#62862\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Backfill permissions (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62856\"\u003e#62856\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62873\"\u003e#62873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Use \u003ccode\u003euseAssetServiceGetDagAssetQueuedEvents\u003c/code\u003e to get the correct number of ADRQs (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62868\"\u003e#62868\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62902\"\u003e#62902\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Adds task instance validation for HITL (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62886\"\u003e#62886\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62909\"\u003e#62909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Restore task_instance_history sequence on downgrade (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62759\"\u003e#62759\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix broken \u003ccode\u003edag_processing.total_parse_time\u003c/code\u003e metric (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62128\"\u003e#62128\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62764\"\u003e#62764\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Trigger UI form rendering for null enum values (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62060\"\u003e#62060\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62767\"\u003e#62767\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003etimer.duration\u003c/code\u003e unit labels in logs (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61824\"\u003e#61824\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62757\"\u003e#62757\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix XCom migration failing for NaN/Infinity float values (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62686\"\u003e#62686\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62760\"\u003e#62760\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix SQL not rendered in Rendered Templates view (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60739\"\u003e#60739\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62348\"\u003e#62348\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix missing DAG read permission checks on dependencies endpoint (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62046\"\u003e#62046\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62586\"\u003e#62586\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003edag_bundle.signed_url_template\u003c/code\u003e from \u003ccode\u003evarchar(200)\u003c/code\u003e to \u003ccode\u003etext\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61041\"\u003e#61041\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62568\"\u003e#62568\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix WASB remote logging base path handling (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/58946\"\u003e#58946\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61013\"\u003e#61013\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62456\"\u003e#62456\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle non-dictionary json payload during logging to avoid internal server error. (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62355\"\u003e#62355\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62367\"\u003e#62367\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix grid view crash when task converted to TaskGroup (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61208\"\u003e#61208\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61279\"\u003e#61279\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62181\"\u003e#62181\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix running task duration showing as null in UI (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61898\"\u003e#61898\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62136\"\u003e#62136\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix deferrable sensors not respecting soft_fail on timeout (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61132\"\u003e#61132\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61421\"\u003e#61421\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix task failure details being obscured by finalization errors (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62070\"\u003e#62070\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62113\"\u003e#62113\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd missing ti.start and ti.finish metrics in Airflow 3 (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62019\"\u003e#62019\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62110\"\u003e#62110\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix DepContext mutation leak and restore reschedule-mode guard (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62089\"\u003e#62089\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix scheduler heartbeat misses caused by slow reschedule dependency check (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61983\"\u003e#61983\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62068\"\u003e#62068\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFlush in-memory OTEL metrics at process shutdown (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61808\"\u003e#61808\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61869\"\u003e#61869\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/apache/airflow/commit/7c1b4e1cc6384096a4f391bbed129f0bc40e1d9d\"\u003e\u003ccode\u003e7c1b4e1\u003c/code\u003e\u003c/a\u003e Update RELEASE_NOTES.rst for rc2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/8bebae6659b0372434790c046d679b6928d74a4f\"\u003e\u003ccode\u003e8bebae6\u003c/code\u003e\u003c/a\u003e [v3-1-test] Further limit setuptools after 82.0.1 is released (until redoc fi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/3476670a3cb573c71a0355fb72a060c179129206\"\u003e\u003ccode\u003e3476670\u003c/code\u003e\u003c/a\u003e fix(migration): disable disable_sqlite_fkeys for migration 0087 (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/63256\"\u003e#63256\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/63\"\u003e#63\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/0f3cc0ac1bb507a0a0c3eb964268745cb0c8362f\"\u003e\u003ccode\u003e0f3cc0a\u003c/code\u003e\u003c/a\u003e Update RELEASE_NOTES.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/1b366dd14baa5bce81bd3fbf3c49d181857c8224\"\u003e\u003ccode\u003e1b366dd\u003c/code\u003e\u003c/a\u003e Update version to 3.1.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/c4290ab3a83204d720934111a55c3e61e0422584\"\u003e\u003ccode\u003ec4290ab\u003c/code\u003e\u003c/a\u003e [v3-1-test] Return empty list for queued asset events instead of 404 (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62934\"\u003e#62934\u003c/a\u003e)...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/363e75a6df2d56896517488510aa26e8b879b43b\"\u003e\u003ccode\u003e363e75a\u003c/code\u003e\u003c/a\u003e [v3-1-test] Only upgrade patch and minor NPM version in \u003ccode\u003ev3-1-test\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62961\"\u003e#62961\u003c/a\u003e) ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/b7a0043a7a6964296e824cf361de10c5cd6272a2\"\u003e\u003ccode\u003eb7a0043\u003c/code\u003e\u003c/a\u003e chore(deps): bump the core-ui-package-updates group across 1 directory with 3...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/a250c4fc8211648d5f7b8e7e6ad53682b629f4fa\"\u003e\u003ccode\u003ea250c4f\u003c/code\u003e\u003c/a\u003e [v3-1-test] Enable dependabot for simple auth manager in \u003ccode\u003ev3-1-test\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62951\"\u003e#62951\u003c/a\u003e)...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/833ef0f1107ad7d5cac1d72b40d446448a288aae\"\u003e\u003ccode\u003e833ef0f\u003c/code\u003e\u003c/a\u003e Upgrade \u003ccode\u003etar\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62939\"\u003e#62939\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62947\"\u003e#62947\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/airflow/compare/3.1.0...3.1.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=apache-airflow\u0026package-manager=uv\u0026previous-version=3.1.0\u0026new-version=3.1.8)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot 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\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/EvertonSA/airflow-yet-another-exporter/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/EvertonSA/airflow-yet-another-exporter/pull/14","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/EvertonSA%2Fairflow-yet-another-exporter/issues/14","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/14/packages"}},{"old_version":"2.6.3","new_version":"3.2.0b1","update_type":"major","path":null,"pr_created_at":"2026-04-02T04:10:13.000Z","version_change":"2.6.3 → 3.2.0b1","issue":{"uuid":"4191416269","node_id":"PR_kwDOO-I9t87PcOl4","number":10,"state":"open","title":"chore(deps): bump the pip group across 25 directories with 13 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-02T04:10:13.000Z","updated_at":"2026-04-02T04:10:17.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"pip","update_count":13,"packages":[{"name":"requests","old_version":"2.31.0","new_version":"2.33.0","repository_url":"https://github.com/psf/requests"},{"name":"flask","old_version":"2.2.5","new_version":"3.1.3","repository_url":"https://github.com/pallets/flask"},{"name":"pyopenssl","old_version":"23.2.0","new_version":"26.0.0","repository_url":"https://github.com/pyca/pyopenssl"},{"name":"werkzeug","old_version":"2.2.3","new_version":"3.1.6","repository_url":"https://github.com/pallets/werkzeug"},{"name":"apache-airflow","old_version":"2.6.3","new_version":"3.2.0b1","repository_url":"https://github.com/apache/airflow"},{"name":"black","old_version":"23.1a1","new_version":"26.3.1","repository_url":"https://github.com/psf/black"},{"name":"cryptography","old_version":"40.0.2","new_version":"46.0.6","repository_url":"https://github.com/pyca/cryptography"},{"name":"google-cloud-aiplatform","old_version":"1.27.1","new_version":"1.133.0","repository_url":"https://github.com/googleapis/python-aiplatform"},{"name":"protobuf","old_version":"4.23.4","new_version":"5.29.6","repository_url":"https://github.com/protocolbuffers/protobuf"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pip group with 1 update in the /alloydb/notebooks directory: [nbconvert](https://github.com/jupyter/nbconvert).\nBumps the pip group with 1 update in the /aml-ai directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 1 update in the /auth/service-to-service directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 1 update in the /bigquery/continuous-queries directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 4 updates in the /cloud-media-livestream/keypublisher directory: [requests](https://github.com/psf/requests), [flask](https://github.com/pallets/flask), [pyopenssl](https://github.com/pyca/pyopenssl) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 2 updates in the /cloud_scheduler/snippets directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 1 update in the /cloud_tasks/http_queues directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 9 updates in the /composer/2022_airflow_summit directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [requests](https://github.com/psf/requests) | `2.31.0` | `2.33.0` |\n| [flask](https://github.com/pallets/flask) | `2.2.5` | `3.1.3` |\n| [pyopenssl](https://github.com/pyca/pyopenssl) | `23.2.0` | `26.0.0` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `2.2.3` | `3.1.6` |\n| [apache-airflow](https://github.com/apache/airflow) | `2.6.3` | `3.2.0b1` |\n| [black](https://github.com/psf/black) | `23.1a1` | `26.3.1` |\n| [cryptography](https://github.com/pyca/cryptography) | `40.0.2` | `46.0.6` |\n| [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) | `1.27.1` | `1.133.0` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `4.23.4` | `5.29.6` |\n\nBumps the pip group with 5 updates in the /composer/airflow_1_samples directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [flask](https://github.com/pallets/flask) | `1.1.2` | `3.1.3` |\n| [pyopenssl](https://github.com/pyca/pyopenssl) | `20.0.0` | `26.0.0` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `0.16.1` | `3.1.6` |\n| [cryptography](https://github.com/pyca/cryptography) | `3.2.1` | `46.0.6` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `3.14.0` | `5.29.6` |\n\nBumps the pip group with 9 updates in the /composer/cicd_sample directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [requests](https://github.com/psf/requests) | `2.31.0` | `2.33.0` |\n| [flask](https://github.com/pallets/flask) | `2.2.5` | `3.1.3` |\n| [pyopenssl](https://github.com/pyca/pyopenssl) | `23.2.0` | `26.0.0` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `2.2.3` | `3.1.6` |\n| [apache-airflow](https://github.com/apache/airflow) | `2.6.3` | `3.2.0b1` |\n| [black](https://github.com/psf/black) | `23.1a1` | `26.3.1` |\n| [cryptography](https://github.com/pyca/cryptography) | `40.0.2` | `46.0.6` |\n| [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) | `1.27.1` | `1.133.0` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `4.23.4` | `5.29.6` |\n\nBumps the pip group with 1 update in the /composer/rest directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 1 update in the /compute/auth directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 1 update in the /compute/client_library directory: [black](https://github.com/psf/black).\nBumps the pip group with 2 updates in the /compute/encryption directory: [requests](https://github.com/psf/requests) and [cryptography](https://github.com/pyca/cryptography).\nBumps the pip group with 1 update in the /compute/metadata directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 1 update in the /compute/oslogin directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 3 updates in the /dataflow/gemma directory: [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform), [protobuf](https://github.com/protocolbuffers/protobuf) and [keras](https://github.com/keras-team/keras).\nBumps the pip group with 1 update in the /dataflow/gemma-flex-template directory: [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform).\nBumps the pip group with 3 updates in the /dataflow/run-inference directory: [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform), [torch](https://github.com/pytorch/pytorch) and [transformers](https://github.com/huggingface/transformers).\nBumps the pip group with 2 updates in the /datastore/cloud-ndb directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 2 updates in the /dialogflow directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 2 updates in the /dialogflow-cx directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 2 updates in the /gemma2 directory: [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) and [protobuf](https://github.com/protocolbuffers/protobuf).\nBumps the pip group with 4 updates in the /iap directory: [requests](https://github.com/psf/requests), [flask](https://github.com/pallets/flask), [werkzeug](https://github.com/pallets/werkzeug) and [cryptography](https://github.com/pyca/cryptography).\nBumps the pip group with 1 update in the /media_cdn directory: [cryptography](https://github.com/pyca/cryptography).\n\nUpdates `nbconvert` from 7.16.6 to 7.17.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jupyter/nbconvert/releases\"\u003enbconvert's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.17.0\u003c/h2\u003e\n\u003ch2\u003e7.17.0\u003c/h2\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbconvert/compare/v7.16.6...c9ac1d1040459ed1ff9eb34e9918ce5a87cf9d71\"\u003eFull Changelog\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eEnhancements made\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for arbitrary browser arguments \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2227\"\u003e#2227\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugs fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix QtPNGExporter returning empty bytes on macOS \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2264\"\u003e#2264\u003c/a\u003e (\u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/QuLogic\"\u003e\u003ccode\u003e@​QuLogic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix CVE-2025-53000: Secure Inkscape Windows path (registry first + block CWD) \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2261\"\u003e#2261\u003c/a\u003e (\u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/mberlanda\"\u003e\u003ccode\u003e@​mberlanda\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/salmankadaya\"\u003e\u003ccode\u003e@​salmankadaya\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/th3gowtham\"\u003e\u003ccode\u003e@​th3gowtham\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix get_export_names and get_exporter default args \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2228\"\u003e#2228\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePyPA-Compliant Summary \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2226\"\u003e#2226\u003c/a\u003e (\u003ca href=\"https://github.com/hackowitz-af\"\u003e\u003ccode\u003e@​hackowitz-af\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMaintenance and upkeep improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eavoid cov environment on free-threaded Pythons \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2267\"\u003e#2267\u003c/a\u003e (\u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate pre-commit, and fix all issues. \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2238\"\u003e#2238\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop test on 3.9, test on 3.13, 3.14, 3.14t \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2237\"\u003e#2237\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the actions group across 1 directory with 2 updates \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2231\"\u003e#2231\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003e@flaky.flaky\u003c/code\u003e decorate with pytest marker \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2229\"\u003e#2229\u003c/a\u003e (\u003ca href=\"https://github.com/mgorny\"\u003e\u003ccode\u003e@​mgorny\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate to mermaid 11.10.0 \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2224\"\u003e#2224\u003c/a\u003e (\u003ca href=\"https://github.com/bollwyvl\"\u003e\u003ccode\u003e@​bollwyvl\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.8, fix the CI tests \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2221\"\u003e#2221\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse \u003ccode\u003eintersphinx_registry\u003c/code\u003e \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2232\"\u003e#2232\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors to this release\u003c/h3\u003e\n\u003cp\u003eThe following people contributed discussions, new ideas, code and documentation contributions, and review.\nSee \u003ca href=\"https://github-activity.readthedocs.io/en/latest/use/#how-does-this-tool-define-contributions-in-the-reports\"\u003eour definition of contributors\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbconvert/graphs/contributors?from=2025-01-28\u0026amp;to=2026-01-29\u0026amp;type=c\"\u003eGitHub contributors page for this release\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/bollwyvl\"\u003e\u003ccode\u003e@​bollwyvl\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Abollwyvl+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3ACarreau+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ah3pdesign+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/hackowitz-af\"\u003e\u003ccode\u003e@​hackowitz-af\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ahackowitz-af+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Akrassowski+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/mberlanda\"\u003e\u003ccode\u003e@​mberlanda\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Amberlanda+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/mgorny\"\u003e\u003ccode\u003e@​mgorny\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Amgorny+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Aminrk+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/MSeal\"\u003e\u003ccode\u003e@​MSeal\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3AMSeal+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/QuLogic\"\u003e\u003ccode\u003e@​QuLogic\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3AQuLogic+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/salmankadaya\"\u003e\u003ccode\u003e@​salmankadaya\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Asalmankadaya+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ashreve+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/th3gowtham\"\u003e\u003ccode\u003e@​th3gowtham\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ath3gowtham+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e)\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jupyter/nbconvert/blob/main/CHANGELOG.md\"\u003enbconvert's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.17.0\u003c/h2\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbconvert/compare/v7.16.6...c9ac1d1040459ed1ff9eb34e9918ce5a87cf9d71\"\u003eFull Changelog\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eEnhancements made\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for arbitrary browser arguments \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2227\"\u003e#2227\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugs fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix QtPNGExporter returning empty bytes on macOS \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2264\"\u003e#2264\u003c/a\u003e (\u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/QuLogic\"\u003e\u003ccode\u003e@​QuLogic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix CVE-2025-53000: Secure Inkscape Windows path (registry first + block CWD) \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2261\"\u003e#2261\u003c/a\u003e (\u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/mberlanda\"\u003e\u003ccode\u003e@​mberlanda\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/salmankadaya\"\u003e\u003ccode\u003e@​salmankadaya\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/th3gowtham\"\u003e\u003ccode\u003e@​th3gowtham\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix get_export_names and get_exporter default args \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2228\"\u003e#2228\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePyPA-Compliant Summary \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2226\"\u003e#2226\u003c/a\u003e (\u003ca href=\"https://github.com/hackowitz-af\"\u003e\u003ccode\u003e@​hackowitz-af\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMaintenance and upkeep improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eavoid cov environment on free-threaded Pythons \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2267\"\u003e#2267\u003c/a\u003e (\u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate pre-commit, and fix all issues. \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2238\"\u003e#2238\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop test on 3.9, test on 3.13, 3.14, 3.14t \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2237\"\u003e#2237\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the actions group across 1 directory with 2 updates \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2231\"\u003e#2231\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003e@flaky.flaky\u003c/code\u003e decorate with pytest marker \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2229\"\u003e#2229\u003c/a\u003e (\u003ca href=\"https://github.com/mgorny\"\u003e\u003ccode\u003e@​mgorny\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate to mermaid 11.10.0 \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2224\"\u003e#2224\u003c/a\u003e (\u003ca href=\"https://github.com/bollwyvl\"\u003e\u003ccode\u003e@​bollwyvl\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.8, fix the CI tests \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2221\"\u003e#2221\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse \u003ccode\u003eintersphinx_registry\u003c/code\u003e \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2232\"\u003e#2232\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors to this release\u003c/h3\u003e\n\u003cp\u003eThe following people contributed discussions, new ideas, code and documentation contributions, and review.\nSee \u003ca href=\"https://github-activity.readthedocs.io/en/latest/use/#how-does-this-tool-define-contributions-in-the-reports\"\u003eour definition of contributors\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbconvert/graphs/contributors?from=2025-01-28\u0026amp;to=2026-01-29\u0026amp;type=c\"\u003eGitHub contributors page for this release\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/bollwyvl\"\u003e\u003ccode\u003e@​bollwyvl\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Abollwyvl+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3ACarreau+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ah3pdesign+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/hackowitz-af\"\u003e\u003ccode\u003e@​hackowitz-af\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ahackowitz-af+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Akrassowski+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/mberlanda\"\u003e\u003ccode\u003e@​mberlanda\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Amberlanda+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/mgorny\"\u003e\u003ccode\u003e@​mgorny\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Amgorny+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Aminrk+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/MSeal\"\u003e\u003ccode\u003e@​MSeal\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3AMSeal+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/QuLogic\"\u003e\u003ccode\u003e@​QuLogic\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3AQuLogic+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/salmankadaya\"\u003e\u003ccode\u003e@​salmankadaya\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Asalmankadaya+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ashreve+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/th3gowtham\"\u003e\u003ccode\u003e@​th3gowtham\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ath3gowtham+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e)\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/21b35d85b46f5ff0956d3d088a52b9bef00e8196\"\u003e\u003ccode\u003e21b35d8\u003c/code\u003e\u003c/a\u003e Publish 7.17.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/c9ac1d1040459ed1ff9eb34e9918ce5a87cf9d71\"\u003e\u003ccode\u003ec9ac1d1\u003c/code\u003e\u003c/a\u003e Fix CVE-2025-53000: Secure Inkscape Windows path (registry first + block CWD)...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/b13276d80ae6fadbfda981304810e26f421c4ced\"\u003e\u003ccode\u003eb13276d\u003c/code\u003e\u003c/a\u003e avoid cov environment on free-threaded Pythons (\u003ca href=\"https://redirect.github.com/jupyter/nbconvert/issues/2267\"\u003e#2267\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/7c7055fe833fe9832e6f9a64fa5f67d66692c8d6\"\u003e\u003ccode\u003e7c7055f\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] auto fixes from pre-commit.com hooks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/74f3ddd37ef4b7ffb5eee9acbf52062217c15852\"\u003e\u003ccode\u003e74f3ddd\u003c/code\u003e\u003c/a\u003e Fix QtPNGExporter returning empty bytes on macOS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/216550b2aae4c329f4dab597a96ae7cac30de79a\"\u003e\u003ccode\u003e216550b\u003c/code\u003e\u003c/a\u003e fix links\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/39777ac5716350e994171d025a7369c58b0afc8c\"\u003e\u003ccode\u003e39777ac\u003c/code\u003e\u003c/a\u003e try to comment fialing test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/7b591ca526f2598dbae3256a53765659c3edcf14\"\u003e\u003ccode\u003e7b591ca\u003c/code\u003e\u003c/a\u003e ruff-check\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/6ec7638a3dc7a0bc2c533c116202d7f9b07ce9d9\"\u003e\u003ccode\u003e6ec7638\u003c/code\u003e\u003c/a\u003e parent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/59414b36f94e318d4207e8af863167047d936c19\"\u003e\u003ccode\u003e59414b3\u003c/code\u003e\u003c/a\u003e fix mypy\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jupyter/nbconvert/compare/v7.16.6...v7.17.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.4 to 2.33.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.33.0\u003c/h2\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that uses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report any gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts contents to a non-deterministic location to prevent malicious file replacement. This does not affect default usage of Requests, only applications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause malformed authentication to be applied to Requests on Python 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\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/M0d3v1\"\u003e\u003ccode\u003e@​M0d3v1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6865\"\u003epsf/requests#6865\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminvakil\"\u003e\u003ccode\u003e@​aminvakil\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7220\"\u003epsf/requests#7220\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/E8Price\"\u003e\u003ccode\u003e@​E8Price\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6960\"\u003epsf/requests#6960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mitre88\"\u003e\u003ccode\u003e@​mitre88\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7244\"\u003epsf/requests#7244\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/magsen\"\u003e\u003ccode\u003e@​magsen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6553\"\u003epsf/requests#6553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rohan5commit\"\u003e\u003ccode\u003e@​Rohan5commit\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7227\"\u003epsf/requests#7227\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\"\u003ehttps://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that\nuses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report\nany gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts\ncontents to a non-deterministic location to prevent malicious file\nreplacement. This does not affect default usage of Requests, only\napplications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause\nmalformed authentication to be applied to Requests on\nPython 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/bc04dfd6dad4cb02cd92f5daa81eb562d280a761\"\u003e\u003ccode\u003ebc04dfd\u003c/code\u003e\u003c/a\u003e v2.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/66d21cb07bd6255b1280291c4fafb71803cdb3b7\"\u003e\u003ccode\u003e66d21cb\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/8b9bc8fc0f63be84602387913c4b689f19efd028\"\u003e\u003ccode\u003e8b9bc8f\u003c/code\u003e\u003c/a\u003e Move badges to top of README (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7293\"\u003e#7293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/e331a288f369973f5de0ec8901c94cae4fa87286\"\u003e\u003ccode\u003ee331a28\u003c/code\u003e\u003c/a\u003e Remove unused extraction call (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7292\"\u003e#7292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/753fd08c5eacce0aa0df73fe47e49525c67e0a29\"\u003e\u003ccode\u003e753fd08\u003c/code\u003e\u003c/a\u003e docs: fix FAQ grammar in httplib2 example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/774a0b837a194ee885d4fdd9ca947900cc3daf71\"\u003e\u003ccode\u003e774a0b8\u003c/code\u003e\u003c/a\u003e docs(socks): same block as other sections\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/9c72a41bec8597f948c9d8caa5dc3f12273b3303\"\u003e\u003ccode\u003e9c72a41\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.33.0 to 4.34.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/ebf71906798ec82f34e07d3168f8b8aecaf8a3be\"\u003e\u003ccode\u003eebf7190\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.32.0 to 4.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/0e4ae38f0c93d4f92a96c774bd52c069d12a4798\"\u003e\u003ccode\u003e0e4ae38\u003c/code\u003e\u003c/a\u003e docs: exclude Response.is_permanent_redirect from API docs (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7244\"\u003e#7244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d568f47278492e630cc990a259047c67991d007a\"\u003e\u003ccode\u003ed568f47\u003c/code\u003e\u003c/a\u003e docs: clarify Quickstart POST example (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6960\"\u003e#6960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.4...v2.33.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.4 to 2.33.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.33.0\u003c/h2\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that uses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report any gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts contents to a non-deterministic location to prevent malicious file replacement. This does not affect default usage of Requests, only applications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause malformed authentication to be applied to Requests on Python 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\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/M0d3v1\"\u003e\u003ccode\u003e@​M0d3v1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6865\"\u003epsf/requests#6865\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminvakil\"\u003e\u003ccode\u003e@​aminvakil\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7220\"\u003epsf/requests#7220\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/E8Price\"\u003e\u003ccode\u003e@​E8Price\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6960\"\u003epsf/requests#6960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mitre88\"\u003e\u003ccode\u003e@​mitre88\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7244\"\u003epsf/requests#7244\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/magsen\"\u003e\u003ccode\u003e@​magsen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6553\"\u003epsf/requests#6553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rohan5commit\"\u003e\u003ccode\u003e@​Rohan5commit\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7227\"\u003epsf/requests#7227\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\"\u003ehttps://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that\nuses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report\nany gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts\ncontents to a non-deterministic location to prevent malicious file\nreplacement. This does not affect default usage of Requests, only\napplications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause\nmalformed authentication to be applied to Requests on\nPython 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/bc04dfd6dad4cb02cd92f5daa81eb562d280a761\"\u003e\u003ccode\u003ebc04dfd\u003c/code\u003e\u003c/a\u003e v2.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/66d21cb07bd6255b1280291c4fafb71803cdb3b7\"\u003e\u003ccode\u003e66d21cb\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/8b9bc8fc0f63be84602387913c4b689f19efd028\"\u003e\u003ccode\u003e8b9bc8f\u003c/code\u003e\u003c/a\u003e Move badges to top of README (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7293\"\u003e#7293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/e331a288f369973f5de0ec8901c94cae4fa87286\"\u003e\u003ccode\u003ee331a28\u003c/code\u003e\u003c/a\u003e Remove unused extraction call (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7292\"\u003e#7292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/753fd08c5eacce0aa0df73fe47e49525c67e0a29\"\u003e\u003ccode\u003e753fd08\u003c/code\u003e\u003c/a\u003e docs: fix FAQ grammar in httplib2 example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/774a0b837a194ee885d4fdd9ca947900cc3daf71\"\u003e\u003ccode\u003e774a0b8\u003c/code\u003e\u003c/a\u003e docs(socks): same block as other sections\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/9c72a41bec8597f948c9d8caa5dc3f12273b3303\"\u003e\u003ccode\u003e9c72a41\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.33.0 to 4.34.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/ebf71906798ec82f34e07d3168f8b8aecaf8a3be\"\u003e\u003ccode\u003eebf7190\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.32.0 to 4.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/0e4ae38f0c93d4f92a96c774bd52c069d12a4798\"\u003e\u003ccode\u003e0e4ae38\u003c/code\u003e\u003c/a\u003e docs: exclude Response.is_permanent_redirect from API docs (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7244\"\u003e#7244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d568f47278492e630cc990a259047c67991d007a\"\u003e\u003ccode\u003ed568f47\u003c/code\u003e\u003c/a\u003e docs: clarify Quickstart POST example (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6960\"\u003e#6960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.4...v2.33.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.4 to 2.33.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.33.0\u003c/h2\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that uses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report any gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts contents to a non-deterministic location to prevent malicious file replacement. This does not affect default usage of Requests, only applications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause malformed authentication to be applied to Requests on Python 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\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/M0d3v1\"\u003e\u003ccode\u003e@​M0d3v1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6865\"\u003epsf/requests#6865\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminvakil\"\u003e\u003ccode\u003e@​aminvakil\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7220\"\u003epsf/requests#7220\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/E8Price\"\u003e\u003ccode\u003e@​E8Price\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6960\"\u003epsf/requests#6960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mitre88\"\u003e\u003ccode\u003e@​mitre88\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7244\"\u003epsf/requests#7244\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/magsen\"\u003e\u003ccode\u003e@​magsen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6553\"\u003epsf/requests#6553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rohan5commit\"\u003e\u003ccode\u003e@​Rohan5commit\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7227\"\u003epsf/requests#7227\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\"\u003ehttps://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that\nuses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report\nany gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts\ncontents to a non-deterministic location to prevent malicious file\nreplacement. This does not affect default usage of Requests, only\napplications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause\nmalformed authentication to be applied to Requests on\nPython 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/bc04dfd6dad4cb02cd92f5daa81eb562d280a761\"\u003e\u003ccode\u003ebc04dfd\u003c/code\u003e\u003c/a\u003e v2.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/66d21cb07bd6255b1280291c4fafb71803cdb3b7\"\u003e\u003ccode\u003e66d21cb\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/8b9bc8fc0f63be84602387913c4b689f19efd028\"\u003e\u003ccode\u003e8b9bc8f\u003c/code\u003e\u003c/a\u003e Move badges to top of README (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7293\"\u003e#7293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/e331a288f369973f5de0ec8901c94cae4fa87286\"\u003e\u003ccode\u003ee331a28\u003c/code\u003e\u003c/a\u003e Remove unused extraction call (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7292\"\u003e#7292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/753fd08c5eacce0aa0df73fe47e49525c67e0a29\"\u003e\u003ccode\u003e753fd08\u003c/code\u003e\u003c/a\u003e docs: fix FAQ grammar in httplib2 example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/774a0b837a194ee885d4fdd9ca947900cc3daf71\"\u003e\u003ccode\u003e774a0b8\u003c/code\u003e\u003c/a\u003e docs(socks): same block as other sections\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/9c72a41bec8597f948c9d8caa5dc3f12273b3303\"\u003e\u003ccode\u003e9c72a41\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.33.0 to 4.34.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/ebf71906798ec82f34e07d3168f8b8aecaf8a3be\"\u003e\u003ccode\u003eebf7190\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.32.0 to 4.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/0e4ae38f0c93d4f92a96c774bd52c069d12a4798\"\u003e\u003ccode\u003e0e4ae38\u003c/code\u003e\u003c/a\u003e docs: exclude Response.is_permanent_redirect from API docs (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7244\"\u003e#7244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d568f47278492e630cc990a259047c67991d007a\"\u003e\u003ccode\u003ed568f47\u003c/code\u003e\u003c/a\u003e docs: clarify Quickstart POST example (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6960\"\u003e#6960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.4...v2.33.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.4 to 2.33.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.33.0\u003c/h2\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that uses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report any gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts contents to a non-deterministic location to prevent malicious file replacement. This does not affect default usage of Requests, only applications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause malformed authentication to be applied to Requests on Python 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\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/M0d3v1\"\u003e\u003ccode\u003e@​M0d3v1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6865\"\u003epsf/requests#6865\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminvakil\"\u003e\u003ccode\u003e@​aminvakil\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7220\"\u003epsf/requests#7220\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/E8Price\"\u003e\u003ccode\u003e@​E8Price\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6960\"\u003epsf/requests#6960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mitre88\"\u003e\u003ccode\u003e@​mitre88\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7244\"\u003epsf/requests#7244\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/magsen\"\u003e\u003ccode\u003e@​magsen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6553\"\u003epsf/requests#6553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rohan5commit\"\u003e\u003ccode\u003e@​Rohan5commit\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7227\"\u003epsf/requests#7227\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\"\u003ehttps://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that\nuses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report\nany gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts\ncontents to a non-deterministic location to prevent malicious file\nreplacement. This does not affect default usage of Requests, only\napplications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause\nmalformed authentication to be applied to Requests on\nPython 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/bc04dfd6dad4cb02cd92f5daa81eb562d280a761\"\u003e\u003ccode\u003ebc04dfd\u003c/code\u003e\u003c/a\u003e v2.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/66d21cb07bd6255b1280291c4fafb71803cdb3b7\"\u003e\u003ccode\u003e66d21cb\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/8b9bc8fc0f63be84602387913c4b689f19efd028\"\u003e\u003ccode\u003e8b9bc8f\u003c/code\u003e\u003c/a\u003e Move badges to top of README (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7293\"\u003e#7293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/e331a288f369973f5de0ec8901c94cae4fa87286\"\u003e\u003ccode\u003ee331a28\u003c/code\u003e\u003c/a\u003e Remove unused extraction call (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7292\"\u003e#7292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/753fd08c5eacce0aa0df73fe47e49525c67e0a29\"\u003e\u003ccode\u003e753fd08\u003c/code\u003e\u003c/a\u003e docs: fix FAQ grammar in httplib2 example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/774a0b837a194ee885d4fdd9ca947900cc3daf71\"\u003e\u003ccode\u003e774a0b8\u003c/code\u003e\u003c/a\u003e docs(socks): same block as other sections\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/9c72a41bec8597f948c9d8caa5dc3f12273b3303\"\u003e\u003ccode\u003e9c72a41\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.33.0 to 4.34.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/ebf71906798ec82f34e07d3168f8b8aecaf8a3be\"\u003e\u003ccode\u003eebf7190\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.32.0 to 4.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/0e4ae38f0c93d4f92a96c774bd52c069d12a4798\"\u003e\u003ccode\u003e0e4ae38\u003c/code\u003e\u003c/a\u003e docs: exclude Response.is_permanent_redirect from API docs (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7244\"\u003e#7244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d568f47278492e630cc990a259047c67991d007a\"\u003e\u003ccode\u003ed568f47\u003c/code\u003e\u003c/a\u003e docs: clarify Quickstart POST example (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6960\"\u003e#6960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.4...v2.33.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `flask` from 2.2.5 to 3.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/releases\"\u003eflask's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.3\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.3 security fix release, which fixes a security issue but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.3/\"\u003ehttps://pypi.org/project/Flask/3.1.3/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-3\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-3\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys but not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. \u003ca href=\"https://github.com/pallets/flask/security/advisories/GHSA-68rp-wp8r-4726\"\u003eGHSA-68rp-wp8r-4726\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.2\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.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/Flask/3.1.2/\"\u003ehttps://pypi.org/project/Flask/3.1.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-2\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-2\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/38?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/38?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5774\"\u003e#5774\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state of \u003ccode\u003esession\u003c/code\u003e is correct. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5786\"\u003e#5786\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5776\"\u003e#5776\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.1\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.1 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.1/\"\u003ehttps://pypi.org/project/Flask/3.1.1/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/flask/milestone/36?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/36?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. GHSA-4grg-w6v8-c28g\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5645\"\u003e#5645\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loads the app and plugins first to make sure all commands are shown. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5673\"\u003e#5673\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMark sans-io base class as being able to handle views that return \u003ccode\u003eAsyncIterable\u003c/code\u003e. This is not accurate for Flask, but makes typing easier for Quart. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5659\"\u003e#5659\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.0\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecations, or introduce potentially breaking changes. We encourage everyone to upgrade, and to use a tool such as \u003ca href=\"https://pypi.org/project/pip-tools/\"\u003epip-tools\u003c/a\u003e to pin all dependencies and control upgrades. Test with warnings treated as errors to be able to adapt to deprecation warnings early.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.0/\"\u003ehttps://pypi.org/project/Flask/3.1.0/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-0\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-0\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/33?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/33?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5623\"\u003e#5623\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate minimum dependency versions to latest feature releases. Werkzeug \u0026gt;= 3.1, ItsDangerous \u0026gt;= 2.2, Blinker \u0026gt;= 1.9. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5624\"\u003e#5624\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5633\"\u003e#5633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProvide a configuration option to control automatic option responses. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5496\"\u003e#5496\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFlask.open_resource\u003c/code\u003e/\u003ccode\u003eopen_instance_resource\u003c/code\u003e and \u003ccode\u003eBlueprint.open_resource\u003c/code\u003e take an \u003ccode\u003eencoding\u003c/code\u003e parameter to use when opening in text mode. It defaults to \u003ccode\u003eutf-8\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5504\"\u003e#5504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.max_content_length\u003c/code\u003e can be customized per-request instead of only through the \u003ccode\u003eMAX_CONTENT_LENGTH\u003c/code\u003e config. Added \u003ccode\u003eMAX_FORM_MEMORY_SIZE\u003c/code\u003e and \u003ccode\u003eMAX_FORM_PARTS\u003c/code\u003e config. Added documentation about resource limits to the security page. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5625\"\u003e#5625\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for the \u003ccode\u003ePartitioned\u003c/code\u003e cookie attribute (CHIPS), with the \u003ccode\u003eSESSION_COOKIE_PARTITIONED\u003c/code\u003e config. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5472\"\u003e#5472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e-e path\u003c/code\u003e takes precedence over default \u003ccode\u003e.env\u003c/code\u003e and \u003ccode\u003e.flaskenv\u003c/code\u003e files. \u003ccode\u003eload_dotenv\u003c/code\u003e loads default files in addition to a path unless \u003ccode\u003eload_defaults=False\u003c/code\u003e is passed. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5628\"\u003e#5628\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport key rotation with the \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e config, a list of old secret keys that can still be used for unsigning. Extensions will need to add support. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5621\"\u003e#5621\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix how setting \u003ccode\u003ehost_matching=True\u003c/code\u003e or \u003ccode\u003esubdomain_matching=False\u003c/code\u003e interacts with \u003ccode\u003eSERVER_NAME\u003c/code\u003e. Setting \u003ccode\u003eSERVER_NAME\u003c/code\u003e no longer restricts requests to only that domain. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5553\"\u003e#5553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.trusted_hosts\u003c/code\u003e is checked during routing, and can be set through the \u003ccode\u003eTRUSTED_HOSTS\u003c/code\u003e config. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5636\"\u003e#5636\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.0.3\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/blob/main/CHANGES.rst\"\u003eflask's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.1.3\u003c/h2\u003e\n\u003cp\u003eReleased 2026-02-18\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys\nbut not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. :ghsa:\u003ccode\u003e68rp-wp8r-4726\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.2\u003c/h2\u003e\n\u003cp\u003eReleased 2025-08-19\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. :issue:\u003ccode\u003e5774\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state\nof \u003ccode\u003esession\u003c/code\u003e is correct. :issue:\u003ccode\u003e5786\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. :issue:\u003ccode\u003e5776\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-05-13\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via\n\u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. :ghsa:\u003ccode\u003e4grg-w6v8-c28g\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. :issue:\u003ccode\u003e5645\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loads the app and plugins first to make sure all commands\nare shown. :issue:\u003ccode\u003e5673\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eMark sans-io base class as being able to handle views that return\n\u003ccode\u003eAsyncIterable\u003c/code\u003e. This is not accurate for Flask, but makes typing easier\nfor Quart. :pr:\u003ccode\u003e5659\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.0\u003c/h2\u003e\n\u003cp\u003eReleased 2024-11-13\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. :pr:\u003ccode\u003e5623\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUpdate minimum dependency versions to latest feature releases.\nWerkzeug \u0026gt;= 3.1, ItsDangerous \u0026gt;= 2.2, Blinker \u0026gt;= 1.9. :pr:\u003ccode\u003e5624,5633\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eProvide a configuration option to control automatic option\nresponses. :pr:\u003ccode\u003e5496\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFlask.open_resource\u003c/code\u003e/\u003ccode\u003eopen_instance_resource\u003c/code\u003e and\n\u003ccode\u003eBlueprint.open_resource\u003c/code\u003e take an \u003ccode\u003eencoding\u003c/code\u003e parameter to use when\nopening in text mode. It defaults to \u003ccode\u003eutf-8\u003c/code\u003e. :issue:\u003ccode\u003e5504\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.max_content_length\u003c/code\u003e can be customized per-request instead of only\nthrough the \u003ccode\u003eMAX_CONTENT_LENGTH\u003c/code\u003e config. Added\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/22d924701a6ae2e4cd01e9a15bbaf3946094af65\"\u003e\u003ccode\u003e22d9247\u003c/code\u003e\u003c/a\u003e release version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/089cb86dd22bff589a4eafb7ab8e42dc357623b4\"\u003e\u003ccode\u003e089cb86\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/c17f379390731543eea33a570a47bd4ef76a54fa\"\u003e\u003ccode\u003ec17f379\u003c/code\u003e\u003c/a\u003e request context tracks session access\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/27be9338405382445a7cb01151e084559b98d602\"\u003e\u003ccode\u003e27be933\u003c/code\u003e\u003c/a\u003e start version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4e652d3f68b90d50aa2301d3b7e68c3fafd9251d\"\u003e\u003ccode\u003e4e652d3\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5903\"\u003e#5903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/3d03098a97ddc6a908aa4a50c2ef7381f8297d0a\"\u003e\u003ccode\u003e3d03098\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/407eb76b27884848383a37c7274654f0271e4bc4\"\u003e\u003ccode\u003e407eb76\u003c/code\u003e\u003c/a\u003e document using gevent for async (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5900\"\u003e#5900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/ac5664d2281533eacafd64f5cc7d5edcdaccab60\"\u003e\u003ccode\u003eac5664d\u003c/code\u003e\u003c/a\u003e document using gevent for async\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4f79d5b59a56bc4356a97f2e81a35f98cb18d7b3\"\u003e\u003ccode\u003e4f79d5b\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11 (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5865\"\u003e#5865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/fe3b215d3ade4db68262dae1a3cdc464a1fc524f\"\u003e\u003ccode\u003efe3b215\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/flask/compare/2.2.5...3.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyopenssl` from 25.0.0 to 26.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyca/pyopenssl/blob/main/CHANGELOG.rst\"\u003epyopenssl's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.0.0 (2026-03-15)\u003c/h2\u003e\n\u003cp\u003eBackward-incompatible changes:\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.7.\u003c/li\u003e\n\u003cli\u003eThe minimum \u003ccode\u003ecryptography\u003c/code\u003e version is now 46.0.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations:\n^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003eChanges:\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for using aws-lc instead of OpenSSL.\u003c/li\u003e\n\u003cli\u003eProperly raise an error if a DTLS cookie callback returned a cookie longer than \u003cco...\n\n_Description has been truncated_","html_url":"https://github.com/ASISBusiness/python-docs-samples/pull/10","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ASISBusiness%2Fpython-docs-samples/issues/10","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/10/packages"}},{"old_version":"\u003c3,\u003e=2.8","new_version":"\u003e=2.8,\u003c4","update_type":null,"path":null,"pr_created_at":"2026-04-02T01:39:15.000Z","version_change":"\u003c3,\u003e=2.8 → \u003e=2.8,\u003c4","issue":{"uuid":"4190872602","node_id":"PR_kwDOI9hyzc7Pa-qC","number":182,"state":"open","title":"Update apache-airflow requirement from \u003c3,\u003e=2.8 to \u003e=2.8,\u003c4","user":"dependabot[bot]","labels":["lang: python","part: dependencies"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-02T01:39:15.000Z","updated_at":"2026-04-02T01:40:42.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Update","packages":[{"name":"apache-airflow","old_version":"\u003c3,\u003e=2.8","new_version":"\u003e=2.8,\u003c4","repository_url":"https://github.com/apache/airflow"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [apache-airflow](https://github.com/apache/airflow) 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/apache/airflow/releases\"\u003eapache-airflow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eApache Airflow 3.1.8\u003c/h2\u003e\n\u003cp\u003e:package: PyPI: \u003ca href=\"https://pypi.org/project/apache-airflow/3.1.8/\"\u003ehttps://pypi.org/project/apache-airflow/3.1.8/\u003c/a\u003e\n:books: Docs: \u003ca href=\"https://airflow.apache.org/docs/apache-airflow/3.1.8/\"\u003ehttps://airflow.apache.org/docs/apache-airflow/3.1.8/\u003c/a\u003e\n:hammer_and_wrench: Release Notes: \u003ca href=\"https://airflow.apache.org/docs/apache-airflow/3.1.8/release_notes.html\"\u003ehttps://airflow.apache.org/docs/apache-airflow/3.1.8/release_notes.html\u003c/a\u003e\n:whale: Docker Image: \u0026quot;docker pull apache/airflow:3.1.8\u0026quot;\n:busstop: Constraints: \u003ca href=\"https://github.com/apache/airflow/tree/constraints-3.1.8\"\u003ehttps://github.com/apache/airflow/tree/constraints-3.1.8\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eSignificant Changes\u003c/h2\u003e\n\u003ch3\u003eBackfill permissions are now handled via \u003ccode\u003eDagAccessEntity.Run\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61456\"\u003e#61456\u003c/a\u003e)\u003c/h3\u003e\n\u003cp\u003e\u003ccode\u003eis_authorized_backfill\u003c/code\u003e of the \u003ccode\u003eBaseAuthManager\u003c/code\u003e interface has been removed. Core will no longer call this method and their\nprovider counterpart implementation will be marked as deprecated.\nPermissions for backfill operations are now checked against the \u003ccode\u003eDagAccessEntity.Run\u003c/code\u003e permission using the existing\n\u003ccode\u003erequires_access_dag\u003c/code\u003e decorator. In other words, if a user has permission to run a DAG, they can perform backfill operations on it.\u003c/p\u003e\n\u003cp\u003ePlease update your security policies to ensure that users who need to perform backfill operations have the appropriate \u003ccode\u003eDagAccessEntity.Run\u003c/code\u003e permissions. (Users\nhaving the Backfill permissions without having the DagRun ones will no longer be able to perform backfill operations without any update)\u003c/p\u003e\n\u003ch3\u003eElasticsearch is now fully compatible with remote logging along (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62940\"\u003e#62940\u003c/a\u003e)\u003c/h3\u003e\n\u003cp\u003eElasticsearch is now fully compatible with remote logging along side with \u003ccode\u003eapache-airflow-providers-elasticsearch\u0026gt;=6.5.0\u003c/code\u003e. Please review elasticsearch provider release notes for more information \u003ca href=\"https://airflow.apache.org/docs/apache-airflow-providers-elasticsearch/6.5.0/changelog.html\"\u003ehttps://airflow.apache.org/docs/apache-airflow-providers-elasticsearch/6.5.0/changelog.html\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62121\"\u003e#62121\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62940\"\u003e#62940\u003c/a\u003e)\u003c/p\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix SQLite migration disable \u003ccode\u003edisable_sqlite_fkeys\u003c/code\u003e in revision \u003ccode\u003e509b94a1042d\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/63256\"\u003e#63256\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/63272\"\u003e#63272\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: 404 queued asset events from API server logs (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62934\"\u003e#62934\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62976\"\u003e#62976\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Always include kid in JWT header for symmetric key tokens (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62883\"\u003e#62883\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62943\"\u003e#62943\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Scope session token in cookie to base_url  (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62771\"\u003e#62771\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62851\"\u003e#62851\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: UI of Scope session token in cookie to base_url (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62771\"\u003e#62771\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62859\"\u003e#62859\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: UI tasks log missing in UP_FOR_RETRY and UP_FOR_RESCHEDULE states (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54547\"\u003e#54547\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62862\"\u003e#62862\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Backfill permissions (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62856\"\u003e#62856\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62873\"\u003e#62873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Use \u003ccode\u003euseAssetServiceGetDagAssetQueuedEvents\u003c/code\u003e to get the correct number of ADRQs (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62868\"\u003e#62868\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62902\"\u003e#62902\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Adds task instance validation for HITL (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62886\"\u003e#62886\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62909\"\u003e#62909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Restore task_instance_history sequence on downgrade (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62759\"\u003e#62759\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix broken \u003ccode\u003edag_processing.total_parse_time\u003c/code\u003e metric (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62128\"\u003e#62128\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62764\"\u003e#62764\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Trigger UI form rendering for null enum values (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62060\"\u003e#62060\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62767\"\u003e#62767\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003etimer.duration\u003c/code\u003e unit labels in logs (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61824\"\u003e#61824\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62757\"\u003e#62757\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix XCom migration failing for NaN/Infinity float values (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62686\"\u003e#62686\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62760\"\u003e#62760\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix SQL not rendered in Rendered Templates view (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60739\"\u003e#60739\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62348\"\u003e#62348\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix missing DAG read permission checks on dependencies endpoint (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62046\"\u003e#62046\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62586\"\u003e#62586\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003edag_bundle.signed_url_template\u003c/code\u003e from \u003ccode\u003evarchar(200)\u003c/code\u003e to \u003ccode\u003etext\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61041\"\u003e#61041\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62568\"\u003e#62568\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix WASB remote logging base path handling (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/58946\"\u003e#58946\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61013\"\u003e#61013\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62456\"\u003e#62456\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle non-dictionary json payload during logging to avoid internal server error. (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62355\"\u003e#62355\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62367\"\u003e#62367\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix grid view crash when task converted to TaskGroup (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61208\"\u003e#61208\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61279\"\u003e#61279\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62181\"\u003e#62181\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix running task duration showing as null in UI (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61898\"\u003e#61898\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62136\"\u003e#62136\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix deferrable sensors not respecting soft_fail on timeout (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61132\"\u003e#61132\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61421\"\u003e#61421\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix task failure details being obscured by finalization errors (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62070\"\u003e#62070\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62113\"\u003e#62113\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd missing ti.start and ti.finish metrics in Airflow 3 (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62019\"\u003e#62019\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62110\"\u003e#62110\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix DepContext mutation leak and restore reschedule-mode guard (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62089\"\u003e#62089\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix scheduler heartbeat misses caused by slow reschedule dependency check (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61983\"\u003e#61983\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62068\"\u003e#62068\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFlush in-memory OTEL metrics at process shutdown (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61808\"\u003e#61808\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61869\"\u003e#61869\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\u003eSee full diff in \u003ca href=\"https://github.com/apache/airflow/commits/3.1.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/airflow-laminar/airflow-supervisor/pull/182","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/airflow-laminar%2Fairflow-supervisor/issues/182","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/182/packages"}},{"old_version":"2.6.3","new_version":"3.2.0b1","update_type":"major","path":null,"pr_created_at":"2026-03-26T22:23:02.000Z","version_change":"2.6.3 → 3.2.0b1","issue":{"uuid":"4147706060","node_id":"PR_kwDOOK9uiM7N4A8_","number":150,"state":"closed","title":"chore(deps): bump the pip group across 28 directories with 13 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-02T03:17:45.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-26T22:23:02.000Z","updated_at":"2026-04-02T03:17:47.000Z","time_to_close":536083,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"pip","update_count":13,"packages":[{"name":"requests","old_version":"2.31.0","new_version":"2.33.0","repository_url":"https://github.com/psf/requests"},{"name":"flask","old_version":"2.2.5","new_version":"3.1.3","repository_url":"https://github.com/pallets/flask"},{"name":"pyopenssl","old_version":"23.2.0","new_version":"26.0.0","repository_url":"https://github.com/pyca/pyopenssl"},{"name":"werkzeug","old_version":"2.2.3","new_version":"3.1.6","repository_url":"https://github.com/pallets/werkzeug"},{"name":"apache-airflow","old_version":"2.6.3","new_version":"3.2.0b1","repository_url":"https://github.com/apache/airflow"},{"name":"black","old_version":"23.1a1","new_version":"26.3.1","repository_url":"https://github.com/psf/black"},{"name":"cryptography","old_version":"40.0.2","new_version":"46.0.5","repository_url":"https://github.com/pyca/cryptography"},{"name":"google-cloud-aiplatform","old_version":"1.27.1","new_version":"1.133.0","repository_url":"https://github.com/googleapis/python-aiplatform"},{"name":"protobuf","old_version":"4.23.4","new_version":"5.29.6","repository_url":"https://github.com/protocolbuffers/protobuf"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pip group with 1 update in the /alloydb/notebooks directory: [nbconvert](https://github.com/jupyter/nbconvert).\nBumps the pip group with 1 update in the /aml-ai directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 1 update in the /auth/cloud-client-temp directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 1 update in the /auth/service-to-service directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 1 update in the /bigquery/continuous-queries directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 4 updates in the /cloud-media-livestream/keypublisher directory: [requests](https://github.com/psf/requests), [flask](https://github.com/pallets/flask), [pyopenssl](https://github.com/pyca/pyopenssl) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 2 updates in the /cloud_scheduler/snippets directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 1 update in the /cloud_tasks/http_queues directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 9 updates in the /composer/2022_airflow_summit directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [requests](https://github.com/psf/requests) | `2.31.0` | `2.33.0` |\n| [flask](https://github.com/pallets/flask) | `2.2.5` | `3.1.3` |\n| [pyopenssl](https://github.com/pyca/pyopenssl) | `23.2.0` | `26.0.0` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `2.2.3` | `3.1.6` |\n| [apache-airflow](https://github.com/apache/airflow) | `2.6.3` | `3.2.0b1` |\n| [black](https://github.com/psf/black) | `23.1a1` | `26.3.1` |\n| [cryptography](https://github.com/pyca/cryptography) | `40.0.2` | `46.0.5` |\n| [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) | `1.27.1` | `1.133.0` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `4.23.4` | `5.29.6` |\n\nBumps the pip group with 5 updates in the /composer/airflow_1_samples directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [flask](https://github.com/pallets/flask) | `1.1.2` | `3.1.3` |\n| [pyopenssl](https://github.com/pyca/pyopenssl) | `20.0.0` | `26.0.0` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `0.16.1` | `3.1.6` |\n| [cryptography](https://github.com/pyca/cryptography) | `3.2.1` | `46.0.5` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `3.14.0` | `5.29.6` |\n\nBumps the pip group with 9 updates in the /composer/cicd_sample directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [requests](https://github.com/psf/requests) | `2.31.0` | `2.33.0` |\n| [flask](https://github.com/pallets/flask) | `2.2.5` | `3.1.3` |\n| [pyopenssl](https://github.com/pyca/pyopenssl) | `23.2.0` | `26.0.0` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `2.2.3` | `3.1.6` |\n| [apache-airflow](https://github.com/apache/airflow) | `2.6.3` | `3.2.0b1` |\n| [black](https://github.com/psf/black) | `23.1a1` | `26.3.1` |\n| [cryptography](https://github.com/pyca/cryptography) | `40.0.2` | `46.0.5` |\n| [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) | `1.27.1` | `1.133.0` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `4.23.4` | `5.29.6` |\n\nBumps the pip group with 1 update in the /composer/rest directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 9 updates in the /composer/workflows directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [requests](https://github.com/psf/requests) | `2.31.0` | `2.33.0` |\n| [flask](https://github.com/pallets/flask) | `2.2.5` | `3.1.3` |\n| [pyopenssl](https://github.com/pyca/pyopenssl) | `24.1.0` | `26.0.0` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `2.2.3` | `3.1.6` |\n| [apache-airflow](https://github.com/apache/airflow) | `2.9.2` | `3.2.0b1` |\n| [black](https://github.com/psf/black) | `24.4.2` | `26.3.1` |\n| [cryptography](https://github.com/pyca/cryptography) | `41.0.7` | `46.0.5` |\n| [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) | `1.53.0` | `1.133.0` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `4.25.3` | `5.29.6` |\n\nBumps the pip group with 1 update in the /compute/auth directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 1 update in the /compute/client_library directory: [black](https://github.com/psf/black).\nBumps the pip group with 2 updates in the /compute/encryption directory: [requests](https://github.com/psf/requests) and [cryptography](https://github.com/pyca/cryptography).\nBumps the pip group with 1 update in the /compute/metadata directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 1 update in the /compute/oslogin directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 3 updates in the /dataflow/gemma directory: [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform), [protobuf](https://github.com/protocolbuffers/protobuf) and [keras](https://github.com/keras-team/keras).\nBumps the pip group with 1 update in the /dataflow/gemma-flex-template directory: [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform).\nBumps the pip group with 3 updates in the /dataflow/run-inference directory: [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform), [torch](https://github.com/pytorch/pytorch) and [transformers](https://github.com/huggingface/transformers).\nBumps the pip group with 1 update in the /dataflow/run_template directory: [flask](https://github.com/pallets/flask).\nBumps the pip group with 2 updates in the /datastore/cloud-ndb directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 2 updates in the /dialogflow directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 2 updates in the /dialogflow-cx directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 2 updates in the /gemma2 directory: [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) and [protobuf](https://github.com/protocolbuffers/protobuf).\nBumps the pip group with 3 updates in the /iap directory: [requests](https://github.com/psf/requests), [werkzeug](https://github.com/pallets/werkzeug) and [cryptography](https://github.com/pyca/cryptography).\nBumps the pip group with 1 update in the /media_cdn directory: [cryptography](https://github.com/pyca/cryptography).\n\nUpdates `nbconvert` from 7.16.6 to 7.17.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jupyter/nbconvert/releases\"\u003enbconvert's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.17.0\u003c/h2\u003e\n\u003ch2\u003e7.17.0\u003c/h2\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbconvert/compare/v7.16.6...c9ac1d1040459ed1ff9eb34e9918ce5a87cf9d71\"\u003eFull Changelog\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eEnhancements made\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for arbitrary browser arguments \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2227\"\u003e#2227\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugs fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix QtPNGExporter returning empty bytes on macOS \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2264\"\u003e#2264\u003c/a\u003e (\u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/QuLogic\"\u003e\u003ccode\u003e@​QuLogic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix CVE-2025-53000: Secure Inkscape Windows path (registry first + block CWD) \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2261\"\u003e#2261\u003c/a\u003e (\u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/mberlanda\"\u003e\u003ccode\u003e@​mberlanda\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/salmankadaya\"\u003e\u003ccode\u003e@​salmankadaya\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/th3gowtham\"\u003e\u003ccode\u003e@​th3gowtham\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix get_export_names and get_exporter default args \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2228\"\u003e#2228\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePyPA-Compliant Summary \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2226\"\u003e#2226\u003c/a\u003e (\u003ca href=\"https://github.com/hackowitz-af\"\u003e\u003ccode\u003e@​hackowitz-af\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMaintenance and upkeep improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eavoid cov environment on free-threaded Pythons \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2267\"\u003e#2267\u003c/a\u003e (\u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate pre-commit, and fix all issues. \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2238\"\u003e#2238\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop test on 3.9, test on 3.13, 3.14, 3.14t \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2237\"\u003e#2237\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the actions group across 1 directory with 2 updates \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2231\"\u003e#2231\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003e@flaky.flaky\u003c/code\u003e decorate with pytest marker \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2229\"\u003e#2229\u003c/a\u003e (\u003ca href=\"https://github.com/mgorny\"\u003e\u003ccode\u003e@​mgorny\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate to mermaid 11.10.0 \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2224\"\u003e#2224\u003c/a\u003e (\u003ca href=\"https://github.com/bollwyvl\"\u003e\u003ccode\u003e@​bollwyvl\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.8, fix the CI tests \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2221\"\u003e#2221\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse \u003ccode\u003eintersphinx_registry\u003c/code\u003e \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2232\"\u003e#2232\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors to this release\u003c/h3\u003e\n\u003cp\u003eThe following people contributed discussions, new ideas, code and documentation contributions, and review.\nSee \u003ca href=\"https://github-activity.readthedocs.io/en/latest/use/#how-does-this-tool-define-contributions-in-the-reports\"\u003eour definition of contributors\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbconvert/graphs/contributors?from=2025-01-28\u0026amp;to=2026-01-29\u0026amp;type=c\"\u003eGitHub contributors page for this release\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/bollwyvl\"\u003e\u003ccode\u003e@​bollwyvl\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Abollwyvl+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3ACarreau+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ah3pdesign+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/hackowitz-af\"\u003e\u003ccode\u003e@​hackowitz-af\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ahackowitz-af+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Akrassowski+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/mberlanda\"\u003e\u003ccode\u003e@​mberlanda\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Amberlanda+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/mgorny\"\u003e\u003ccode\u003e@​mgorny\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Amgorny+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Aminrk+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/MSeal\"\u003e\u003ccode\u003e@​MSeal\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3AMSeal+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/QuLogic\"\u003e\u003ccode\u003e@​QuLogic\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3AQuLogic+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/salmankadaya\"\u003e\u003ccode\u003e@​salmankadaya\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Asalmankadaya+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ashreve+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/th3gowtham\"\u003e\u003ccode\u003e@​th3gowtham\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ath3gowtham+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e)\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jupyter/nbconvert/blob/main/CHANGELOG.md\"\u003enbconvert's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.17.0\u003c/h2\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbconvert/compare/v7.16.6...c9ac1d1040459ed1ff9eb34e9918ce5a87cf9d71\"\u003eFull Changelog\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eEnhancements made\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for arbitrary browser arguments \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2227\"\u003e#2227\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugs fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix QtPNGExporter returning empty bytes on macOS \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2264\"\u003e#2264\u003c/a\u003e (\u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/QuLogic\"\u003e\u003ccode\u003e@​QuLogic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix CVE-2025-53000: Secure Inkscape Windows path (registry first + block CWD) \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2261\"\u003e#2261\u003c/a\u003e (\u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/mberlanda\"\u003e\u003ccode\u003e@​mberlanda\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/salmankadaya\"\u003e\u003ccode\u003e@​salmankadaya\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/th3gowtham\"\u003e\u003ccode\u003e@​th3gowtham\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix get_export_names and get_exporter default args \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2228\"\u003e#2228\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePyPA-Compliant Summary \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2226\"\u003e#2226\u003c/a\u003e (\u003ca href=\"https://github.com/hackowitz-af\"\u003e\u003ccode\u003e@​hackowitz-af\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMaintenance and upkeep improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eavoid cov environment on free-threaded Pythons \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2267\"\u003e#2267\u003c/a\u003e (\u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate pre-commit, and fix all issues. \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2238\"\u003e#2238\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop test on 3.9, test on 3.13, 3.14, 3.14t \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2237\"\u003e#2237\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the actions group across 1 directory with 2 updates \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2231\"\u003e#2231\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003e@flaky.flaky\u003c/code\u003e decorate with pytest marker \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2229\"\u003e#2229\u003c/a\u003e (\u003ca href=\"https://github.com/mgorny\"\u003e\u003ccode\u003e@​mgorny\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate to mermaid 11.10.0 \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2224\"\u003e#2224\u003c/a\u003e (\u003ca href=\"https://github.com/bollwyvl\"\u003e\u003ccode\u003e@​bollwyvl\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.8, fix the CI tests \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2221\"\u003e#2221\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse \u003ccode\u003eintersphinx_registry\u003c/code\u003e \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2232\"\u003e#2232\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors to this release\u003c/h3\u003e\n\u003cp\u003eThe following people contributed discussions, new ideas, code and documentation contributions, and review.\nSee \u003ca href=\"https://github-activity.readthedocs.io/en/latest/use/#how-does-this-tool-define-contributions-in-the-reports\"\u003eour definition of contributors\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbconvert/graphs/contributors?from=2025-01-28\u0026amp;to=2026-01-29\u0026amp;type=c\"\u003eGitHub contributors page for this release\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/bollwyvl\"\u003e\u003ccode\u003e@​bollwyvl\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Abollwyvl+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3ACarreau+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ah3pdesign+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/hackowitz-af\"\u003e\u003ccode\u003e@​hackowitz-af\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ahackowitz-af+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Akrassowski+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/mberlanda\"\u003e\u003ccode\u003e@​mberlanda\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Amberlanda+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/mgorny\"\u003e\u003ccode\u003e@​mgorny\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Amgorny+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Aminrk+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/MSeal\"\u003e\u003ccode\u003e@​MSeal\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3AMSeal+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/QuLogic\"\u003e\u003ccode\u003e@​QuLogic\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3AQuLogic+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/salmankadaya\"\u003e\u003ccode\u003e@​salmankadaya\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Asalmankadaya+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ashreve+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/th3gowtham\"\u003e\u003ccode\u003e@​th3gowtham\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ath3gowtham+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e)\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/21b35d85b46f5ff0956d3d088a52b9bef00e8196\"\u003e\u003ccode\u003e21b35d8\u003c/code\u003e\u003c/a\u003e Publish 7.17.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/c9ac1d1040459ed1ff9eb34e9918ce5a87cf9d71\"\u003e\u003ccode\u003ec9ac1d1\u003c/code\u003e\u003c/a\u003e Fix CVE-2025-53000: Secure Inkscape Windows path (registry first + block CWD)...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/b13276d80ae6fadbfda981304810e26f421c4ced\"\u003e\u003ccode\u003eb13276d\u003c/code\u003e\u003c/a\u003e avoid cov environment on free-threaded Pythons (\u003ca href=\"https://redirect.github.com/jupyter/nbconvert/issues/2267\"\u003e#2267\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/7c7055fe833fe9832e6f9a64fa5f67d66692c8d6\"\u003e\u003ccode\u003e7c7055f\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] auto fixes from pre-commit.com hooks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/74f3ddd37ef4b7ffb5eee9acbf52062217c15852\"\u003e\u003ccode\u003e74f3ddd\u003c/code\u003e\u003c/a\u003e Fix QtPNGExporter returning empty bytes on macOS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/216550b2aae4c329f4dab597a96ae7cac30de79a\"\u003e\u003ccode\u003e216550b\u003c/code\u003e\u003c/a\u003e fix links\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/39777ac5716350e994171d025a7369c58b0afc8c\"\u003e\u003ccode\u003e39777ac\u003c/code\u003e\u003c/a\u003e try to comment fialing test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/7b591ca526f2598dbae3256a53765659c3edcf14\"\u003e\u003ccode\u003e7b591ca\u003c/code\u003e\u003c/a\u003e ruff-check\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/6ec7638a3dc7a0bc2c533c116202d7f9b07ce9d9\"\u003e\u003ccode\u003e6ec7638\u003c/code\u003e\u003c/a\u003e parent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/59414b36f94e318d4207e8af863167047d936c19\"\u003e\u003ccode\u003e59414b3\u003c/code\u003e\u003c/a\u003e fix mypy\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jupyter/nbconvert/compare/v7.16.6...v7.17.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.4 to 2.33.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.33.0\u003c/h2\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that uses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report any gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts contents to a non-deterministic location to prevent malicious file replacement. This does not affect default usage of Requests, only applications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause malformed authentication to be applied to Requests on Python 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\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/M0d3v1\"\u003e\u003ccode\u003e@​M0d3v1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6865\"\u003epsf/requests#6865\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminvakil\"\u003e\u003ccode\u003e@​aminvakil\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7220\"\u003epsf/requests#7220\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/E8Price\"\u003e\u003ccode\u003e@​E8Price\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6960\"\u003epsf/requests#6960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mitre88\"\u003e\u003ccode\u003e@​mitre88\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7244\"\u003epsf/requests#7244\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/magsen\"\u003e\u003ccode\u003e@​magsen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6553\"\u003epsf/requests#6553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rohan5commit\"\u003e\u003ccode\u003e@​Rohan5commit\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7227\"\u003epsf/requests#7227\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\"\u003ehttps://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that\nuses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report\nany gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts\ncontents to a non-deterministic location to prevent malicious file\nreplacement. This does not affect default usage of Requests, only\napplications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause\nmalformed authentication to be applied to Requests on\nPython 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/bc04dfd6dad4cb02cd92f5daa81eb562d280a761\"\u003e\u003ccode\u003ebc04dfd\u003c/code\u003e\u003c/a\u003e v2.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/66d21cb07bd6255b1280291c4fafb71803cdb3b7\"\u003e\u003ccode\u003e66d21cb\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/8b9bc8fc0f63be84602387913c4b689f19efd028\"\u003e\u003ccode\u003e8b9bc8f\u003c/code\u003e\u003c/a\u003e Move badges to top of README (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7293\"\u003e#7293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/e331a288f369973f5de0ec8901c94cae4fa87286\"\u003e\u003ccode\u003ee331a28\u003c/code\u003e\u003c/a\u003e Remove unused extraction call (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7292\"\u003e#7292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/753fd08c5eacce0aa0df73fe47e49525c67e0a29\"\u003e\u003ccode\u003e753fd08\u003c/code\u003e\u003c/a\u003e docs: fix FAQ grammar in httplib2 example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/774a0b837a194ee885d4fdd9ca947900cc3daf71\"\u003e\u003ccode\u003e774a0b8\u003c/code\u003e\u003c/a\u003e docs(socks): same block as other sections\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/9c72a41bec8597f948c9d8caa5dc3f12273b3303\"\u003e\u003ccode\u003e9c72a41\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.33.0 to 4.34.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/ebf71906798ec82f34e07d3168f8b8aecaf8a3be\"\u003e\u003ccode\u003eebf7190\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.32.0 to 4.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/0e4ae38f0c93d4f92a96c774bd52c069d12a4798\"\u003e\u003ccode\u003e0e4ae38\u003c/code\u003e\u003c/a\u003e docs: exclude Response.is_permanent_redirect from API docs (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7244\"\u003e#7244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d568f47278492e630cc990a259047c67991d007a\"\u003e\u003ccode\u003ed568f47\u003c/code\u003e\u003c/a\u003e docs: clarify Quickstart POST example (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6960\"\u003e#6960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.4...v2.33.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.5 to 2.33.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.33.0\u003c/h2\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that uses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report any gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts contents to a non-deterministic location to prevent malicious file replacement. This does not affect default usage of Requests, only applications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause malformed authentication to be applied to Requests on Python 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\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/M0d3v1\"\u003e\u003ccode\u003e@​M0d3v1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6865\"\u003epsf/requests#6865\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminvakil\"\u003e\u003ccode\u003e@​aminvakil\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7220\"\u003epsf/requests#7220\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/E8Price\"\u003e\u003ccode\u003e@​E8Price\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6960\"\u003epsf/requests#6960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mitre88\"\u003e\u003ccode\u003e@​mitre88\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7244\"\u003epsf/requests#7244\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/magsen\"\u003e\u003ccode\u003e@​magsen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6553\"\u003epsf/requests#6553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rohan5commit\"\u003e\u003ccode\u003e@​Rohan5commit\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7227\"\u003epsf/requests#7227\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\"\u003ehttps://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that\nuses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report\nany gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts\ncontents to a non-deterministic location to prevent malicious file\nreplacement. This does not affect default usage of Requests, only\napplications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause\nmalformed authentication to be applied to Requests on\nPython 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/bc04dfd6dad4cb02cd92f5daa81eb562d280a761\"\u003e\u003ccode\u003ebc04dfd\u003c/code\u003e\u003c/a\u003e v2.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/66d21cb07bd6255b1280291c4fafb71803cdb3b7\"\u003e\u003ccode\u003e66d21cb\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/8b9bc8fc0f63be84602387913c4b689f19efd028\"\u003e\u003ccode\u003e8b9bc8f\u003c/code\u003e\u003c/a\u003e Move badges to top of README (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7293\"\u003e#7293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/e331a288f369973f5de0ec8901c94cae4fa87286\"\u003e\u003ccode\u003ee331a28\u003c/code\u003e\u003c/a\u003e Remove unused extraction call (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7292\"\u003e#7292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/753fd08c5eacce0aa0df73fe47e49525c67e0a29\"\u003e\u003ccode\u003e753fd08\u003c/code\u003e\u003c/a\u003e docs: fix FAQ grammar in httplib2 example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/774a0b837a194ee885d4fdd9ca947900cc3daf71\"\u003e\u003ccode\u003e774a0b8\u003c/code\u003e\u003c/a\u003e docs(socks): same block as other sections\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/9c72a41bec8597f948c9d8caa5dc3f12273b3303\"\u003e\u003ccode\u003e9c72a41\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.33.0 to 4.34.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/ebf71906798ec82f34e07d3168f8b8aecaf8a3be\"\u003e\u003ccode\u003eebf7190\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.32.0 to 4.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/0e4ae38f0c93d4f92a96c774bd52c069d12a4798\"\u003e\u003ccode\u003e0e4ae38\u003c/code\u003e\u003c/a\u003e docs: exclude Response.is_permanent_redirect from API docs (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7244\"\u003e#7244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d568f47278492e630cc990a259047c67991d007a\"\u003e\u003ccode\u003ed568f47\u003c/code\u003e\u003c/a\u003e docs: clarify Quickstart POST example (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6960\"\u003e#6960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.4...v2.33.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.4 to 2.33.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.33.0\u003c/h2\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that uses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report any gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts contents to a non-deterministic location to prevent malicious file replacement. This does not affect default usage of Requests, only applications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause malformed authentication to be applied to Requests on Python 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\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/M0d3v1\"\u003e\u003ccode\u003e@​M0d3v1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6865\"\u003epsf/requests#6865\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminvakil\"\u003e\u003ccode\u003e@​aminvakil\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7220\"\u003epsf/requests#7220\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/E8Price\"\u003e\u003ccode\u003e@​E8Price\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6960\"\u003epsf/requests#6960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mitre88\"\u003e\u003ccode\u003e@​mitre88\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7244\"\u003epsf/requests#7244\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/magsen\"\u003e\u003ccode\u003e@​magsen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6553\"\u003epsf/requests#6553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rohan5commit\"\u003e\u003ccode\u003e@​Rohan5commit\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7227\"\u003epsf/requests#7227\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\"\u003ehttps://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that\nuses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report\nany gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts\ncontents to a non-deterministic location to prevent malicious file\nreplacement. This does not affect default usage of Requests, only\napplications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause\nmalformed authentication to be applied to Requests on\nPython 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/bc04dfd6dad4cb02cd92f5daa81eb562d280a761\"\u003e\u003ccode\u003ebc04dfd\u003c/code\u003e\u003c/a\u003e v2.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/66d21cb07bd6255b1280291c4fafb71803cdb3b7\"\u003e\u003ccode\u003e66d21cb\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/8b9bc8fc0f63be84602387913c4b689f19efd028\"\u003e\u003ccode\u003e8b9bc8f\u003c/code\u003e\u003c/a\u003e Move badges to top of README (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7293\"\u003e#7293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/e331a288f369973f5de0ec8901c94cae4fa87286\"\u003e\u003ccode\u003ee331a28\u003c/code\u003e\u003c/a\u003e Remove unused extraction call (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7292\"\u003e#7292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/753fd08c5eacce0aa0df73fe47e49525c67e0a29\"\u003e\u003ccode\u003e753fd08\u003c/code\u003e\u003c/a\u003e docs: fix FAQ grammar in httplib2 example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/774a0b837a194ee885d4fdd9ca947900cc3daf71\"\u003e\u003ccode\u003e774a0b8\u003c/code\u003e\u003c/a\u003e docs(socks): same block as other sections\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/9c72a41bec8597f948c9d8caa5dc3f12273b3303\"\u003e\u003ccode\u003e9c72a41\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.33.0 to 4.34.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/ebf71906798ec82f34e07d3168f8b8aecaf8a3be\"\u003e\u003ccode\u003eebf7190\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.32.0 to 4.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/0e4ae38f0c93d4f92a96c774bd52c069d12a4798\"\u003e\u003ccode\u003e0e4ae38\u003c/code\u003e\u003c/a\u003e docs: exclude Response.is_permanent_redirect from API docs (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7244\"\u003e#7244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d568f47278492e630cc990a259047c67991d007a\"\u003e\u003ccode\u003ed568f47\u003c/code\u003e\u003c/a\u003e docs: clarify Quickstart POST example (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6960\"\u003e#6960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.4...v2.33.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.4 to 2.33.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.33.0\u003c/h2\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that uses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report any gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts contents to a non-deterministic location to prevent malicious file replacement. This does not affect default usage of Requests, only applications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause malformed authentication to be applied to Requests on Python 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\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/M0d3v1\"\u003e\u003ccode\u003e@​M0d3v1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6865\"\u003epsf/requests#6865\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminvakil\"\u003e\u003ccode\u003e@​aminvakil\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7220\"\u003epsf/requests#7220\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/E8Price\"\u003e\u003ccode\u003e@​E8Price\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6960\"\u003epsf/requests#6960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mitre88\"\u003e\u003ccode\u003e@​mitre88\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7244\"\u003epsf/requests#7244\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/magsen\"\u003e\u003ccode\u003e@​magsen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6553\"\u003epsf/requests#6553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rohan5commit\"\u003e\u003ccode\u003e@​Rohan5commit\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7227\"\u003epsf/requests#7227\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\"\u003ehttps://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that\nuses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report\nany gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts\ncontents to a non-deterministic location to prevent malicious file\nreplacement. This does not affect default usage of Requests, only\napplications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause\nmalformed authentication to be applied to Requests on\nPython 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/bc04dfd6dad4cb02cd92f5daa81eb562d280a761\"\u003e\u003ccode\u003ebc04dfd\u003c/code\u003e\u003c/a\u003e v2.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/66d21cb07bd6255b1280291c4fafb71803cdb3b7\"\u003e\u003ccode\u003e66d21cb\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/8b9bc8fc0f63be84602387913c4b689f19efd028\"\u003e\u003ccode\u003e8b9bc8f\u003c/code\u003e\u003c/a\u003e Move badges to top of README (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7293\"\u003e#7293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/e331a288f369973f5de0ec8901c94cae4fa87286\"\u003e\u003ccode\u003ee331a28\u003c/code\u003e\u003c/a\u003e Remove unused extraction call (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7292\"\u003e#7292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/753fd08c5eacce0aa0df73fe47e49525c67e0a29\"\u003e\u003ccode\u003e753fd08\u003c/code\u003e\u003c/a\u003e docs: fix FAQ grammar in httplib2 example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/774a0b837a194ee885d4fdd9ca947900cc3daf71\"\u003e\u003ccode\u003e774a0b8\u003c/code\u003e\u003c/a\u003e docs(socks): same block as other sections\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/9c72a41bec8597f948c9d8caa5dc3f12273b3303\"\u003e\u003ccode\u003e9c72a41\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.33.0 to 4.34.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/ebf71906798ec82f34e07d3168f8b8aecaf8a3be\"\u003e\u003ccode\u003eebf7190\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.32.0 to 4.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/0e4ae38f0c93d4f92a96c774bd52c069d12a4798\"\u003e\u003ccode\u003e0e4ae38\u003c/code\u003e\u003c/a\u003e docs: exclude Response.is_permanent_redirect from API docs (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7244\"\u003e#7244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d568f47278492e630cc990a259047c67991d007a\"\u003e\u003ccode\u003ed568f47\u003c/code\u003e\u003c/a\u003e docs: clarify Quickstart POST example (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6960\"\u003e#6960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.4...v2.33.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.4 to 2.33.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.33.0\u003c/h2\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that uses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report any gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts contents to a non-deterministic location to prevent malicious file replacement. This does not affect default usage of Requests, only applications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause malformed authentication to be applied to Requests on Python 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\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/M0d3v1\"\u003e\u003ccode\u003e@​M0d3v1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6865\"\u003epsf/requests#6865\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminvakil\"\u003e\u003ccode\u003e@​aminvakil\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7220\"\u003epsf/requests#7220\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/E8Price\"\u003e\u003ccode\u003e@​E8Price\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6960\"\u003epsf/requests#6960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mitre88\"\u003e\u003ccode\u003e@​mitre88\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7244\"\u003epsf/requests#7244\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/magsen\"\u003e\u003ccode\u003e@​magsen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6553\"\u003epsf/requests#6553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rohan5commit\"\u003e\u003ccode\u003e@​Rohan5commit\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7227\"\u003epsf/requests#7227\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\"\u003ehttps://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that\nuses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report\nany gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts\ncontents to a non-deterministic location to prevent malicious file\nreplacement. This does not affect default usage of Requests, only\napplications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause\nmalformed authentication to be applied to Requests on\nPython 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/bc04dfd6dad4cb02cd92f5daa81eb562d280a761\"\u003e\u003ccode\u003ebc04dfd\u003c/code\u003e\u003c/a\u003e v2.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/66d21cb07bd6255b1280291c4fafb71803cdb3b7\"\u003e\u003ccode\u003e66d21cb\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/8b9bc8fc0f63be84602387913c4b689f19efd028\"\u003e\u003ccode\u003e8b9bc8f\u003c/code\u003e\u003c/a\u003e Move badges to top of README (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7293\"\u003e#7293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/e331a288f369973f5de0ec8901c94cae4fa87286\"\u003e\u003ccode\u003ee331a28\u003c/code\u003e\u003c/a\u003e Remove unused extraction call (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7292\"\u003e#7292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/753fd08c5eacce0aa0df73fe47e49525c67e0a29\"\u003e\u003ccode\u003e753fd08\u003c/code\u003e\u003c/a\u003e docs: fix FAQ grammar in httplib2 example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/774a0b837a194ee885d4fdd9ca947900cc3daf71\"\u003e\u003ccode\u003e774a0b8\u003c/code\u003e\u003c/a\u003e docs(socks): same block as other sections\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/9c72a41bec8597f948c9d8caa5dc3f12273b3303\"\u003e\u003ccode\u003e9c72a41\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.33.0 to 4.34.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/ebf71906798ec82f34e07d3168f8b8aecaf8a3be\"\u003e\u003ccode\u003eebf7190\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.32.0 to 4.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/0e4ae38f0c93d4f92a96c774bd52c069d12a4798\"\u003e\u003ccode\u003e0e4ae38\u003c/code\u003e\u003c/a\u003e docs: exclude Response.is_permanent_redirect from API docs (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7244\"\u003e#7244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d568f47278492e630cc990a259047c67991d007a\"\u003e\u003ccode\u003ed568f47\u003c/code\u003e\u003c/a\u003e docs: clarify Quickstart POST example (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6960\"\u003e#6960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.4...v2.33.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `flask` from 2.2.5 to 3.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/releases\"\u003eflask's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.3\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.3 security fix release, which fixes a security issue but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.3/\"\u003ehttps://pypi.org/project/Flask/3.1.3/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-3\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-3\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys but not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. \u003ca href=\"https://github.com/pallets/flask/security/advisories/GHSA-68rp-wp8r-4726\"\u003eGHSA-68rp-wp8r-4726\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.2\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.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/Flask/3.1.2/\"\u003ehttps://pypi.org/project/Flask/3.1.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-2\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-2\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/38?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/38?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5774\"\u003e#5774\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state of \u003ccode\u003esession\u003c/code\u003e is correct. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5786\"\u003e#5786\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5776\"\u003e#5776\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.1\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.1 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.1/\"\u003ehttps://pypi.org/project/Flask/3.1.1/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/flask/milestone/36?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/36?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. GHSA-4grg-w6v8-c28g\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5645\"\u003e#5645\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loa...\n\n_Description has been truncated_","html_url":"https://github.com/Reality2byte/python-docs-samples/pull/150","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Reality2byte%2Fpython-docs-samples/issues/150","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/150/packages"}},{"old_version":"2.6.3","new_version":"3.2.0b1","update_type":"major","path":null,"pr_created_at":"2026-03-26T14:19:09.000Z","version_change":"2.6.3 → 3.2.0b1","issue":{"uuid":"4144396385","node_id":"PR_kwDOO-I9t87Nvas_","number":8,"state":"closed","title":"chore(deps): bump the pip group across 25 directories with 13 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-04-02T04:10:16.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-26T14:19:09.000Z","updated_at":"2026-04-02T04:10:18.000Z","time_to_close":568267,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"pip","update_count":13,"packages":[{"name":"requests","old_version":"2.31.0","new_version":"2.33.0","repository_url":"https://github.com/psf/requests"},{"name":"flask","old_version":"2.2.5","new_version":"3.1.3","repository_url":"https://github.com/pallets/flask"},{"name":"pyopenssl","old_version":"23.2.0","new_version":"26.0.0","repository_url":"https://github.com/pyca/pyopenssl"},{"name":"werkzeug","old_version":"2.2.3","new_version":"3.1.6","repository_url":"https://github.com/pallets/werkzeug"},{"name":"apache-airflow","old_version":"2.6.3","new_version":"3.2.0b1","repository_url":"https://github.com/apache/airflow"},{"name":"black","old_version":"23.1a1","new_version":"26.3.1","repository_url":"https://github.com/psf/black"},{"name":"cryptography","old_version":"40.0.2","new_version":"46.0.5","repository_url":"https://github.com/pyca/cryptography"},{"name":"google-cloud-aiplatform","old_version":"1.27.1","new_version":"1.133.0","repository_url":"https://github.com/googleapis/python-aiplatform"},{"name":"protobuf","old_version":"4.23.4","new_version":"5.29.6","repository_url":"https://github.com/protocolbuffers/protobuf"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pip group with 1 update in the /alloydb/notebooks directory: [nbconvert](https://github.com/jupyter/nbconvert).\nBumps the pip group with 1 update in the /aml-ai directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 1 update in the /auth/service-to-service directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 1 update in the /bigquery/continuous-queries directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 4 updates in the /cloud-media-livestream/keypublisher directory: [requests](https://github.com/psf/requests), [flask](https://github.com/pallets/flask), [pyopenssl](https://github.com/pyca/pyopenssl) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 2 updates in the /cloud_scheduler/snippets directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 1 update in the /cloud_tasks/http_queues directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 9 updates in the /composer/2022_airflow_summit directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [requests](https://github.com/psf/requests) | `2.31.0` | `2.33.0` |\n| [flask](https://github.com/pallets/flask) | `2.2.5` | `3.1.3` |\n| [pyopenssl](https://github.com/pyca/pyopenssl) | `23.2.0` | `26.0.0` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `2.2.3` | `3.1.6` |\n| [apache-airflow](https://github.com/apache/airflow) | `2.6.3` | `3.2.0b1` |\n| [black](https://github.com/psf/black) | `23.1a1` | `26.3.1` |\n| [cryptography](https://github.com/pyca/cryptography) | `40.0.2` | `46.0.5` |\n| [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) | `1.27.1` | `1.133.0` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `4.23.4` | `5.29.6` |\n\nBumps the pip group with 5 updates in the /composer/airflow_1_samples directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [flask](https://github.com/pallets/flask) | `1.1.2` | `3.1.3` |\n| [pyopenssl](https://github.com/pyca/pyopenssl) | `20.0.0` | `26.0.0` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `0.16.1` | `3.1.6` |\n| [cryptography](https://github.com/pyca/cryptography) | `3.2.1` | `46.0.5` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `3.14.0` | `5.29.6` |\n\nBumps the pip group with 9 updates in the /composer/cicd_sample directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [requests](https://github.com/psf/requests) | `2.31.0` | `2.33.0` |\n| [flask](https://github.com/pallets/flask) | `2.2.5` | `3.1.3` |\n| [pyopenssl](https://github.com/pyca/pyopenssl) | `23.2.0` | `26.0.0` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `2.2.3` | `3.1.6` |\n| [apache-airflow](https://github.com/apache/airflow) | `2.6.3` | `3.2.0b1` |\n| [black](https://github.com/psf/black) | `23.1a1` | `26.3.1` |\n| [cryptography](https://github.com/pyca/cryptography) | `40.0.2` | `46.0.5` |\n| [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) | `1.27.1` | `1.133.0` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `4.23.4` | `5.29.6` |\n\nBumps the pip group with 1 update in the /composer/rest directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 1 update in the /compute/auth directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 1 update in the /compute/client_library directory: [black](https://github.com/psf/black).\nBumps the pip group with 2 updates in the /compute/encryption directory: [requests](https://github.com/psf/requests) and [cryptography](https://github.com/pyca/cryptography).\nBumps the pip group with 1 update in the /compute/metadata directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 1 update in the /compute/oslogin directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 3 updates in the /dataflow/gemma directory: [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform), [protobuf](https://github.com/protocolbuffers/protobuf) and [keras](https://github.com/keras-team/keras).\nBumps the pip group with 1 update in the /dataflow/gemma-flex-template directory: [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform).\nBumps the pip group with 3 updates in the /dataflow/run-inference directory: [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform), [torch](https://github.com/pytorch/pytorch) and [transformers](https://github.com/huggingface/transformers).\nBumps the pip group with 2 updates in the /datastore/cloud-ndb directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 2 updates in the /dialogflow directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 2 updates in the /dialogflow-cx directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 2 updates in the /gemma2 directory: [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) and [protobuf](https://github.com/protocolbuffers/protobuf).\nBumps the pip group with 4 updates in the /iap directory: [requests](https://github.com/psf/requests), [flask](https://github.com/pallets/flask), [werkzeug](https://github.com/pallets/werkzeug) and [cryptography](https://github.com/pyca/cryptography).\nBumps the pip group with 1 update in the /media_cdn directory: [cryptography](https://github.com/pyca/cryptography).\n\nUpdates `nbconvert` from 7.16.6 to 7.17.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jupyter/nbconvert/releases\"\u003enbconvert's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.17.0\u003c/h2\u003e\n\u003ch2\u003e7.17.0\u003c/h2\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbconvert/compare/v7.16.6...c9ac1d1040459ed1ff9eb34e9918ce5a87cf9d71\"\u003eFull Changelog\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eEnhancements made\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for arbitrary browser arguments \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2227\"\u003e#2227\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugs fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix QtPNGExporter returning empty bytes on macOS \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2264\"\u003e#2264\u003c/a\u003e (\u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/QuLogic\"\u003e\u003ccode\u003e@​QuLogic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix CVE-2025-53000: Secure Inkscape Windows path (registry first + block CWD) \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2261\"\u003e#2261\u003c/a\u003e (\u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/mberlanda\"\u003e\u003ccode\u003e@​mberlanda\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/salmankadaya\"\u003e\u003ccode\u003e@​salmankadaya\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/th3gowtham\"\u003e\u003ccode\u003e@​th3gowtham\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix get_export_names and get_exporter default args \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2228\"\u003e#2228\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePyPA-Compliant Summary \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2226\"\u003e#2226\u003c/a\u003e (\u003ca href=\"https://github.com/hackowitz-af\"\u003e\u003ccode\u003e@​hackowitz-af\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMaintenance and upkeep improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eavoid cov environment on free-threaded Pythons \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2267\"\u003e#2267\u003c/a\u003e (\u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate pre-commit, and fix all issues. \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2238\"\u003e#2238\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop test on 3.9, test on 3.13, 3.14, 3.14t \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2237\"\u003e#2237\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the actions group across 1 directory with 2 updates \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2231\"\u003e#2231\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003e@flaky.flaky\u003c/code\u003e decorate with pytest marker \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2229\"\u003e#2229\u003c/a\u003e (\u003ca href=\"https://github.com/mgorny\"\u003e\u003ccode\u003e@​mgorny\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate to mermaid 11.10.0 \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2224\"\u003e#2224\u003c/a\u003e (\u003ca href=\"https://github.com/bollwyvl\"\u003e\u003ccode\u003e@​bollwyvl\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.8, fix the CI tests \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2221\"\u003e#2221\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse \u003ccode\u003eintersphinx_registry\u003c/code\u003e \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2232\"\u003e#2232\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors to this release\u003c/h3\u003e\n\u003cp\u003eThe following people contributed discussions, new ideas, code and documentation contributions, and review.\nSee \u003ca href=\"https://github-activity.readthedocs.io/en/latest/use/#how-does-this-tool-define-contributions-in-the-reports\"\u003eour definition of contributors\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbconvert/graphs/contributors?from=2025-01-28\u0026amp;to=2026-01-29\u0026amp;type=c\"\u003eGitHub contributors page for this release\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/bollwyvl\"\u003e\u003ccode\u003e@​bollwyvl\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Abollwyvl+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3ACarreau+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ah3pdesign+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/hackowitz-af\"\u003e\u003ccode\u003e@​hackowitz-af\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ahackowitz-af+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Akrassowski+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/mberlanda\"\u003e\u003ccode\u003e@​mberlanda\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Amberlanda+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/mgorny\"\u003e\u003ccode\u003e@​mgorny\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Amgorny+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Aminrk+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/MSeal\"\u003e\u003ccode\u003e@​MSeal\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3AMSeal+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/QuLogic\"\u003e\u003ccode\u003e@​QuLogic\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3AQuLogic+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/salmankadaya\"\u003e\u003ccode\u003e@​salmankadaya\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Asalmankadaya+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ashreve+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/th3gowtham\"\u003e\u003ccode\u003e@​th3gowtham\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ath3gowtham+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e)\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jupyter/nbconvert/blob/main/CHANGELOG.md\"\u003enbconvert's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.17.0\u003c/h2\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbconvert/compare/v7.16.6...c9ac1d1040459ed1ff9eb34e9918ce5a87cf9d71\"\u003eFull Changelog\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eEnhancements made\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for arbitrary browser arguments \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2227\"\u003e#2227\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugs fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix QtPNGExporter returning empty bytes on macOS \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2264\"\u003e#2264\u003c/a\u003e (\u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/QuLogic\"\u003e\u003ccode\u003e@​QuLogic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix CVE-2025-53000: Secure Inkscape Windows path (registry first + block CWD) \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2261\"\u003e#2261\u003c/a\u003e (\u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/mberlanda\"\u003e\u003ccode\u003e@​mberlanda\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/salmankadaya\"\u003e\u003ccode\u003e@​salmankadaya\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/th3gowtham\"\u003e\u003ccode\u003e@​th3gowtham\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix get_export_names and get_exporter default args \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2228\"\u003e#2228\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePyPA-Compliant Summary \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2226\"\u003e#2226\u003c/a\u003e (\u003ca href=\"https://github.com/hackowitz-af\"\u003e\u003ccode\u003e@​hackowitz-af\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMaintenance and upkeep improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eavoid cov environment on free-threaded Pythons \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2267\"\u003e#2267\u003c/a\u003e (\u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate pre-commit, and fix all issues. \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2238\"\u003e#2238\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop test on 3.9, test on 3.13, 3.14, 3.14t \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2237\"\u003e#2237\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the actions group across 1 directory with 2 updates \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2231\"\u003e#2231\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003e@flaky.flaky\u003c/code\u003e decorate with pytest marker \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2229\"\u003e#2229\u003c/a\u003e (\u003ca href=\"https://github.com/mgorny\"\u003e\u003ccode\u003e@​mgorny\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate to mermaid 11.10.0 \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2224\"\u003e#2224\u003c/a\u003e (\u003ca href=\"https://github.com/bollwyvl\"\u003e\u003ccode\u003e@​bollwyvl\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.8, fix the CI tests \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2221\"\u003e#2221\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse \u003ccode\u003eintersphinx_registry\u003c/code\u003e \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2232\"\u003e#2232\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors to this release\u003c/h3\u003e\n\u003cp\u003eThe following people contributed discussions, new ideas, code and documentation contributions, and review.\nSee \u003ca href=\"https://github-activity.readthedocs.io/en/latest/use/#how-does-this-tool-define-contributions-in-the-reports\"\u003eour definition of contributors\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbconvert/graphs/contributors?from=2025-01-28\u0026amp;to=2026-01-29\u0026amp;type=c\"\u003eGitHub contributors page for this release\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/bollwyvl\"\u003e\u003ccode\u003e@​bollwyvl\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Abollwyvl+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3ACarreau+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ah3pdesign+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/hackowitz-af\"\u003e\u003ccode\u003e@​hackowitz-af\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ahackowitz-af+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Akrassowski+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/mberlanda\"\u003e\u003ccode\u003e@​mberlanda\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Amberlanda+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/mgorny\"\u003e\u003ccode\u003e@​mgorny\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Amgorny+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Aminrk+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/MSeal\"\u003e\u003ccode\u003e@​MSeal\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3AMSeal+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/QuLogic\"\u003e\u003ccode\u003e@​QuLogic\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3AQuLogic+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/salmankadaya\"\u003e\u003ccode\u003e@​salmankadaya\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Asalmankadaya+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ashreve+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/th3gowtham\"\u003e\u003ccode\u003e@​th3gowtham\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ath3gowtham+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e)\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/21b35d85b46f5ff0956d3d088a52b9bef00e8196\"\u003e\u003ccode\u003e21b35d8\u003c/code\u003e\u003c/a\u003e Publish 7.17.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/c9ac1d1040459ed1ff9eb34e9918ce5a87cf9d71\"\u003e\u003ccode\u003ec9ac1d1\u003c/code\u003e\u003c/a\u003e Fix CVE-2025-53000: Secure Inkscape Windows path (registry first + block CWD)...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/b13276d80ae6fadbfda981304810e26f421c4ced\"\u003e\u003ccode\u003eb13276d\u003c/code\u003e\u003c/a\u003e avoid cov environment on free-threaded Pythons (\u003ca href=\"https://redirect.github.com/jupyter/nbconvert/issues/2267\"\u003e#2267\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/7c7055fe833fe9832e6f9a64fa5f67d66692c8d6\"\u003e\u003ccode\u003e7c7055f\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] auto fixes from pre-commit.com hooks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/74f3ddd37ef4b7ffb5eee9acbf52062217c15852\"\u003e\u003ccode\u003e74f3ddd\u003c/code\u003e\u003c/a\u003e Fix QtPNGExporter returning empty bytes on macOS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/216550b2aae4c329f4dab597a96ae7cac30de79a\"\u003e\u003ccode\u003e216550b\u003c/code\u003e\u003c/a\u003e fix links\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/39777ac5716350e994171d025a7369c58b0afc8c\"\u003e\u003ccode\u003e39777ac\u003c/code\u003e\u003c/a\u003e try to comment fialing test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/7b591ca526f2598dbae3256a53765659c3edcf14\"\u003e\u003ccode\u003e7b591ca\u003c/code\u003e\u003c/a\u003e ruff-check\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/6ec7638a3dc7a0bc2c533c116202d7f9b07ce9d9\"\u003e\u003ccode\u003e6ec7638\u003c/code\u003e\u003c/a\u003e parent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/59414b36f94e318d4207e8af863167047d936c19\"\u003e\u003ccode\u003e59414b3\u003c/code\u003e\u003c/a\u003e fix mypy\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jupyter/nbconvert/compare/v7.16.6...v7.17.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.4 to 2.33.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.33.0\u003c/h2\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that uses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report any gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts contents to a non-deterministic location to prevent malicious file replacement. This does not affect default usage of Requests, only applications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause malformed authentication to be applied to Requests on Python 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\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/M0d3v1\"\u003e\u003ccode\u003e@​M0d3v1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6865\"\u003epsf/requests#6865\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminvakil\"\u003e\u003ccode\u003e@​aminvakil\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7220\"\u003epsf/requests#7220\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/E8Price\"\u003e\u003ccode\u003e@​E8Price\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6960\"\u003epsf/requests#6960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mitre88\"\u003e\u003ccode\u003e@​mitre88\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7244\"\u003epsf/requests#7244\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/magsen\"\u003e\u003ccode\u003e@​magsen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6553\"\u003epsf/requests#6553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rohan5commit\"\u003e\u003ccode\u003e@​Rohan5commit\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7227\"\u003epsf/requests#7227\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\"\u003ehttps://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that\nuses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report\nany gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts\ncontents to a non-deterministic location to prevent malicious file\nreplacement. This does not affect default usage of Requests, only\napplications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause\nmalformed authentication to be applied to Requests on\nPython 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/bc04dfd6dad4cb02cd92f5daa81eb562d280a761\"\u003e\u003ccode\u003ebc04dfd\u003c/code\u003e\u003c/a\u003e v2.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/66d21cb07bd6255b1280291c4fafb71803cdb3b7\"\u003e\u003ccode\u003e66d21cb\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/8b9bc8fc0f63be84602387913c4b689f19efd028\"\u003e\u003ccode\u003e8b9bc8f\u003c/code\u003e\u003c/a\u003e Move badges to top of README (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7293\"\u003e#7293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/e331a288f369973f5de0ec8901c94cae4fa87286\"\u003e\u003ccode\u003ee331a28\u003c/code\u003e\u003c/a\u003e Remove unused extraction call (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7292\"\u003e#7292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/753fd08c5eacce0aa0df73fe47e49525c67e0a29\"\u003e\u003ccode\u003e753fd08\u003c/code\u003e\u003c/a\u003e docs: fix FAQ grammar in httplib2 example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/774a0b837a194ee885d4fdd9ca947900cc3daf71\"\u003e\u003ccode\u003e774a0b8\u003c/code\u003e\u003c/a\u003e docs(socks): same block as other sections\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/9c72a41bec8597f948c9d8caa5dc3f12273b3303\"\u003e\u003ccode\u003e9c72a41\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.33.0 to 4.34.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/ebf71906798ec82f34e07d3168f8b8aecaf8a3be\"\u003e\u003ccode\u003eebf7190\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.32.0 to 4.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/0e4ae38f0c93d4f92a96c774bd52c069d12a4798\"\u003e\u003ccode\u003e0e4ae38\u003c/code\u003e\u003c/a\u003e docs: exclude Response.is_permanent_redirect from API docs (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7244\"\u003e#7244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d568f47278492e630cc990a259047c67991d007a\"\u003e\u003ccode\u003ed568f47\u003c/code\u003e\u003c/a\u003e docs: clarify Quickstart POST example (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6960\"\u003e#6960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.4...v2.33.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.4 to 2.33.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.33.0\u003c/h2\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that uses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report any gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts contents to a non-deterministic location to prevent malicious file replacement. This does not affect default usage of Requests, only applications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause malformed authentication to be applied to Requests on Python 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\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/M0d3v1\"\u003e\u003ccode\u003e@​M0d3v1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6865\"\u003epsf/requests#6865\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminvakil\"\u003e\u003ccode\u003e@​aminvakil\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7220\"\u003epsf/requests#7220\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/E8Price\"\u003e\u003ccode\u003e@​E8Price\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6960\"\u003epsf/requests#6960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mitre88\"\u003e\u003ccode\u003e@​mitre88\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7244\"\u003epsf/requests#7244\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/magsen\"\u003e\u003ccode\u003e@​magsen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6553\"\u003epsf/requests#6553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rohan5commit\"\u003e\u003ccode\u003e@​Rohan5commit\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7227\"\u003epsf/requests#7227\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\"\u003ehttps://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that\nuses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report\nany gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts\ncontents to a non-deterministic location to prevent malicious file\nreplacement. This does not affect default usage of Requests, only\napplications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause\nmalformed authentication to be applied to Requests on\nPython 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/bc04dfd6dad4cb02cd92f5daa81eb562d280a761\"\u003e\u003ccode\u003ebc04dfd\u003c/code\u003e\u003c/a\u003e v2.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/66d21cb07bd6255b1280291c4fafb71803cdb3b7\"\u003e\u003ccode\u003e66d21cb\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/8b9bc8fc0f63be84602387913c4b689f19efd028\"\u003e\u003ccode\u003e8b9bc8f\u003c/code\u003e\u003c/a\u003e Move badges to top of README (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7293\"\u003e#7293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/e331a288f369973f5de0ec8901c94cae4fa87286\"\u003e\u003ccode\u003ee331a28\u003c/code\u003e\u003c/a\u003e Remove unused extraction call (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7292\"\u003e#7292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/753fd08c5eacce0aa0df73fe47e49525c67e0a29\"\u003e\u003ccode\u003e753fd08\u003c/code\u003e\u003c/a\u003e docs: fix FAQ grammar in httplib2 example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/774a0b837a194ee885d4fdd9ca947900cc3daf71\"\u003e\u003ccode\u003e774a0b8\u003c/code\u003e\u003c/a\u003e docs(socks): same block as other sections\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/9c72a41bec8597f948c9d8caa5dc3f12273b3303\"\u003e\u003ccode\u003e9c72a41\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.33.0 to 4.34.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/ebf71906798ec82f34e07d3168f8b8aecaf8a3be\"\u003e\u003ccode\u003eebf7190\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.32.0 to 4.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/0e4ae38f0c93d4f92a96c774bd52c069d12a4798\"\u003e\u003ccode\u003e0e4ae38\u003c/code\u003e\u003c/a\u003e docs: exclude Response.is_permanent_redirect from API docs (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7244\"\u003e#7244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d568f47278492e630cc990a259047c67991d007a\"\u003e\u003ccode\u003ed568f47\u003c/code\u003e\u003c/a\u003e docs: clarify Quickstart POST example (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6960\"\u003e#6960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.4...v2.33.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.4 to 2.33.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.33.0\u003c/h2\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that uses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report any gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts contents to a non-deterministic location to prevent malicious file replacement. This does not affect default usage of Requests, only applications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause malformed authentication to be applied to Requests on Python 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\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/M0d3v1\"\u003e\u003ccode\u003e@​M0d3v1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6865\"\u003epsf/requests#6865\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminvakil\"\u003e\u003ccode\u003e@​aminvakil\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7220\"\u003epsf/requests#7220\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/E8Price\"\u003e\u003ccode\u003e@​E8Price\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6960\"\u003epsf/requests#6960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mitre88\"\u003e\u003ccode\u003e@​mitre88\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7244\"\u003epsf/requests#7244\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/magsen\"\u003e\u003ccode\u003e@​magsen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6553\"\u003epsf/requests#6553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rohan5commit\"\u003e\u003ccode\u003e@​Rohan5commit\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7227\"\u003epsf/requests#7227\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\"\u003ehttps://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that\nuses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report\nany gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts\ncontents to a non-deterministic location to prevent malicious file\nreplacement. This does not affect default usage of Requests, only\napplications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause\nmalformed authentication to be applied to Requests on\nPython 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/bc04dfd6dad4cb02cd92f5daa81eb562d280a761\"\u003e\u003ccode\u003ebc04dfd\u003c/code\u003e\u003c/a\u003e v2.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/66d21cb07bd6255b1280291c4fafb71803cdb3b7\"\u003e\u003ccode\u003e66d21cb\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/8b9bc8fc0f63be84602387913c4b689f19efd028\"\u003e\u003ccode\u003e8b9bc8f\u003c/code\u003e\u003c/a\u003e Move badges to top of README (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7293\"\u003e#7293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/e331a288f369973f5de0ec8901c94cae4fa87286\"\u003e\u003ccode\u003ee331a28\u003c/code\u003e\u003c/a\u003e Remove unused extraction call (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7292\"\u003e#7292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/753fd08c5eacce0aa0df73fe47e49525c67e0a29\"\u003e\u003ccode\u003e753fd08\u003c/code\u003e\u003c/a\u003e docs: fix FAQ grammar in httplib2 example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/774a0b837a194ee885d4fdd9ca947900cc3daf71\"\u003e\u003ccode\u003e774a0b8\u003c/code\u003e\u003c/a\u003e docs(socks): same block as other sections\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/9c72a41bec8597f948c9d8caa5dc3f12273b3303\"\u003e\u003ccode\u003e9c72a41\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.33.0 to 4.34.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/ebf71906798ec82f34e07d3168f8b8aecaf8a3be\"\u003e\u003ccode\u003eebf7190\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.32.0 to 4.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/0e4ae38f0c93d4f92a96c774bd52c069d12a4798\"\u003e\u003ccode\u003e0e4ae38\u003c/code\u003e\u003c/a\u003e docs: exclude Response.is_permanent_redirect from API docs (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7244\"\u003e#7244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d568f47278492e630cc990a259047c67991d007a\"\u003e\u003ccode\u003ed568f47\u003c/code\u003e\u003c/a\u003e docs: clarify Quickstart POST example (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6960\"\u003e#6960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.4...v2.33.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.4 to 2.33.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.33.0\u003c/h2\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that uses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report any gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts contents to a non-deterministic location to prevent malicious file replacement. This does not affect default usage of Requests, only applications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause malformed authentication to be applied to Requests on Python 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\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/M0d3v1\"\u003e\u003ccode\u003e@​M0d3v1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6865\"\u003epsf/requests#6865\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminvakil\"\u003e\u003ccode\u003e@​aminvakil\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7220\"\u003epsf/requests#7220\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/E8Price\"\u003e\u003ccode\u003e@​E8Price\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6960\"\u003epsf/requests#6960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mitre88\"\u003e\u003ccode\u003e@​mitre88\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7244\"\u003epsf/requests#7244\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/magsen\"\u003e\u003ccode\u003e@​magsen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6553\"\u003epsf/requests#6553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rohan5commit\"\u003e\u003ccode\u003e@​Rohan5commit\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7227\"\u003epsf/requests#7227\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\"\u003ehttps://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that\nuses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report\nany gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts\ncontents to a non-deterministic location to prevent malicious file\nreplacement. This does not affect default usage of Requests, only\napplications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause\nmalformed authentication to be applied to Requests on\nPython 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/bc04dfd6dad4cb02cd92f5daa81eb562d280a761\"\u003e\u003ccode\u003ebc04dfd\u003c/code\u003e\u003c/a\u003e v2.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/66d21cb07bd6255b1280291c4fafb71803cdb3b7\"\u003e\u003ccode\u003e66d21cb\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/8b9bc8fc0f63be84602387913c4b689f19efd028\"\u003e\u003ccode\u003e8b9bc8f\u003c/code\u003e\u003c/a\u003e Move badges to top of README (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7293\"\u003e#7293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/e331a288f369973f5de0ec8901c94cae4fa87286\"\u003e\u003ccode\u003ee331a28\u003c/code\u003e\u003c/a\u003e Remove unused extraction call (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7292\"\u003e#7292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/753fd08c5eacce0aa0df73fe47e49525c67e0a29\"\u003e\u003ccode\u003e753fd08\u003c/code\u003e\u003c/a\u003e docs: fix FAQ grammar in httplib2 example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/774a0b837a194ee885d4fdd9ca947900cc3daf71\"\u003e\u003ccode\u003e774a0b8\u003c/code\u003e\u003c/a\u003e docs(socks): same block as other sections\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/9c72a41bec8597f948c9d8caa5dc3f12273b3303\"\u003e\u003ccode\u003e9c72a41\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.33.0 to 4.34.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/ebf71906798ec82f34e07d3168f8b8aecaf8a3be\"\u003e\u003ccode\u003eebf7190\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.32.0 to 4.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/0e4ae38f0c93d4f92a96c774bd52c069d12a4798\"\u003e\u003ccode\u003e0e4ae38\u003c/code\u003e\u003c/a\u003e docs: exclude Response.is_permanent_redirect from API docs (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7244\"\u003e#7244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d568f47278492e630cc990a259047c67991d007a\"\u003e\u003ccode\u003ed568f47\u003c/code\u003e\u003c/a\u003e docs: clarify Quickstart POST example (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6960\"\u003e#6960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.4...v2.33.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `flask` from 2.2.5 to 3.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/releases\"\u003eflask's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.3\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.3 security fix release, which fixes a security issue but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.3/\"\u003ehttps://pypi.org/project/Flask/3.1.3/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-3\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-3\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys but not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. \u003ca href=\"https://github.com/pallets/flask/security/advisories/GHSA-68rp-wp8r-4726\"\u003eGHSA-68rp-wp8r-4726\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.2\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.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/Flask/3.1.2/\"\u003ehttps://pypi.org/project/Flask/3.1.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-2\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-2\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/38?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/38?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5774\"\u003e#5774\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state of \u003ccode\u003esession\u003c/code\u003e is correct. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5786\"\u003e#5786\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5776\"\u003e#5776\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.1\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.1 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.1/\"\u003ehttps://pypi.org/project/Flask/3.1.1/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/flask/milestone/36?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/36?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. GHSA-4grg-w6v8-c28g\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5645\"\u003e#5645\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loads the app and plugins first to make sure all commands are shown. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5673\"\u003e#5673\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMark sans-io base class as being able to handle views that return \u003ccode\u003eAsyncIterable\u003c/code\u003e. This is not accurate for Flask, but makes typing easier for Quart. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5659\"\u003e#5659\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.0\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecations, or introduce potentially breaking changes. We encourage everyone to upgrade, and to use a tool such as \u003ca href=\"https://pypi.org/project/pip-tools/\"\u003epip-tools\u003c/a\u003e to pin all dependencies and control upgrades. Test with warnings treated as errors to be able to adapt to deprecation warnings early.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.0/\"\u003ehttps://pypi.org/project/Flask/3.1.0/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-0\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-0\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/33?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/33?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5623\"\u003e#5623\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate minimum dependency versions to latest feature releases. Werkzeug \u0026gt;= 3.1, ItsDangerous \u0026gt;= 2.2, Blinker \u0026gt;= 1.9. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5624\"\u003e#5624\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5633\"\u003e#5633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProvide a configuration option to control automatic option responses. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5496\"\u003e#5496\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFlask.open_resource\u003c/code\u003e/\u003ccode\u003eopen_instance_resource\u003c/code\u003e and \u003ccode\u003eBlueprint.open_resource\u003c/code\u003e take an \u003ccode\u003eencoding\u003c/code\u003e parameter to use when opening in text mode. It defaults to \u003ccode\u003eutf-8\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5504\"\u003e#5504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.max_content_length\u003c/code\u003e can be customized per-request instead of only through the \u003ccode\u003eMAX_CONTENT_LENGTH\u003c/code\u003e config. Added \u003ccode\u003eMAX_FORM_MEMORY_SIZE\u003c/code\u003e and \u003ccode\u003eMAX_FORM_PARTS\u003c/code\u003e config. Added documentation about resource limits to the security page. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5625\"\u003e#5625\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for the \u003ccode\u003ePartitioned\u003c/code\u003e cookie attribute (CHIPS), with the \u003ccode\u003eSESSION_COOKIE_PARTITIONED\u003c/code\u003e config. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5472\"\u003e#5472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e-e path\u003c/code\u003e takes precedence over default \u003ccode\u003e.env\u003c/code\u003e and \u003ccode\u003e.flaskenv\u003c/code\u003e files. \u003ccode\u003eload_dotenv\u003c/code\u003e loads default files in addition to a path unless \u003ccode\u003eload_defaults=False\u003c/code\u003e is passed. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5628\"\u003e#5628\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport key rotation with the \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e config, a list of old secret keys that can still be used for unsigning. Extensions will need to add support. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5621\"\u003e#5621\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix how setting \u003ccode\u003ehost_matching=True\u003c/code\u003e or \u003ccode\u003esubdomain_matching=False\u003c/code\u003e interacts with \u003ccode\u003eSERVER_NAME\u003c/code\u003e. Setting \u003ccode\u003eSERVER_NAME\u003c/code\u003e no longer restricts requests to only that domain. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5553\"\u003e#5553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.trusted_hosts\u003c/code\u003e is checked during routing, and can be set through the \u003ccode\u003eTRUSTED_HOSTS\u003c/code\u003e config. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5636\"\u003e#5636\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.0.3\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/blob/main/CHANGES.rst\"\u003eflask's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.1.3\u003c/h2\u003e\n\u003cp\u003eReleased 2026-02-18\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys\nbut not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. :ghsa:\u003ccode\u003e68rp-wp8r-4726\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.2\u003c/h2\u003e\n\u003cp\u003eReleased 2025-08-19\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. :issue:\u003ccode\u003e5774\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state\nof \u003ccode\u003esession\u003c/code\u003e is correct. :issue:\u003ccode\u003e5786\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. :issue:\u003ccode\u003e5776\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-05-13\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via\n\u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. :ghsa:\u003ccode\u003e4grg-w6v8-c28g\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. :issue:\u003ccode\u003e5645\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loads the app and plugins first to make sure all commands\nare shown. :issue:\u003ccode\u003e5673\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eMark sans-io base class as being able to handle views that return\n\u003ccode\u003eAsyncIterable\u003c/code\u003e. This is not accurate for Flask, but makes typing easier\nfor Quart. :pr:\u003ccode\u003e5659\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.0\u003c/h2\u003e\n\u003cp\u003eReleased 2024-11-13\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. :pr:\u003ccode\u003e5623\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUpdate minimum dependency versions to latest feature releases.\nWerkzeug \u0026gt;= 3.1, ItsDangerous \u0026gt;= 2.2, Blinker \u0026gt;= 1.9. :pr:\u003ccode\u003e5624,5633\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eProvide a configuration option to control automatic option\nresponses. :pr:\u003ccode\u003e5496\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFlask.open_resource\u003c/code\u003e/\u003ccode\u003eopen_instance_resource\u003c/code\u003e and\n\u003ccode\u003eBlueprint.open_resource\u003c/code\u003e take an \u003ccode\u003eencoding\u003c/code\u003e parameter to use when\nopening in text mode. It defaults to \u003ccode\u003eutf-8\u003c/code\u003e. :issue:\u003ccode\u003e5504\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.max_content_length\u003c/code\u003e can be customized per-request instead of only\nthrough the \u003ccode\u003eMAX_CONTENT_LENGTH\u003c/code\u003e config. Added\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/22d924701a6ae2e4cd01e9a15bbaf3946094af65\"\u003e\u003ccode\u003e22d9247\u003c/code\u003e\u003c/a\u003e release version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/089cb86dd22bff589a4eafb7ab8e42dc357623b4\"\u003e\u003ccode\u003e089cb86\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/c17f379390731543eea33a570a47bd4ef76a54fa\"\u003e\u003ccode\u003ec17f379\u003c/code\u003e\u003c/a\u003e request context tracks session access\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/27be9338405382445a7cb01151e084559b98d602\"\u003e\u003ccode\u003e27be933\u003c/code\u003e\u003c/a\u003e start version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4e652d3f68b90d50aa2301d3b7e68c3fafd9251d\"\u003e\u003ccode\u003e4e652d3\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5903\"\u003e#5903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/3d03098a97ddc6a908aa4a50c2ef7381f8297d0a\"\u003e\u003ccode\u003e3d03098\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/407eb76b27884848383a37c7274654f0271e4bc4\"\u003e\u003ccode\u003e407eb76\u003c/code\u003e\u003c/a\u003e document using gevent for async (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5900\"\u003e#5900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/ac5664d2281533eacafd64f5cc7d5edcdaccab60\"\u003e\u003ccode\u003eac5664d\u003c/code\u003e\u003c/a\u003e document using gevent for async\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4f79d5b59a56bc4356a97f2e81a35f98cb18d7b3\"\u003e\u003ccode\u003e4f79d5b\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11 (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5865\"\u003e#5865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/fe3b215d3ade4db68262dae1a3cdc464a1fc524f\"\u003e\u003ccode\u003efe3b215\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/flask/compare/2.2.5...3.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyopenssl` from 25.0.0 to 26.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyca/pyopenssl/blob/main/CHANGELOG.rst\"\u003epyopenssl's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.0.0 (2026-03-15)\u003c/h2\u003e\n\u003cp\u003eBackward-incompatible changes:\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.7.\u003c/li\u003e\n\u003cli\u003eThe minimum \u003ccode\u003ecryptography\u003c/code\u003e version is now 46.0.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeprecations:\n^^^^^^^^^^^^^\u003c/p\u003e\n\u003cp\u003eChanges:\n^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for using aws-lc instead of OpenSSL.\u003c/li\u003e\n\u003cli\u003eProperly raise an error if a DTLS cookie callback returned a cookie longer than \u003cco...\n\n_Description has been truncated_","html_url":"https://github.com/ASISBusiness/python-docs-samples/pull/8","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ASISBusiness%2Fpython-docs-samples/issues/8","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/8/packages"}},{"old_version":"2.6.3","new_version":"3.2.0b1","update_type":"major","path":null,"pr_created_at":"2026-03-26T13:42:02.000Z","version_change":"2.6.3 → 3.2.0b1","issue":{"uuid":"4144077079","node_id":"PR_kwDOOK9uiM7Nuhf9","number":147,"state":"open","title":"chore(deps): bump the pip group across 27 directories with 16 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-26T13:42:02.000Z","updated_at":"2026-04-08T04:51:47.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"pip","update_count":16,"packages":[{"name":"flask","old_version":"2.2.5","new_version":"3.1.3","repository_url":"https://github.com/pallets/flask"},{"name":"requests","old_version":"2.31.0","new_version":"2.33.0","repository_url":"https://github.com/psf/requests"},{"name":"werkzeug","old_version":"2.2.3","new_version":"3.1.6","repository_url":"https://github.com/pallets/werkzeug"},{"name":"pyopenssl","old_version":"23.2.0","new_version":"26.0.0","repository_url":"https://github.com/pyca/pyopenssl"},{"name":"apache-airflow","old_version":"2.6.3","new_version":"3.2.0b1","repository_url":"https://github.com/apache/airflow"},{"name":"authlib","old_version":"1.2.1","new_version":"1.6.9","repository_url":"https://github.com/authlib/authlib"},{"name":"black","old_version":"23.1a1","new_version":"26.3.1","repository_url":"https://github.com/psf/black"},{"name":"cryptography","old_version":"40.0.2","new_version":"46.0.5","repository_url":"https://github.com/pyca/cryptography"},{"name":"google-cloud-aiplatform","old_version":"1.27.1","new_version":"1.133.0","repository_url":"https://github.com/googleapis/python-aiplatform"},{"name":"orjson","old_version":"3.9.1","new_version":"3.11.6","repository_url":"https://github.com/ijl/orjson"},{"name":"protobuf","old_version":"4.23.4","new_version":"5.29.6","repository_url":"https://github.com/protocolbuffers/protobuf"},{"name":"pyasn1","old_version":"0.4.8","new_version":"0.6.3","repository_url":"https://github.com/pyasn1/pyasn1"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pip group with 1 update in the /alloydb/notebooks directory: [nbconvert](https://github.com/jupyter/nbconvert).\nBumps the pip group with 3 updates in the /appengine/standard/firebase/firenotes/backend directory: [flask](https://github.com/pallets/flask), [requests](https://github.com/psf/requests) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 4 updates in the /cloud-media-livestream/keypublisher directory: [flask](https://github.com/pallets/flask), [requests](https://github.com/psf/requests), [werkzeug](https://github.com/pallets/werkzeug) and [pyopenssl](https://github.com/pyca/pyopenssl).\nBumps the pip group with 3 updates in the /cloud-sql/sql-server/sqlalchemy directory: [flask](https://github.com/pallets/flask), [werkzeug](https://github.com/pallets/werkzeug) and [pyopenssl](https://github.com/pyca/pyopenssl).\nBumps the pip group with 2 updates in the /cloud_scheduler/snippets directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 12 updates in the /composer/2022_airflow_summit directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [flask](https://github.com/pallets/flask) | `2.2.5` | `3.1.3` |\n| [requests](https://github.com/psf/requests) | `2.31.0` | `2.33.0` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `2.2.3` | `3.1.6` |\n| [pyopenssl](https://github.com/pyca/pyopenssl) | `23.2.0` | `26.0.0` |\n| [apache-airflow](https://github.com/apache/airflow) | `2.6.3` | `3.2.0b1` |\n| [authlib](https://github.com/authlib/authlib) | `1.2.1` | `1.6.9` |\n| [black](https://github.com/psf/black) | `23.1a1` | `26.3.1` |\n| [cryptography](https://github.com/pyca/cryptography) | `40.0.2` | `46.0.5` |\n| [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) | `1.27.1` | `1.133.0` |\n| [orjson](https://github.com/ijl/orjson) | `3.9.1` | `3.11.6` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `4.23.4` | `5.29.6` |\n| [pyasn1](https://github.com/pyasn1/pyasn1) | `0.4.8` | `0.6.3` |\n\nBumps the pip group with 6 updates in the /composer/airflow_1_samples directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [flask](https://github.com/pallets/flask) | `1.1.2` | `3.1.3` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `0.16.1` | `3.1.6` |\n| [pyopenssl](https://github.com/pyca/pyopenssl) | `20.0.0` | `26.0.0` |\n| [cryptography](https://github.com/pyca/cryptography) | `3.2.1` | `46.0.5` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `3.14.0` | `5.29.6` |\n| [pyasn1](https://github.com/pyasn1/pyasn1) | `0.4.8` | `0.6.3` |\n\nBumps the pip group with 12 updates in the /composer/cicd_sample directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [flask](https://github.com/pallets/flask) | `2.2.5` | `3.1.3` |\n| [requests](https://github.com/psf/requests) | `2.31.0` | `2.33.0` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `2.2.3` | `3.1.6` |\n| [pyopenssl](https://github.com/pyca/pyopenssl) | `23.2.0` | `26.0.0` |\n| [apache-airflow](https://github.com/apache/airflow) | `2.6.3` | `3.2.0b1` |\n| [authlib](https://github.com/authlib/authlib) | `1.2.1` | `1.6.9` |\n| [black](https://github.com/psf/black) | `23.1a1` | `26.3.1` |\n| [cryptography](https://github.com/pyca/cryptography) | `40.0.2` | `46.0.5` |\n| [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) | `1.27.1` | `1.133.0` |\n| [orjson](https://github.com/ijl/orjson) | `3.9.1` | `3.11.6` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `4.23.4` | `5.29.6` |\n| [pyasn1](https://github.com/pyasn1/pyasn1) | `0.4.8` | `0.6.3` |\n\nBumps the pip group with 12 updates in the /composer/workflows directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [flask](https://github.com/pallets/flask) | `2.2.5` | `3.1.3` |\n| [requests](https://github.com/psf/requests) | `2.31.0` | `2.33.0` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `2.2.3` | `3.1.6` |\n| [pyopenssl](https://github.com/pyca/pyopenssl) | `24.1.0` | `26.0.0` |\n| [apache-airflow](https://github.com/apache/airflow) | `2.9.2` | `3.2.0b1` |\n| [authlib](https://github.com/authlib/authlib) | `1.3.1` | `1.6.9` |\n| [black](https://github.com/psf/black) | `24.4.2` | `26.3.1` |\n| [cryptography](https://github.com/pyca/cryptography) | `41.0.7` | `46.0.5` |\n| [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) | `1.53.0` | `1.133.0` |\n| [orjson](https://github.com/ijl/orjson) | `3.10.3` | `3.11.6` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `4.25.3` | `5.29.6` |\n| [pyasn1](https://github.com/pyasn1/pyasn1) | `0.5.1` | `0.6.3` |\n\nBumps the pip group with 1 update in the /compute/client_library directory: [black](https://github.com/psf/black).\nBumps the pip group with 2 updates in the /compute/encryption directory: [requests](https://github.com/psf/requests) and [cryptography](https://github.com/pyca/cryptography).\nBumps the pip group with 5 updates in the /dataflow/flex-templates/pipeline_with_dependencies directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [requests](https://github.com/psf/requests) | `2.31.0` | `2.33.0` |\n| [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) | `1.42.1` | `1.133.0` |\n| [orjson](https://github.com/ijl/orjson) | `3.9.15` | `3.11.6` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `4.25.8` | `5.29.6` |\n| [pyasn1](https://github.com/pyasn1/pyasn1) | `0.5.1` | `0.6.3` |\n\nBumps the pip group with 3 updates in the /dataflow/gemma directory: [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform), [protobuf](https://github.com/protocolbuffers/protobuf) and [keras](https://github.com/keras-team/keras).\nBumps the pip group with 1 update in the /dataflow/gemma-flex-template directory: [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform).\nBumps the pip group with 3 updates in the /dataflow/run-inference directory: [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform), [torch](https://github.com/pytorch/pytorch) and [transformers](https://github.com/huggingface/transformers).\nBumps the pip group with 1 update in the /dataflow/run_template directory: [flask](https://github.com/pallets/flask).\nBumps the pip group with 2 updates in the /datastore/cloud-ndb directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 2 updates in the /dialogflow directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 2 updates in the /dialogflow-cx directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 3 updates in the /endpoints/getting-started directory: [flask](https://github.com/pallets/flask), [requests](https://github.com/psf/requests) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 2 updates in the /functions/concepts-requests directory: [flask](https://github.com/pallets/flask) and [requests](https://github.com/psf/requests).\nBumps the pip group with 2 updates in the /functions/tips-connection-pooling directory: [flask](https://github.com/pallets/flask) and [requests](https://github.com/psf/requests).\nBumps the pip group with 2 updates in the /gemma2 directory: [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) and [protobuf](https://github.com/protocolbuffers/protobuf).\nBumps the pip group with 3 updates in the /iap directory: [requests](https://github.com/psf/requests), [werkzeug](https://github.com/pallets/werkzeug) and [cryptography](https://github.com/pyca/cryptography).\nBumps the pip group with 2 updates in the /kms/attestations directory: [requests](https://github.com/psf/requests) and [cryptography](https://github.com/pyca/cryptography).\nBumps the pip group with 1 update in the /media_cdn directory: [cryptography](https://github.com/pyca/cryptography).\nBumps the pip group with 2 updates in the /run/service-auth directory: [flask](https://github.com/pallets/flask) and [requests](https://github.com/psf/requests).\n\nUpdates `nbconvert` from 7.16.6 to 7.17.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jupyter/nbconvert/releases\"\u003enbconvert's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.17.0\u003c/h2\u003e\n\u003ch2\u003e7.17.0\u003c/h2\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbconvert/compare/v7.16.6...c9ac1d1040459ed1ff9eb34e9918ce5a87cf9d71\"\u003eFull Changelog\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eEnhancements made\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for arbitrary browser arguments \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2227\"\u003e#2227\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugs fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix QtPNGExporter returning empty bytes on macOS \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2264\"\u003e#2264\u003c/a\u003e (\u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/QuLogic\"\u003e\u003ccode\u003e@​QuLogic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix CVE-2025-53000: Secure Inkscape Windows path (registry first + block CWD) \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2261\"\u003e#2261\u003c/a\u003e (\u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/mberlanda\"\u003e\u003ccode\u003e@​mberlanda\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/salmankadaya\"\u003e\u003ccode\u003e@​salmankadaya\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/th3gowtham\"\u003e\u003ccode\u003e@​th3gowtham\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix get_export_names and get_exporter default args \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2228\"\u003e#2228\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePyPA-Compliant Summary \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2226\"\u003e#2226\u003c/a\u003e (\u003ca href=\"https://github.com/hackowitz-af\"\u003e\u003ccode\u003e@​hackowitz-af\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMaintenance and upkeep improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eavoid cov environment on free-threaded Pythons \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2267\"\u003e#2267\u003c/a\u003e (\u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate pre-commit, and fix all issues. \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2238\"\u003e#2238\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop test on 3.9, test on 3.13, 3.14, 3.14t \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2237\"\u003e#2237\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the actions group across 1 directory with 2 updates \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2231\"\u003e#2231\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003e@flaky.flaky\u003c/code\u003e decorate with pytest marker \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2229\"\u003e#2229\u003c/a\u003e (\u003ca href=\"https://github.com/mgorny\"\u003e\u003ccode\u003e@​mgorny\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate to mermaid 11.10.0 \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2224\"\u003e#2224\u003c/a\u003e (\u003ca href=\"https://github.com/bollwyvl\"\u003e\u003ccode\u003e@​bollwyvl\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.8, fix the CI tests \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2221\"\u003e#2221\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse \u003ccode\u003eintersphinx_registry\u003c/code\u003e \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2232\"\u003e#2232\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors to this release\u003c/h3\u003e\n\u003cp\u003eThe following people contributed discussions, new ideas, code and documentation contributions, and review.\nSee \u003ca href=\"https://github-activity.readthedocs.io/en/latest/use/#how-does-this-tool-define-contributions-in-the-reports\"\u003eour definition of contributors\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbconvert/graphs/contributors?from=2025-01-28\u0026amp;to=2026-01-29\u0026amp;type=c\"\u003eGitHub contributors page for this release\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/bollwyvl\"\u003e\u003ccode\u003e@​bollwyvl\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Abollwyvl+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3ACarreau+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ah3pdesign+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/hackowitz-af\"\u003e\u003ccode\u003e@​hackowitz-af\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ahackowitz-af+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Akrassowski+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/mberlanda\"\u003e\u003ccode\u003e@​mberlanda\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Amberlanda+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/mgorny\"\u003e\u003ccode\u003e@​mgorny\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Amgorny+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Aminrk+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/MSeal\"\u003e\u003ccode\u003e@​MSeal\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3AMSeal+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/QuLogic\"\u003e\u003ccode\u003e@​QuLogic\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3AQuLogic+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/salmankadaya\"\u003e\u003ccode\u003e@​salmankadaya\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Asalmankadaya+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ashreve+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/th3gowtham\"\u003e\u003ccode\u003e@​th3gowtham\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ath3gowtham+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e)\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jupyter/nbconvert/blob/main/CHANGELOG.md\"\u003enbconvert's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.17.0\u003c/h2\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbconvert/compare/v7.16.6...c9ac1d1040459ed1ff9eb34e9918ce5a87cf9d71\"\u003eFull Changelog\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eEnhancements made\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for arbitrary browser arguments \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2227\"\u003e#2227\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugs fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix QtPNGExporter returning empty bytes on macOS \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2264\"\u003e#2264\u003c/a\u003e (\u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/QuLogic\"\u003e\u003ccode\u003e@​QuLogic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix CVE-2025-53000: Secure Inkscape Windows path (registry first + block CWD) \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2261\"\u003e#2261\u003c/a\u003e (\u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/mberlanda\"\u003e\u003ccode\u003e@​mberlanda\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/salmankadaya\"\u003e\u003ccode\u003e@​salmankadaya\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/th3gowtham\"\u003e\u003ccode\u003e@​th3gowtham\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix get_export_names and get_exporter default args \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2228\"\u003e#2228\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePyPA-Compliant Summary \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2226\"\u003e#2226\u003c/a\u003e (\u003ca href=\"https://github.com/hackowitz-af\"\u003e\u003ccode\u003e@​hackowitz-af\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMaintenance and upkeep improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eavoid cov environment on free-threaded Pythons \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2267\"\u003e#2267\u003c/a\u003e (\u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate pre-commit, and fix all issues. \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2238\"\u003e#2238\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop test on 3.9, test on 3.13, 3.14, 3.14t \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2237\"\u003e#2237\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the actions group across 1 directory with 2 updates \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2231\"\u003e#2231\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003e@flaky.flaky\u003c/code\u003e decorate with pytest marker \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2229\"\u003e#2229\u003c/a\u003e (\u003ca href=\"https://github.com/mgorny\"\u003e\u003ccode\u003e@​mgorny\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate to mermaid 11.10.0 \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2224\"\u003e#2224\u003c/a\u003e (\u003ca href=\"https://github.com/bollwyvl\"\u003e\u003ccode\u003e@​bollwyvl\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.8, fix the CI tests \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2221\"\u003e#2221\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse \u003ccode\u003eintersphinx_registry\u003c/code\u003e \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2232\"\u003e#2232\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors to this release\u003c/h3\u003e\n\u003cp\u003eThe following people contributed discussions, new ideas, code and documentation contributions, and review.\nSee \u003ca href=\"https://github-activity.readthedocs.io/en/latest/use/#how-does-this-tool-define-contributions-in-the-reports\"\u003eour definition of contributors\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbconvert/graphs/contributors?from=2025-01-28\u0026amp;to=2026-01-29\u0026amp;type=c\"\u003eGitHub contributors page for this release\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/bollwyvl\"\u003e\u003ccode\u003e@​bollwyvl\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Abollwyvl+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3ACarreau+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ah3pdesign+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/hackowitz-af\"\u003e\u003ccode\u003e@​hackowitz-af\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ahackowitz-af+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Akrassowski+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/mberlanda\"\u003e\u003ccode\u003e@​mberlanda\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Amberlanda+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/mgorny\"\u003e\u003ccode\u003e@​mgorny\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Amgorny+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Aminrk+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/MSeal\"\u003e\u003ccode\u003e@​MSeal\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3AMSeal+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/QuLogic\"\u003e\u003ccode\u003e@​QuLogic\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3AQuLogic+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/salmankadaya\"\u003e\u003ccode\u003e@​salmankadaya\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Asalmankadaya+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ashreve+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/th3gowtham\"\u003e\u003ccode\u003e@​th3gowtham\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ath3gowtham+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e)\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/21b35d85b46f5ff0956d3d088a52b9bef00e8196\"\u003e\u003ccode\u003e21b35d8\u003c/code\u003e\u003c/a\u003e Publish 7.17.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/c9ac1d1040459ed1ff9eb34e9918ce5a87cf9d71\"\u003e\u003ccode\u003ec9ac1d1\u003c/code\u003e\u003c/a\u003e Fix CVE-2025-53000: Secure Inkscape Windows path (registry first + block CWD)...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/b13276d80ae6fadbfda981304810e26f421c4ced\"\u003e\u003ccode\u003eb13276d\u003c/code\u003e\u003c/a\u003e avoid cov environment on free-threaded Pythons (\u003ca href=\"https://redirect.github.com/jupyter/nbconvert/issues/2267\"\u003e#2267\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/7c7055fe833fe9832e6f9a64fa5f67d66692c8d6\"\u003e\u003ccode\u003e7c7055f\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] auto fixes from pre-commit.com hooks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/74f3ddd37ef4b7ffb5eee9acbf52062217c15852\"\u003e\u003ccode\u003e74f3ddd\u003c/code\u003e\u003c/a\u003e Fix QtPNGExporter returning empty bytes on macOS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/216550b2aae4c329f4dab597a96ae7cac30de79a\"\u003e\u003ccode\u003e216550b\u003c/code\u003e\u003c/a\u003e fix links\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/39777ac5716350e994171d025a7369c58b0afc8c\"\u003e\u003ccode\u003e39777ac\u003c/code\u003e\u003c/a\u003e try to comment fialing test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/7b591ca526f2598dbae3256a53765659c3edcf14\"\u003e\u003ccode\u003e7b591ca\u003c/code\u003e\u003c/a\u003e ruff-check\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/6ec7638a3dc7a0bc2c533c116202d7f9b07ce9d9\"\u003e\u003ccode\u003e6ec7638\u003c/code\u003e\u003c/a\u003e parent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/59414b36f94e318d4207e8af863167047d936c19\"\u003e\u003ccode\u003e59414b3\u003c/code\u003e\u003c/a\u003e fix mypy\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jupyter/nbconvert/compare/v7.16.6...v7.17.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `flask` from 3.0.0 to 3.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/releases\"\u003eflask's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.3\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.3 security fix release, which fixes a security issue but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.3/\"\u003ehttps://pypi.org/project/Flask/3.1.3/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-3\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-3\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys but not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. \u003ca href=\"https://github.com/pallets/flask/security/advisories/GHSA-68rp-wp8r-4726\"\u003eGHSA-68rp-wp8r-4726\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.2\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.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/Flask/3.1.2/\"\u003ehttps://pypi.org/project/Flask/3.1.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-2\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-2\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/38?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/38?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5774\"\u003e#5774\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state of \u003ccode\u003esession\u003c/code\u003e is correct. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5786\"\u003e#5786\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5776\"\u003e#5776\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.1\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.1 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.1/\"\u003ehttps://pypi.org/project/Flask/3.1.1/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/flask/milestone/36?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/36?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. GHSA-4grg-w6v8-c28g\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5645\"\u003e#5645\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loads the app and plugins first to make sure all commands are shown. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5673\"\u003e#5673\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMark sans-io base class as being able to handle views that return \u003ccode\u003eAsyncIterable\u003c/code\u003e. This is not accurate for Flask, but makes typing easier for Quart. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5659\"\u003e#5659\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.0\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecations, or introduce potentially breaking changes. We encourage everyone to upgrade, and to use a tool such as \u003ca href=\"https://pypi.org/project/pip-tools/\"\u003epip-tools\u003c/a\u003e to pin all dependencies and control upgrades. Test with warnings treated as errors to be able to adapt to deprecation warnings early.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.0/\"\u003ehttps://pypi.org/project/Flask/3.1.0/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-0\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-0\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/33?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/33?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5623\"\u003e#5623\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate minimum dependency versions to latest feature releases. Werkzeug \u0026gt;= 3.1, ItsDangerous \u0026gt;= 2.2, Blinker \u0026gt;= 1.9. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5624\"\u003e#5624\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5633\"\u003e#5633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProvide a configuration option to control automatic option responses. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5496\"\u003e#5496\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFlask.open_resource\u003c/code\u003e/\u003ccode\u003eopen_instance_resource\u003c/code\u003e and \u003ccode\u003eBlueprint.open_resource\u003c/code\u003e take an \u003ccode\u003eencoding\u003c/code\u003e parameter to use when opening in text mode. It defaults to \u003ccode\u003eutf-8\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5504\"\u003e#5504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.max_content_length\u003c/code\u003e can be customized per-request instead of only through the \u003ccode\u003eMAX_CONTENT_LENGTH\u003c/code\u003e config. Added \u003ccode\u003eMAX_FORM_MEMORY_SIZE\u003c/code\u003e and \u003ccode\u003eMAX_FORM_PARTS\u003c/code\u003e config. Added documentation about resource limits to the security page. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5625\"\u003e#5625\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for the \u003ccode\u003ePartitioned\u003c/code\u003e cookie attribute (CHIPS), with the \u003ccode\u003eSESSION_COOKIE_PARTITIONED\u003c/code\u003e config. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5472\"\u003e#5472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e-e path\u003c/code\u003e takes precedence over default \u003ccode\u003e.env\u003c/code\u003e and \u003ccode\u003e.flaskenv\u003c/code\u003e files. \u003ccode\u003eload_dotenv\u003c/code\u003e loads default files in addition to a path unless \u003ccode\u003eload_defaults=False\u003c/code\u003e is passed. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5628\"\u003e#5628\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport key rotation with the \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e config, a list of old secret keys that can still be used for unsigning. Extensions will need to add support. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5621\"\u003e#5621\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix how setting \u003ccode\u003ehost_matching=True\u003c/code\u003e or \u003ccode\u003esubdomain_matching=False\u003c/code\u003e interacts with \u003ccode\u003eSERVER_NAME\u003c/code\u003e. Setting \u003ccode\u003eSERVER_NAME\u003c/code\u003e no longer restricts requests to only that domain. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5553\"\u003e#5553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.trusted_hosts\u003c/code\u003e is checked during routing, and can be set through the \u003ccode\u003eTRUSTED_HOSTS\u003c/code\u003e config. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5636\"\u003e#5636\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.0.3\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/blob/main/CHANGES.rst\"\u003eflask's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.1.3\u003c/h2\u003e\n\u003cp\u003eReleased 2026-02-18\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys\nbut not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. :ghsa:\u003ccode\u003e68rp-wp8r-4726\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.2\u003c/h2\u003e\n\u003cp\u003eReleased 2025-08-19\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. :issue:\u003ccode\u003e5774\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state\nof \u003ccode\u003esession\u003c/code\u003e is correct. :issue:\u003ccode\u003e5786\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. :issue:\u003ccode\u003e5776\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-05-13\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via\n\u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. :ghsa:\u003ccode\u003e4grg-w6v8-c28g\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. :issue:\u003ccode\u003e5645\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loads the app and plugins first to make sure all commands\nare shown. :issue:\u003ccode\u003e5673\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eMark sans-io base class as being able to handle views that return\n\u003ccode\u003eAsyncIterable\u003c/code\u003e. This is not accurate for Flask, but makes typing easier\nfor Quart. :pr:\u003ccode\u003e5659\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.0\u003c/h2\u003e\n\u003cp\u003eReleased 2024-11-13\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. :pr:\u003ccode\u003e5623\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUpdate minimum dependency versions to latest feature releases.\nWerkzeug \u0026gt;= 3.1, ItsDangerous \u0026gt;= 2.2, Blinker \u0026gt;= 1.9. :pr:\u003ccode\u003e5624,5633\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eProvide a configuration option to control automatic option\nresponses. :pr:\u003ccode\u003e5496\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFlask.open_resource\u003c/code\u003e/\u003ccode\u003eopen_instance_resource\u003c/code\u003e and\n\u003ccode\u003eBlueprint.open_resource\u003c/code\u003e take an \u003ccode\u003eencoding\u003c/code\u003e parameter to use when\nopening in text mode. It defaults to \u003ccode\u003eutf-8\u003c/code\u003e. :issue:\u003ccode\u003e5504\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.max_content_length\u003c/code\u003e can be customized per-request instead of only\nthrough the \u003ccode\u003eMAX_CONTENT_LENGTH\u003c/code\u003e config. Added\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/22d924701a6ae2e4cd01e9a15bbaf3946094af65\"\u003e\u003ccode\u003e22d9247\u003c/code\u003e\u003c/a\u003e release version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/089cb86dd22bff589a4eafb7ab8e42dc357623b4\"\u003e\u003ccode\u003e089cb86\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/c17f379390731543eea33a570a47bd4ef76a54fa\"\u003e\u003ccode\u003ec17f379\u003c/code\u003e\u003c/a\u003e request context tracks session access\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/27be9338405382445a7cb01151e084559b98d602\"\u003e\u003ccode\u003e27be933\u003c/code\u003e\u003c/a\u003e start version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4e652d3f68b90d50aa2301d3b7e68c3fafd9251d\"\u003e\u003ccode\u003e4e652d3\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5903\"\u003e#5903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/3d03098a97ddc6a908aa4a50c2ef7381f8297d0a\"\u003e\u003ccode\u003e3d03098\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/407eb76b27884848383a37c7274654f0271e4bc4\"\u003e\u003ccode\u003e407eb76\u003c/code\u003e\u003c/a\u003e document using gevent for async (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5900\"\u003e#5900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/ac5664d2281533eacafd64f5cc7d5edcdaccab60\"\u003e\u003ccode\u003eac5664d\u003c/code\u003e\u003c/a\u003e document using gevent for async\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4f79d5b59a56bc4356a97f2e81a35f98cb18d7b3\"\u003e\u003ccode\u003e4f79d5b\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11 (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5865\"\u003e#5865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/fe3b215d3ade4db68262dae1a3cdc464a1fc524f\"\u003e\u003ccode\u003efe3b215\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/flask/compare/3.0.0...3.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.27.1 to 2.33.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.33.0\u003c/h2\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that uses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report any gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts contents to a non-deterministic location to prevent malicious file replacement. This does not affect default usage of Requests, only applications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause malformed authentication to be applied to Requests on Python 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\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/M0d3v1\"\u003e\u003ccode\u003e@​M0d3v1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6865\"\u003epsf/requests#6865\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminvakil\"\u003e\u003ccode\u003e@​aminvakil\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7220\"\u003epsf/requests#7220\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/E8Price\"\u003e\u003ccode\u003e@​E8Price\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6960\"\u003epsf/requests#6960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mitre88\"\u003e\u003ccode\u003e@​mitre88\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7244\"\u003epsf/requests#7244\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/magsen\"\u003e\u003ccode\u003e@​magsen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/6553\"\u003epsf/requests#6553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rohan5commit\"\u003e\u003ccode\u003e@​Rohan5commit\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7227\"\u003epsf/requests#7227\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\"\u003ehttps://github.com/psf/requests/blob/main/HISTORY.md#2330-2026-03-25\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.32.4\u003c/h2\u003e\n\u003ch2\u003e2.32.4 (2025-06-10)\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.33.0 (2026-03-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e📣 Requests is adding inline types. If you have a typed code base that\nuses Requests, please take a look at \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003e#7271\u003c/a\u003e. Give it a try, and report\nany gaps or feedback you may have in the issue. 📣\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-25645 \u003ccode\u003erequests.utils.extract_zipped_paths\u003c/code\u003e now extracts\ncontents to a non-deterministic location to prevent malicious file\nreplacement. This does not affect default usage of Requests, only\napplications calling the utility function directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated to a PEP 517 build system using setuptools. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7012\"\u003e#7012\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where an empty netrc entry could cause\nmalformed authentication to be applied to Requests on\nPython 3.11+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7205\"\u003e#7205\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7196\"\u003e#7196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVarious typo fixes and doc improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.4 (2025-06-10)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2024-47081 Fixed an issue where a maliciously crafted URL and trusted\nenvironment will retrieve credentials for the wrong hostname/machine from a\nnetrc file.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/bc04dfd6dad4cb02cd92f5daa81eb562d280a761\"\u003e\u003ccode\u003ebc04dfd\u003c/code\u003e\u003c/a\u003e v2.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/66d21cb07bd6255b1280291c4fafb71803cdb3b7\"\u003e\u003ccode\u003e66d21cb\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/8b9bc8fc0f63be84602387913c4b689f19efd028\"\u003e\u003ccode\u003e8b9bc8f\u003c/code\u003e\u003c/a\u003e Move badges to top of README (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7293\"\u003e#7293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/e331a288f369973f5de0ec8901c94cae4fa87286\"\u003e\u003ccode\u003ee331a28\u003c/code\u003e\u003c/a\u003e Remove unused extraction call (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7292\"\u003e#7292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/753fd08c5eacce0aa0df73fe47e49525c67e0a29\"\u003e\u003ccode\u003e753fd08\u003c/code\u003e\u003c/a\u003e docs: fix FAQ grammar in httplib2 example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/774a0b837a194ee885d4fdd9ca947900cc3daf71\"\u003e\u003ccode\u003e774a0b8\u003c/code\u003e\u003c/a\u003e docs(socks): same block as other sections\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/9c72a41bec8597f948c9d8caa5dc3f12273b3303\"\u003e\u003ccode\u003e9c72a41\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.33.0 to 4.34.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/ebf71906798ec82f34e07d3168f8b8aecaf8a3be\"\u003e\u003ccode\u003eebf7190\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.32.0 to 4.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/0e4ae38f0c93d4f92a96c774bd52c069d12a4798\"\u003e\u003ccode\u003e0e4ae38\u003c/code\u003e\u003c/a\u003e docs: exclude Response.is_permanent_redirect from API docs (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7244\"\u003e#7244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d568f47278492e630cc990a259047c67991d007a\"\u003e\u003ccode\u003ed568f47\u003c/code\u003e\u003c/a\u003e docs: clarify Quickstart POST example (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6960\"\u003e#6960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.27.1...v2.33.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `werkzeug` from 3.0.3 to 3.1.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/werkzeug/releases\"\u003ewerkzeug's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.6\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.6 security fix release, which fixes a security issue but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Werkzeug/3.1.6/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.6/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/page/changes/#version-3-1-6\"\u003ehttps://werkzeug.palletsprojects.com/page/changes/#version-3-1-6\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow special devices names in multi-segment paths. \u003ca href=\"https://github.com/pallets/werkzeug/security/advisories/GHSA-29vq-49wr-vm6x\"\u003eGHSA-29vq-49wr-vm6x\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.5\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.5 security fix release, which fixes security issues and 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/Werkzeug/3.1.5/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.5/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/page/changes/#version-3-1-5\"\u003ehttps://werkzeug.palletsprojects.com/page/changes/#version-3-1-5\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/werkzeug/milestone/43?closed=1\"\u003ehttps://github.com/pallets/werkzeug/milestone/43?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow more special device names, regardless of extension or surrounding spaces. \u003ca href=\"https://github.com/pallets/werkzeug/security/advisories/GHSA-87hc-h4r5-73f7\"\u003eGHSA-87hc-h4r5-73f7\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe multipart form parser handles a \u003ccode\u003e\\r\\n\u003c/code\u003e sequence at a chunk boundary. This fixes the previous attempt, which caused incorrect content lengths. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3065\"\u003e#3065\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3077\"\u003e#3077\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eAttributeError\u003c/code\u003e when initializing \u003ccode\u003eDebuggedApplication\u003c/code\u003e with \u003ccode\u003epin_security=False\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3075\"\u003e#3075\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.4\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.4 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/Werkzeug/3.1.4/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.4/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/page/changes/#version-3-1-4\"\u003ehttps://werkzeug.palletsprojects.com/page/changes/#version-3-1-4\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/werkzeug/milestone/42?closed=1\"\u003ehttps://github.com/pallets/werkzeug/milestone/42?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow special device names. This prevents reading from these when using \u003ccode\u003esend_from_directory\u003c/code\u003e. \u003ccode\u003esecure_filename\u003c/code\u003e already prevented writing to these. \u003ca href=\"https://github.com/pallets/werkzeug/security/advisories/GHSA-hgf8-39gv-g3f2\"\u003eghsa-hgf8-39gv-g3f2\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe debugger pin fails after 10 attempts instead of 11. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3020\"\u003e#3020\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe multipart form parser handles a \u003ccode\u003e\\r\\n\u003c/code\u003e sequence at a chunk boundary. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3065\"\u003e#3065\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove CPU usage during Watchdog reloader. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3054\"\u003e#3054\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.json\u003c/code\u003e annotation is more accurate. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3067\"\u003e#3067\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTraceback rendering handles when the line number is beyond the available source lines. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3044\"\u003e#3044\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eHTTPException.get_response\u003c/code\u003e annotation and doc better conveys the distinction between WSGI and sans-IO responses. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3056\"\u003e#3056\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.3\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.3 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes vs 3.1.0.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Werkzeug/3.1.3/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.3/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/en/stable/changes/#version-3-1-3\"\u003ehttps://werkzeug.palletsprojects.com/en/stable/changes/#version-3-1-3\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/werkzeug/milestone/41?closed=1\"\u003ehttps://github.com/pallets/werkzeug/milestone/41?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eInitial data passed to \u003ccode\u003eMultiDict\u003c/code\u003e and similar interfaces only accepts \u003ccode\u003elist\u003c/code\u003e, \u003ccode\u003etuple\u003c/code\u003e, or \u003ccode\u003eset\u003c/code\u003e when passing multiple values. It had been changed to accept any \u003ccode\u003eCollection\u003c/code\u003e, but this matched types that should be treated as single values, such as \u003ccode\u003ebytes\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/2994\"\u003e#2994\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen the \u003ccode\u003eHost\u003c/code\u003e header is not set and \u003ccode\u003eRequest.host\u003c/code\u003e falls back to the WSGI \u003ccode\u003eSERVER_NAME\u003c/code\u003e value, if that value is an IPv6 address it is wrapped in \u003ccode\u003e[]\u003c/code\u003e to match the \u003ccode\u003eHost\u003c/code\u003e header. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/2993\"\u003e#2993\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.2\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.2 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes vs 3.1.0.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Werkzeug/3.1.2/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/en/stable/changes/#version-3-1-2\"\u003ehttps://werkzeug.palletsprojects.com/en/stable/changes/#version-3-1-2\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/werkzeug/blob/main/CHANGES.rst\"\u003ewerkzeug's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.1.6\u003c/h2\u003e\n\u003cp\u003eReleased 2026-02-19\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow special devices names in\nmulti-segment paths. :ghsa:\u003ccode\u003e29vq-49wr-vm6x\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eResponse.make_conditional\u003c/code\u003e sets the \u003ccode\u003eAccept-Ranges\u003c/code\u003e header even if it\nis not a satisfiable range request. :issue:\u003ccode\u003e3108\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.5\u003c/h2\u003e\n\u003cp\u003eReleased 2026-01-08\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow more special device names, regardless\nof extension or surrounding spaces. :ghsa:\u003ccode\u003e87hc-h4r5-73f7\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe multipart form parser handles a \u003ccode\u003e\\r\\n\u003c/code\u003e sequence at a chunk boundary.\nThis fixes the previous attempt, which caused incorrect content lengths.\n:issue:\u003ccode\u003e3065\u003c/code\u003e :issue:\u003ccode\u003e3077\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eAttributeError\u003c/code\u003e when initializing \u003ccode\u003eDebuggedApplication\u003c/code\u003e with\n\u003ccode\u003epin_security=False\u003c/code\u003e. :issue:\u003ccode\u003e3075\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.4\u003c/h2\u003e\n\u003cp\u003eReleased 2025-11-28\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow special device names. This prevents\nreading from these when using \u003ccode\u003esend_from_directory\u003c/code\u003e. \u003ccode\u003esecure_filename\u003c/code\u003e\nalready prevented writing to these. :ghsa:\u003ccode\u003ehgf8-39gv-g3f2\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe debugger pin fails after 10 attempts instead of 11. :pr:\u003ccode\u003e3020\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe multipart form parser handles a \u003ccode\u003e\\r\\n\u003c/code\u003e sequence at a chunk boundary.\n:issue:\u003ccode\u003e3065\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eImprove CPU usage during Watchdog reloader. :issue:\u003ccode\u003e3054\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.json\u003c/code\u003e annotation is more accurate. :issue:\u003ccode\u003e3067\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eTraceback rendering handles when the line number is beyond the available\nsource lines. :issue:\u003ccode\u003e3044\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eHTTPException.get_response\u003c/code\u003e annotation and doc better conveys the\ndistinction between WSGI and sans-IO responses. :issue:\u003ccode\u003e3056\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.3\u003c/h2\u003e\n\u003cp\u003eReleased 2024-11-08\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eInitial data passed to \u003ccode\u003eMultiDict\u003c/code\u003e and similar interfaces only accepts\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/werkzeug/commit/04da1b5221b7a7b57e82246e4b5741d37a6b2e56\"\u003e\u003ccode\u003e04da1b5\u003c/code\u003e\u003c/a\u003e release version 3.1.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/f407712fdc60a09c2b3f4fe7db557703e5d9338d\"\u003e\u003ccode\u003ef407712\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/f54fe98026253e70fbbcd35a6b52fb67cfff1c03\"\u003e\u003ccode\u003ef54fe98\u003c/code\u003e\u003c/a\u003e safe_join prevents Windows special device names in multi-segment paths\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/d005985ef69ffe3275eda8fb6fb25e074dbe871b\"\u003e\u003ccode\u003ed005985\u003c/code\u003e\u003c/a\u003e start version 3.1.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/8565c2cbd6681ae8463e77d4fc0795324a7fdae7\"\u003e\u003ccode\u003e8565c2c\u003c/code\u003e\u003c/a\u003e document rule priority (\u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3102\"\u003e#3102\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/3febc7e90072bffe04c27e6b7478dfc4f88930df\"\u003e\u003ccode\u003e3febc7e\u003c/code\u003e\u003c/a\u003e document rule priority\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/2525b827646c10ab7adb334664e6a4af1b769181\"\u003e\u003ccode\u003e2525b82\u003c/code\u003e\u003c/a\u003e remove state machine docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/4abfbd553cdeb6d4e6fa693340d52b13c884079f\"\u003e\u003ccode\u003e4abfbd5\u003c/code\u003e\u003c/a\u003e rewrite build docstring (\u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3097\"\u003e#3097\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/161c18b2a8800ae6ef377fb3cbdb933a878fea67\"\u003e\u003ccode\u003e161c18b\u003c/code\u003e\u003c/a\u003e rewrite build docstring\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/86e11c29e44726dae524cd9db11549b3b1ad681d\"\u003e\u003ccode\u003e86e11c2\u003c/code\u003e\u003c/a\u003e release version 3.1.5 (\u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3085\"\u003e#3085\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/werkzeug/compare/3.0.3...3.1.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `flask` from 2.2.5 to 3.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/releases\"\u003eflask's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.3\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.3 security fix release, which fixes a security issue but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.3/\"\u003ehttps://pypi.org/project/Flask/3.1.3/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-3\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-3\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys but not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. \u003ca href=\"https://github.com/pallets/flask/security/advisories/GHSA-68rp-wp8r-4726\"\u003eGHSA-68rp-wp8r-4726\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.2\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.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/Flask/3.1.2/\"\u003ehttps://pypi.org/project/Flask/3.1.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-2\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-2\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/38?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/38?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5774\"\u003e#5774\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state of \u003ccode\u003esession\u003c/code\u003e is correct. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5786\"\u003e#5786\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5776\"\u003e#5776\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.1\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.1 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.1/\"\u003ehttps://pypi.org/project/Flask/3.1.1/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/flask/milestone/36?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/36?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. GHSA-4grg-w6v8-c28g\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5645\"\u003e#5645\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loads the app and plugins first to make sure all commands are shown. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5673\"\u003e#5673\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMark sans-io base class as being able to handle views that return \u003ccode\u003eAsyncIterable\u003c/code\u003e. This is not accurate for Flask, but makes typing easier for Quart. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5659\"\u003e#5659\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.0\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecations, or introduce potentially breaking changes. We encourage everyone to upgrade, and to use a tool such as \u003ca href=\"https://pypi.org/project/pip-tools/\"\u003epip-tools\u003c/a\u003e to pin all dependencies and control upgrades. Test with warnings treated as errors to be able to adapt to deprecation warnings early.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.0/\"\u003ehttps://pypi.org/project/Flask/3.1.0/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-0\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-0\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/33?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/33?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5623\"\u003e#5623\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate minimum dependency versions to latest feature releases. Werkzeug \u0026gt;= 3.1, ItsDangerous \u0026gt;= 2.2, Blinker \u0026gt;= 1.9. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5624\"\u003e#5624\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5633\"\u003e#5633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProvide a configuration option to control automatic option responses. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5496\"\u003e#5496\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFlask.open_resource\u003c/code\u003e/\u003ccode\u003eopen_instance_resource\u003c/code\u003e and \u003ccode\u003eBlueprint.open_resource\u003c/code\u003e take an \u003ccode\u003eencoding\u003c/code\u003e parameter to use when opening in text mode. It defaults to \u003ccode\u003eutf-8\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5504\"\u003e#5504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.max_content_length\u003c/code\u003e can be customized per-request instead of only through the \u003ccode\u003eMAX_CONTENT_LENGTH\u003c/code\u003e config. Added \u003ccode\u003eMAX_FORM_MEMORY_SIZE\u003c/code\u003e and \u003ccode\u003eMAX_FORM_PARTS\u003c/code\u003e config. Added documentation about resource limits to the security page. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5625\"\u003e#5625\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for the \u003ccode\u003ePartitioned\u003c/code\u003e cookie attribute (CHIPS), with the \u003ccode\u003eSESSION_COOKIE_PARTITIONED\u003c/code\u003e config. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5472\"\u003e#5472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e-e path\u003c/code\u003e takes precedence over default \u003ccode\u003e.env\u003c/code\u003e and \u003ccode\u003e.flaskenv\u003c/code\u003e files. \u003ccode\u003eload_dotenv\u003c/code\u003e loads default files in addition to a path unless \u003ccode\u003eload_defaults=False\u003c/code\u003e is passed. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5628\"\u003e#5628\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport key rotation with the \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e config, a list of old secret keys that can still be used for unsigning. Extensions will need to add support. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5621\"\u003e#5621\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix how setting \u003ccode\u003ehost_matching=True\u003c/code\u003e or \u003ccode\u003esubdomain_matching=False\u003c/code\u003e interacts with \u003ccode\u003eSERVER_NAME\u003c/code\u003e. Setting \u003ccode\u003eSERVER_NAME\u003c/code\u003e no longer restricts requests to only that domain. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5553\"\u003e#5553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.trusted_hosts\u003c/code\u003e is checked during routing, and can be set through the \u003ccode\u003eTRUSTED_HOSTS\u003c/code\u003e config. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5636\"\u003e#5636\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.0.3\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/blob/main/CHANGES.rst\"\u003eflask's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.1.3\u003c/h2\u003e\n\u003cp\u003eReleased 2026-02-18\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys\nbut not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. :ghsa:\u003ccode\u003e68rp-wp8r-4726\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.2\u003c/h2\u003e\n\u003cp\u003eReleased 2025-08-19\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. :issue:\u003ccode\u003e5774\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state\nof \u003ccode\u003esession\u003c/code\u003e is correct. :issue:\u003ccode\u003e5786\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. :issue:\u003ccode\u003e5776\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-05-13\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via\n\u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. :ghsa:\u003ccode\u003e4grg-w6v8-c28g\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. :issue:\u003ccode\u003e5645\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loads the app and plugins first to make sure all commands\nare shown. :issue:\u003ccode\u003e5673\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eMark sans-io base class as being able to handle views that return\n\u003ccode\u003eAsyncIterable\u003c/code\u003e. This is not accurate for Flask, but makes typing easier\nfor Quart. :pr:\u003ccode\u003e5659\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.0\u003c/h2\u003e\n\u003cp\u003eReleased 2024-11-13\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. :pr:\u003ccode\u003e5623\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUpdate minimum dependency versions to latest feature releases.\nWerkzeug \u0026gt;= 3.1, ItsDangerous \u0026gt;= 2.2, Blinker \u0026gt;= 1.9. :pr:\u003ccode\u003e5624,5633\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eProvide a configuration option to control automatic option\nresponses. :pr:\u003ccode\u003e5496\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFlask.open_resource\u003c/code\u003e/\u003ccode\u003eopen_instance_resource\u003c/code\u003e and\n\u003ccode\u003eBlueprint.open_resource\u003c/code\u003e take an \u003ccode\u003eencoding\u003c/code\u003e parameter to use when\nopening in text mode. It defaults to \u003ccode\u003eutf-8\u003c/code\u003e. :issue:\u003ccode\u003e5504\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.max_content_length\u003c/code\u003e can be customized per-request instead of only\nthrough the \u003ccode\u003eMAX_CONTENT_LENGTH\u003c/code\u003e config. Added\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/22d924701a6ae2e4cd01e9a15bbaf3946094af65\"\u003e\u003ccode\u003e22d9247\u003c/code\u003e\u003c/a\u003e release version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/089cb86dd22bff589a4eafb7ab8e42dc357623b4\"\u003e\u003ccode\u003e089cb86\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/c17f379390731543eea33a570a47bd4ef76a54fa\"\u003e\u003ccode\u003ec17f379\u003c/code\u003e\u003c/a\u003e request context tracks session access\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/27be9338405382445a7cb01151e084559b98d602\"\u003e\u003ccode\u003e27be933\u003c/code\u003e\u003c/a\u003e start version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4e652d3f68b90d50aa2301d3b7e68c3fafd9251d\"\u003e\u003ccode\u003e4e652d3\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5903\"\u003e#5903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/3d03098a97ddc6a908aa4a50c2ef7381f8297d0a\"\u003e\u003ccode\u003e3d03098\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/407eb76b27884848383a37c7274654f0271e4bc4\"\u003e\u003ccode\u003e407eb76\u003c/code\u003e\u003c/a\u003e document using gevent for async (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5900\"\u003e#5900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/ac5664d2281533eacafd64f5cc7d5edcdaccab60\"\u003e\u003ccode\u003eac5664d\u003c/code\u003e\u003c/a\u003e document using gevent for async\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4f79d5b59a56bc4356a97f2e81a35f98cb18d7b3\"\u003e\u003ccode\u003e4f79d5b\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11 (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/...\n\n_Description has been truncated_","html_url":"https://github.com/Reality2byte/python-docs-samples/pull/147","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Reality2byte%2Fpython-docs-samples/issues/147","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/147/packages"}},{"old_version":"2.6.3","new_version":"3.2.0b1","update_type":"major","path":null,"pr_created_at":"2026-03-16T17:25:46.000Z","version_change":"2.6.3 → 3.2.0b1","issue":{"uuid":"4083799073","node_id":"PR_kwDOOK9uiM7K_VkM","number":139,"state":"open","title":"chore(deps): bump the uv group across 23 directories with 14 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-16T17:25:46.000Z","updated_at":"2026-04-08T04:51:49.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"uv","update_count":14,"packages":[{"name":"flask","old_version":"2.2.5","new_version":"3.1.3","repository_url":"https://github.com/pallets/flask"},{"name":"werkzeug","old_version":"2.2.3","new_version":"3.1.6","repository_url":"https://github.com/pallets/werkzeug"},{"name":"pyopenssl","old_version":"23.2.0","new_version":"26.0.0","repository_url":"https://github.com/pyca/pyopenssl"},{"name":"apache-airflow","old_version":"2.6.3","new_version":"3.2.0b1","repository_url":"https://github.com/apache/airflow"},{"name":"authlib","old_version":"1.2.1","new_version":"1.6.9","repository_url":"https://github.com/authlib/authlib"},{"name":"black","old_version":"23.1a1","new_version":"26.3.1","repository_url":"https://github.com/psf/black"},{"name":"cryptography","old_version":"40.0.2","new_version":"46.0.5","repository_url":"https://github.com/pyca/cryptography"},{"name":"google-cloud-aiplatform","old_version":"1.27.1","new_version":"1.133.0","repository_url":"https://github.com/googleapis/python-aiplatform"},{"name":"orjson","old_version":"3.9.1","new_version":"3.11.6","repository_url":"https://github.com/ijl/orjson"},{"name":"protobuf","old_version":"4.23.4","new_version":"5.29.6","repository_url":"https://github.com/protocolbuffers/protobuf"}],"path":null,"ecosystem":"pip"},"body":"Bumps the uv group with 1 update in the /alloydb/notebooks directory: [nbconvert](https://github.com/jupyter/nbconvert).\nBumps the uv group with 2 updates in the /appengine/standard/firebase/firenotes/backend directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the uv group with 3 updates in the /cloud-media-livestream/keypublisher directory: [flask](https://github.com/pallets/flask), [werkzeug](https://github.com/pallets/werkzeug) and [pyopenssl](https://github.com/pyca/pyopenssl).\nBumps the uv group with 3 updates in the /cloud-sql/sql-server/sqlalchemy directory: [flask](https://github.com/pallets/flask), [werkzeug](https://github.com/pallets/werkzeug) and [pyopenssl](https://github.com/pyca/pyopenssl).\nBumps the uv group with 2 updates in the /cloud_scheduler/snippets directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the uv group with 10 updates in the /composer/2022_airflow_summit directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [flask](https://github.com/pallets/flask) | `2.2.5` | `3.1.3` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `2.2.3` | `3.1.6` |\n| [pyopenssl](https://github.com/pyca/pyopenssl) | `23.2.0` | `26.0.0` |\n| [apache-airflow](https://github.com/apache/airflow) | `2.6.3` | `3.2.0b1` |\n| [authlib](https://github.com/authlib/authlib) | `1.2.1` | `1.6.9` |\n| [black](https://github.com/psf/black) | `23.1a1` | `26.3.1` |\n| [cryptography](https://github.com/pyca/cryptography) | `40.0.2` | `46.0.5` |\n| [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) | `1.27.1` | `1.133.0` |\n| [orjson](https://github.com/ijl/orjson) | `3.9.1` | `3.11.6` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `4.23.4` | `5.29.6` |\n\nBumps the uv group with 6 updates in the /composer/airflow_1_samples directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [flask](https://github.com/pallets/flask) | `1.1.2` | `3.1.3` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `0.16.1` | `3.1.6` |\n| [pyopenssl](https://github.com/pyca/pyopenssl) | `20.0.0` | `26.0.0` |\n| [black](https://github.com/psf/black) | `20.8b0` | `25.11.0` |\n| [cryptography](https://github.com/pyca/cryptography) | `3.2.1` | `46.0.5` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `3.14.0` | `5.29.6` |\n\nBumps the uv group with 10 updates in the /composer/cicd_sample directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [flask](https://github.com/pallets/flask) | `2.2.5` | `3.1.3` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `2.2.3` | `3.1.6` |\n| [pyopenssl](https://github.com/pyca/pyopenssl) | `23.2.0` | `26.0.0` |\n| [apache-airflow](https://github.com/apache/airflow) | `2.6.3` | `3.2.0b1` |\n| [authlib](https://github.com/authlib/authlib) | `1.2.1` | `1.6.9` |\n| [black](https://github.com/psf/black) | `23.1a1` | `26.3.1` |\n| [cryptography](https://github.com/pyca/cryptography) | `40.0.2` | `46.0.5` |\n| [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) | `1.27.1` | `1.133.0` |\n| [orjson](https://github.com/ijl/orjson) | `3.9.1` | `3.11.6` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `4.23.4` | `5.29.6` |\n\nBumps the uv group with 9 updates in the /composer/workflows directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [flask](https://github.com/pallets/flask) | `2.2.5` | `3.1.3` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `2.2.3` | `3.1.6` |\n| [pyopenssl](https://github.com/pyca/pyopenssl) | `24.1.0` | `26.0.0` |\n| [authlib](https://github.com/authlib/authlib) | `1.3.1` | `1.6.9` |\n| [black](https://github.com/psf/black) | `24.4.2` | `26.3.1` |\n| [cryptography](https://github.com/pyca/cryptography) | `41.0.7` | `46.0.5` |\n| [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) | `1.53.0` | `1.133.0` |\n| [orjson](https://github.com/ijl/orjson) | `3.10.3` | `3.11.6` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `4.25.3` | `5.29.6` |\n\nBumps the uv group with 1 update in the /compute/client_library directory: [black](https://github.com/psf/black).\nBumps the uv group with 1 update in the /compute/encryption directory: [cryptography](https://github.com/pyca/cryptography).\nBumps the uv group with 3 updates in the /dataflow/flex-templates/pipeline_with_dependencies directory: [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform), [orjson](https://github.com/ijl/orjson) and [protobuf](https://github.com/protocolbuffers/protobuf).\nBumps the uv group with 3 updates in the /dataflow/gemma directory: [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform), [protobuf](https://github.com/protocolbuffers/protobuf) and [keras](https://github.com/keras-team/keras).\nBumps the uv group with 1 update in the /dataflow/gemma-flex-template directory: [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform).\nBumps the uv group with 3 updates in the /dataflow/run-inference directory: [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform), [torch](https://github.com/pytorch/pytorch) and [transformers](https://github.com/huggingface/transformers).\nBumps the uv group with 1 update in the /dataflow/run_template directory: [flask](https://github.com/pallets/flask).\nBumps the uv group with 2 updates in the /datastore/cloud-ndb directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the uv group with 2 updates in the /dialogflow directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the uv group with 2 updates in the /dialogflow-cx directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the uv group with 1 update in the /gemma2 directory: [protobuf](https://github.com/protocolbuffers/protobuf).\nBumps the uv group with 2 updates in the /iap directory: [werkzeug](https://github.com/pallets/werkzeug) and [cryptography](https://github.com/pyca/cryptography).\nBumps the uv group with 1 update in the /media_cdn directory: [cryptography](https://github.com/pyca/cryptography).\nBumps the uv group with 2 updates in the /run/mcp-server directory: [authlib](https://github.com/authlib/authlib) and [cryptography](https://github.com/pyca/cryptography).\n\nUpdates `nbconvert` from 7.16.6 to 7.17.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jupyter/nbconvert/releases\"\u003enbconvert's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.17.0\u003c/h2\u003e\n\u003ch2\u003e7.17.0\u003c/h2\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbconvert/compare/v7.16.6...c9ac1d1040459ed1ff9eb34e9918ce5a87cf9d71\"\u003eFull Changelog\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eEnhancements made\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for arbitrary browser arguments \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2227\"\u003e#2227\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugs fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix QtPNGExporter returning empty bytes on macOS \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2264\"\u003e#2264\u003c/a\u003e (\u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/QuLogic\"\u003e\u003ccode\u003e@​QuLogic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix CVE-2025-53000: Secure Inkscape Windows path (registry first + block CWD) \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2261\"\u003e#2261\u003c/a\u003e (\u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/mberlanda\"\u003e\u003ccode\u003e@​mberlanda\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/salmankadaya\"\u003e\u003ccode\u003e@​salmankadaya\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/th3gowtham\"\u003e\u003ccode\u003e@​th3gowtham\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix get_export_names and get_exporter default args \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2228\"\u003e#2228\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePyPA-Compliant Summary \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2226\"\u003e#2226\u003c/a\u003e (\u003ca href=\"https://github.com/hackowitz-af\"\u003e\u003ccode\u003e@​hackowitz-af\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMaintenance and upkeep improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eavoid cov environment on free-threaded Pythons \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2267\"\u003e#2267\u003c/a\u003e (\u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate pre-commit, and fix all issues. \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2238\"\u003e#2238\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop test on 3.9, test on 3.13, 3.14, 3.14t \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2237\"\u003e#2237\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the actions group across 1 directory with 2 updates \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2231\"\u003e#2231\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003e@flaky.flaky\u003c/code\u003e decorate with pytest marker \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2229\"\u003e#2229\u003c/a\u003e (\u003ca href=\"https://github.com/mgorny\"\u003e\u003ccode\u003e@​mgorny\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate to mermaid 11.10.0 \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2224\"\u003e#2224\u003c/a\u003e (\u003ca href=\"https://github.com/bollwyvl\"\u003e\u003ccode\u003e@​bollwyvl\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.8, fix the CI tests \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2221\"\u003e#2221\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse \u003ccode\u003eintersphinx_registry\u003c/code\u003e \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2232\"\u003e#2232\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors to this release\u003c/h3\u003e\n\u003cp\u003eThe following people contributed discussions, new ideas, code and documentation contributions, and review.\nSee \u003ca href=\"https://github-activity.readthedocs.io/en/latest/use/#how-does-this-tool-define-contributions-in-the-reports\"\u003eour definition of contributors\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbconvert/graphs/contributors?from=2025-01-28\u0026amp;to=2026-01-29\u0026amp;type=c\"\u003eGitHub contributors page for this release\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/bollwyvl\"\u003e\u003ccode\u003e@​bollwyvl\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Abollwyvl+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3ACarreau+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ah3pdesign+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/hackowitz-af\"\u003e\u003ccode\u003e@​hackowitz-af\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ahackowitz-af+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Akrassowski+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/mberlanda\"\u003e\u003ccode\u003e@​mberlanda\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Amberlanda+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/mgorny\"\u003e\u003ccode\u003e@​mgorny\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Amgorny+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Aminrk+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/MSeal\"\u003e\u003ccode\u003e@​MSeal\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3AMSeal+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/QuLogic\"\u003e\u003ccode\u003e@​QuLogic\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3AQuLogic+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/salmankadaya\"\u003e\u003ccode\u003e@​salmankadaya\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Asalmankadaya+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ashreve+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/th3gowtham\"\u003e\u003ccode\u003e@​th3gowtham\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ath3gowtham+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e)\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jupyter/nbconvert/blob/main/CHANGELOG.md\"\u003enbconvert's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.17.0\u003c/h2\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbconvert/compare/v7.16.6...c9ac1d1040459ed1ff9eb34e9918ce5a87cf9d71\"\u003eFull Changelog\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eEnhancements made\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for arbitrary browser arguments \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2227\"\u003e#2227\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugs fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix QtPNGExporter returning empty bytes on macOS \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2264\"\u003e#2264\u003c/a\u003e (\u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/QuLogic\"\u003e\u003ccode\u003e@​QuLogic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix CVE-2025-53000: Secure Inkscape Windows path (registry first + block CWD) \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2261\"\u003e#2261\u003c/a\u003e (\u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/mberlanda\"\u003e\u003ccode\u003e@​mberlanda\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/salmankadaya\"\u003e\u003ccode\u003e@​salmankadaya\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/th3gowtham\"\u003e\u003ccode\u003e@​th3gowtham\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix get_export_names and get_exporter default args \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2228\"\u003e#2228\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePyPA-Compliant Summary \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2226\"\u003e#2226\u003c/a\u003e (\u003ca href=\"https://github.com/hackowitz-af\"\u003e\u003ccode\u003e@​hackowitz-af\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMaintenance and upkeep improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eavoid cov environment on free-threaded Pythons \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2267\"\u003e#2267\u003c/a\u003e (\u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate pre-commit, and fix all issues. \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2238\"\u003e#2238\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop test on 3.9, test on 3.13, 3.14, 3.14t \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2237\"\u003e#2237\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the actions group across 1 directory with 2 updates \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2231\"\u003e#2231\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003e@flaky.flaky\u003c/code\u003e decorate with pytest marker \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2229\"\u003e#2229\u003c/a\u003e (\u003ca href=\"https://github.com/mgorny\"\u003e\u003ccode\u003e@​mgorny\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate to mermaid 11.10.0 \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2224\"\u003e#2224\u003c/a\u003e (\u003ca href=\"https://github.com/bollwyvl\"\u003e\u003ccode\u003e@​bollwyvl\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.8, fix the CI tests \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2221\"\u003e#2221\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse \u003ccode\u003eintersphinx_registry\u003c/code\u003e \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2232\"\u003e#2232\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors to this release\u003c/h3\u003e\n\u003cp\u003eThe following people contributed discussions, new ideas, code and documentation contributions, and review.\nSee \u003ca href=\"https://github-activity.readthedocs.io/en/latest/use/#how-does-this-tool-define-contributions-in-the-reports\"\u003eour definition of contributors\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbconvert/graphs/contributors?from=2025-01-28\u0026amp;to=2026-01-29\u0026amp;type=c\"\u003eGitHub contributors page for this release\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/bollwyvl\"\u003e\u003ccode\u003e@​bollwyvl\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Abollwyvl+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3ACarreau+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ah3pdesign+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/hackowitz-af\"\u003e\u003ccode\u003e@​hackowitz-af\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ahackowitz-af+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Akrassowski+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/mberlanda\"\u003e\u003ccode\u003e@​mberlanda\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Amberlanda+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/mgorny\"\u003e\u003ccode\u003e@​mgorny\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Amgorny+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Aminrk+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/MSeal\"\u003e\u003ccode\u003e@​MSeal\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3AMSeal+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/QuLogic\"\u003e\u003ccode\u003e@​QuLogic\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3AQuLogic+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/salmankadaya\"\u003e\u003ccode\u003e@​salmankadaya\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Asalmankadaya+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ashreve+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/th3gowtham\"\u003e\u003ccode\u003e@​th3gowtham\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ath3gowtham+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e)\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/21b35d85b46f5ff0956d3d088a52b9bef00e8196\"\u003e\u003ccode\u003e21b35d8\u003c/code\u003e\u003c/a\u003e Publish 7.17.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/c9ac1d1040459ed1ff9eb34e9918ce5a87cf9d71\"\u003e\u003ccode\u003ec9ac1d1\u003c/code\u003e\u003c/a\u003e Fix CVE-2025-53000: Secure Inkscape Windows path (registry first + block CWD)...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/b13276d80ae6fadbfda981304810e26f421c4ced\"\u003e\u003ccode\u003eb13276d\u003c/code\u003e\u003c/a\u003e avoid cov environment on free-threaded Pythons (\u003ca href=\"https://redirect.github.com/jupyter/nbconvert/issues/2267\"\u003e#2267\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/7c7055fe833fe9832e6f9a64fa5f67d66692c8d6\"\u003e\u003ccode\u003e7c7055f\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] auto fixes from pre-commit.com hooks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/74f3ddd37ef4b7ffb5eee9acbf52062217c15852\"\u003e\u003ccode\u003e74f3ddd\u003c/code\u003e\u003c/a\u003e Fix QtPNGExporter returning empty bytes on macOS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/216550b2aae4c329f4dab597a96ae7cac30de79a\"\u003e\u003ccode\u003e216550b\u003c/code\u003e\u003c/a\u003e fix links\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/39777ac5716350e994171d025a7369c58b0afc8c\"\u003e\u003ccode\u003e39777ac\u003c/code\u003e\u003c/a\u003e try to comment fialing test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/7b591ca526f2598dbae3256a53765659c3edcf14\"\u003e\u003ccode\u003e7b591ca\u003c/code\u003e\u003c/a\u003e ruff-check\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/6ec7638a3dc7a0bc2c533c116202d7f9b07ce9d9\"\u003e\u003ccode\u003e6ec7638\u003c/code\u003e\u003c/a\u003e parent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/59414b36f94e318d4207e8af863167047d936c19\"\u003e\u003ccode\u003e59414b3\u003c/code\u003e\u003c/a\u003e fix mypy\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jupyter/nbconvert/compare/v7.16.6...v7.17.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `flask` from 3.0.0 to 3.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/releases\"\u003eflask's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.3\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.3 security fix release, which fixes a security issue but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.3/\"\u003ehttps://pypi.org/project/Flask/3.1.3/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-3\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-3\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys but not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. \u003ca href=\"https://github.com/pallets/flask/security/advisories/GHSA-68rp-wp8r-4726\"\u003eGHSA-68rp-wp8r-4726\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.2\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.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/Flask/3.1.2/\"\u003ehttps://pypi.org/project/Flask/3.1.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-2\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-2\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/38?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/38?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5774\"\u003e#5774\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state of \u003ccode\u003esession\u003c/code\u003e is correct. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5786\"\u003e#5786\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5776\"\u003e#5776\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.1\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.1 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.1/\"\u003ehttps://pypi.org/project/Flask/3.1.1/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/flask/milestone/36?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/36?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. GHSA-4grg-w6v8-c28g\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5645\"\u003e#5645\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loads the app and plugins first to make sure all commands are shown. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5673\"\u003e#5673\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMark sans-io base class as being able to handle views that return \u003ccode\u003eAsyncIterable\u003c/code\u003e. This is not accurate for Flask, but makes typing easier for Quart. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5659\"\u003e#5659\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.0\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecations, or introduce potentially breaking changes. We encourage everyone to upgrade, and to use a tool such as \u003ca href=\"https://pypi.org/project/pip-tools/\"\u003epip-tools\u003c/a\u003e to pin all dependencies and control upgrades. Test with warnings treated as errors to be able to adapt to deprecation warnings early.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.0/\"\u003ehttps://pypi.org/project/Flask/3.1.0/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-0\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-0\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/33?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/33?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5623\"\u003e#5623\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate minimum dependency versions to latest feature releases. Werkzeug \u0026gt;= 3.1, ItsDangerous \u0026gt;= 2.2, Blinker \u0026gt;= 1.9. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5624\"\u003e#5624\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5633\"\u003e#5633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProvide a configuration option to control automatic option responses. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5496\"\u003e#5496\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFlask.open_resource\u003c/code\u003e/\u003ccode\u003eopen_instance_resource\u003c/code\u003e and \u003ccode\u003eBlueprint.open_resource\u003c/code\u003e take an \u003ccode\u003eencoding\u003c/code\u003e parameter to use when opening in text mode. It defaults to \u003ccode\u003eutf-8\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5504\"\u003e#5504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.max_content_length\u003c/code\u003e can be customized per-request instead of only through the \u003ccode\u003eMAX_CONTENT_LENGTH\u003c/code\u003e config. Added \u003ccode\u003eMAX_FORM_MEMORY_SIZE\u003c/code\u003e and \u003ccode\u003eMAX_FORM_PARTS\u003c/code\u003e config. Added documentation about resource limits to the security page. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5625\"\u003e#5625\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for the \u003ccode\u003ePartitioned\u003c/code\u003e cookie attribute (CHIPS), with the \u003ccode\u003eSESSION_COOKIE_PARTITIONED\u003c/code\u003e config. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5472\"\u003e#5472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e-e path\u003c/code\u003e takes precedence over default \u003ccode\u003e.env\u003c/code\u003e and \u003ccode\u003e.flaskenv\u003c/code\u003e files. \u003ccode\u003eload_dotenv\u003c/code\u003e loads default files in addition to a path unless \u003ccode\u003eload_defaults=False\u003c/code\u003e is passed. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5628\"\u003e#5628\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport key rotation with the \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e config, a list of old secret keys that can still be used for unsigning. Extensions will need to add support. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5621\"\u003e#5621\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix how setting \u003ccode\u003ehost_matching=True\u003c/code\u003e or \u003ccode\u003esubdomain_matching=False\u003c/code\u003e interacts with \u003ccode\u003eSERVER_NAME\u003c/code\u003e. Setting \u003ccode\u003eSERVER_NAME\u003c/code\u003e no longer restricts requests to only that domain. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5553\"\u003e#5553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.trusted_hosts\u003c/code\u003e is checked during routing, and can be set through the \u003ccode\u003eTRUSTED_HOSTS\u003c/code\u003e config. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5636\"\u003e#5636\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.0.3\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/blob/main/CHANGES.rst\"\u003eflask's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.1.3\u003c/h2\u003e\n\u003cp\u003eReleased 2026-02-18\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys\nbut not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. :ghsa:\u003ccode\u003e68rp-wp8r-4726\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.2\u003c/h2\u003e\n\u003cp\u003eReleased 2025-08-19\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. :issue:\u003ccode\u003e5774\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state\nof \u003ccode\u003esession\u003c/code\u003e is correct. :issue:\u003ccode\u003e5786\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. :issue:\u003ccode\u003e5776\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-05-13\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via\n\u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. :ghsa:\u003ccode\u003e4grg-w6v8-c28g\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. :issue:\u003ccode\u003e5645\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loads the app and plugins first to make sure all commands\nare shown. :issue:\u003ccode\u003e5673\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eMark sans-io base class as being able to handle views that return\n\u003ccode\u003eAsyncIterable\u003c/code\u003e. This is not accurate for Flask, but makes typing easier\nfor Quart. :pr:\u003ccode\u003e5659\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.0\u003c/h2\u003e\n\u003cp\u003eReleased 2024-11-13\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. :pr:\u003ccode\u003e5623\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUpdate minimum dependency versions to latest feature releases.\nWerkzeug \u0026gt;= 3.1, ItsDangerous \u0026gt;= 2.2, Blinker \u0026gt;= 1.9. :pr:\u003ccode\u003e5624,5633\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eProvide a configuration option to control automatic option\nresponses. :pr:\u003ccode\u003e5496\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFlask.open_resource\u003c/code\u003e/\u003ccode\u003eopen_instance_resource\u003c/code\u003e and\n\u003ccode\u003eBlueprint.open_resource\u003c/code\u003e take an \u003ccode\u003eencoding\u003c/code\u003e parameter to use when\nopening in text mode. It defaults to \u003ccode\u003eutf-8\u003c/code\u003e. :issue:\u003ccode\u003e5504\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.max_content_length\u003c/code\u003e can be customized per-request instead of only\nthrough the \u003ccode\u003eMAX_CONTENT_LENGTH\u003c/code\u003e config. Added\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/22d924701a6ae2e4cd01e9a15bbaf3946094af65\"\u003e\u003ccode\u003e22d9247\u003c/code\u003e\u003c/a\u003e release version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/089cb86dd22bff589a4eafb7ab8e42dc357623b4\"\u003e\u003ccode\u003e089cb86\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/c17f379390731543eea33a570a47bd4ef76a54fa\"\u003e\u003ccode\u003ec17f379\u003c/code\u003e\u003c/a\u003e request context tracks session access\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/27be9338405382445a7cb01151e084559b98d602\"\u003e\u003ccode\u003e27be933\u003c/code\u003e\u003c/a\u003e start version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4e652d3f68b90d50aa2301d3b7e68c3fafd9251d\"\u003e\u003ccode\u003e4e652d3\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5903\"\u003e#5903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/3d03098a97ddc6a908aa4a50c2ef7381f8297d0a\"\u003e\u003ccode\u003e3d03098\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/407eb76b27884848383a37c7274654f0271e4bc4\"\u003e\u003ccode\u003e407eb76\u003c/code\u003e\u003c/a\u003e document using gevent for async (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5900\"\u003e#5900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/ac5664d2281533eacafd64f5cc7d5edcdaccab60\"\u003e\u003ccode\u003eac5664d\u003c/code\u003e\u003c/a\u003e document using gevent for async\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4f79d5b59a56bc4356a97f2e81a35f98cb18d7b3\"\u003e\u003ccode\u003e4f79d5b\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11 (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5865\"\u003e#5865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/fe3b215d3ade4db68262dae1a3cdc464a1fc524f\"\u003e\u003ccode\u003efe3b215\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/flask/compare/3.0.0...3.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `werkzeug` from 3.0.3 to 3.1.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/werkzeug/releases\"\u003ewerkzeug's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.6\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.6 security fix release, which fixes a security issue but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Werkzeug/3.1.6/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.6/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/page/changes/#version-3-1-6\"\u003ehttps://werkzeug.palletsprojects.com/page/changes/#version-3-1-6\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow special devices names in multi-segment paths. \u003ca href=\"https://github.com/pallets/werkzeug/security/advisories/GHSA-29vq-49wr-vm6x\"\u003eGHSA-29vq-49wr-vm6x\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.5\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.5 security fix release, which fixes security issues and 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/Werkzeug/3.1.5/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.5/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/page/changes/#version-3-1-5\"\u003ehttps://werkzeug.palletsprojects.com/page/changes/#version-3-1-5\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/werkzeug/milestone/43?closed=1\"\u003ehttps://github.com/pallets/werkzeug/milestone/43?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow more special device names, regardless of extension or surrounding spaces. \u003ca href=\"https://github.com/pallets/werkzeug/security/advisories/GHSA-87hc-h4r5-73f7\"\u003eGHSA-87hc-h4r5-73f7\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe multipart form parser handles a \u003ccode\u003e\\r\\n\u003c/code\u003e sequence at a chunk boundary. This fixes the previous attempt, which caused incorrect content lengths. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3065\"\u003e#3065\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3077\"\u003e#3077\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eAttributeError\u003c/code\u003e when initializing \u003ccode\u003eDebuggedApplication\u003c/code\u003e with \u003ccode\u003epin_security=False\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3075\"\u003e#3075\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.4\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.4 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/Werkzeug/3.1.4/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.4/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/page/changes/#version-3-1-4\"\u003ehttps://werkzeug.palletsprojects.com/page/changes/#version-3-1-4\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/werkzeug/milestone/42?closed=1\"\u003ehttps://github.com/pallets/werkzeug/milestone/42?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow special device names. This prevents reading from these when using \u003ccode\u003esend_from_directory\u003c/code\u003e. \u003ccode\u003esecure_filename\u003c/code\u003e already prevented writing to these. \u003ca href=\"https://github.com/pallets/werkzeug/security/advisories/GHSA-hgf8-39gv-g3f2\"\u003eghsa-hgf8-39gv-g3f2\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe debugger pin fails after 10 attempts instead of 11. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3020\"\u003e#3020\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe multipart form parser handles a \u003ccode\u003e\\r\\n\u003c/code\u003e sequence at a chunk boundary. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3065\"\u003e#3065\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove CPU usage during Watchdog reloader. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3054\"\u003e#3054\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.json\u003c/code\u003e annotation is more accurate. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3067\"\u003e#3067\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTraceback rendering handles when the line number is beyond the available source lines. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3044\"\u003e#3044\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eHTTPException.get_response\u003c/code\u003e annotation and doc better conveys the distinction between WSGI and sans-IO responses. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3056\"\u003e#3056\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.3\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.3 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes vs 3.1.0.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Werkzeug/3.1.3/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.3/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/en/stable/changes/#version-3-1-3\"\u003ehttps://werkzeug.palletsprojects.com/en/stable/changes/#version-3-1-3\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/werkzeug/milestone/41?closed=1\"\u003ehttps://github.com/pallets/werkzeug/milestone/41?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eInitial data passed to \u003ccode\u003eMultiDict\u003c/code\u003e and similar interfaces only accepts \u003ccode\u003elist\u003c/code\u003e, \u003ccode\u003etuple\u003c/code\u003e, or \u003ccode\u003eset\u003c/code\u003e when passing multiple values. It had been changed to accept any \u003ccode\u003eCollection\u003c/code\u003e, but this matched types that should be treated as single values, such as \u003ccode\u003ebytes\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/2994\"\u003e#2994\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen the \u003ccode\u003eHost\u003c/code\u003e header is not set and \u003ccode\u003eRequest.host\u003c/code\u003e falls back to the WSGI \u003ccode\u003eSERVER_NAME\u003c/code\u003e value, if that value is an IPv6 address it is wrapped in \u003ccode\u003e[]\u003c/code\u003e to match the \u003ccode\u003eHost\u003c/code\u003e header. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/2993\"\u003e#2993\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.2\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.2 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes vs 3.1.0.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Werkzeug/3.1.2/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/en/stable/changes/#version-3-1-2\"\u003ehttps://werkzeug.palletsprojects.com/en/stable/changes/#version-3-1-2\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/werkzeug/blob/main/CHANGES.rst\"\u003ewerkzeug's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.1.6\u003c/h2\u003e\n\u003cp\u003eReleased 2026-02-19\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow special devices names in\nmulti-segment paths. :ghsa:\u003ccode\u003e29vq-49wr-vm6x\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eResponse.make_conditional\u003c/code\u003e sets the \u003ccode\u003eAccept-Ranges\u003c/code\u003e header even if it\nis not a satisfiable range request. :issue:\u003ccode\u003e3108\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.5\u003c/h2\u003e\n\u003cp\u003eReleased 2026-01-08\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow more special device names, regardless\nof extension or surrounding spaces. :ghsa:\u003ccode\u003e87hc-h4r5-73f7\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe multipart form parser handles a \u003ccode\u003e\\r\\n\u003c/code\u003e sequence at a chunk boundary.\nThis fixes the previous attempt, which caused incorrect content lengths.\n:issue:\u003ccode\u003e3065\u003c/code\u003e :issue:\u003ccode\u003e3077\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eAttributeError\u003c/code\u003e when initializing \u003ccode\u003eDebuggedApplication\u003c/code\u003e with\n\u003ccode\u003epin_security=False\u003c/code\u003e. :issue:\u003ccode\u003e3075\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.4\u003c/h2\u003e\n\u003cp\u003eReleased 2025-11-28\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow special device names. This prevents\nreading from these when using \u003ccode\u003esend_from_directory\u003c/code\u003e. \u003ccode\u003esecure_filename\u003c/code\u003e\nalready prevented writing to these. :ghsa:\u003ccode\u003ehgf8-39gv-g3f2\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe debugger pin fails after 10 attempts instead of 11. :pr:\u003ccode\u003e3020\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe multipart form parser handles a \u003ccode\u003e\\r\\n\u003c/code\u003e sequence at a chunk boundary.\n:issue:\u003ccode\u003e3065\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eImprove CPU usage during Watchdog reloader. :issue:\u003ccode\u003e3054\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.json\u003c/code\u003e annotation is more accurate. :issue:\u003ccode\u003e3067\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eTraceback rendering handles when the line number is beyond the available\nsource lines. :issue:\u003ccode\u003e3044\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eHTTPException.get_response\u003c/code\u003e annotation and doc better conveys the\ndistinction between WSGI and sans-IO responses. :issue:\u003ccode\u003e3056\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.3\u003c/h2\u003e\n\u003cp\u003eReleased 2024-11-08\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eInitial data passed to \u003ccode\u003eMultiDict\u003c/code\u003e and similar interfaces only accepts\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/werkzeug/commit/04da1b5221b7a7b57e82246e4b5741d37a6b2e56\"\u003e\u003ccode\u003e04da1b5\u003c/code\u003e\u003c/a\u003e release version 3.1.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/f407712fdc60a09c2b3f4fe7db557703e5d9338d\"\u003e\u003ccode\u003ef407712\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/f54fe98026253e70fbbcd35a6b52fb67cfff1c03\"\u003e\u003ccode\u003ef54fe98\u003c/code\u003e\u003c/a\u003e safe_join prevents Windows special device names in multi-segment paths\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/d005985ef69ffe3275eda8fb6fb25e074dbe871b\"\u003e\u003ccode\u003ed005985\u003c/code\u003e\u003c/a\u003e start version 3.1.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/8565c2cbd6681ae8463e77d4fc0795324a7fdae7\"\u003e\u003ccode\u003e8565c2c\u003c/code\u003e\u003c/a\u003e document rule priority (\u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3102\"\u003e#3102\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/3febc7e90072bffe04c27e6b7478dfc4f88930df\"\u003e\u003ccode\u003e3febc7e\u003c/code\u003e\u003c/a\u003e document rule priority\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/2525b827646c10ab7adb334664e6a4af1b769181\"\u003e\u003ccode\u003e2525b82\u003c/code\u003e\u003c/a\u003e remove state machine docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/4abfbd553cdeb6d4e6fa693340d52b13c884079f\"\u003e\u003ccode\u003e4abfbd5\u003c/code\u003e\u003c/a\u003e rewrite build docstring (\u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3097\"\u003e#3097\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/161c18b2a8800ae6ef377fb3cbdb933a878fea67\"\u003e\u003ccode\u003e161c18b\u003c/code\u003e\u003c/a\u003e rewrite build docstring\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/86e11c29e44726dae524cd9db11549b3b1ad681d\"\u003e\u003ccode\u003e86e11c2\u003c/code\u003e\u003c/a\u003e release version 3.1.5 (\u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3085\"\u003e#3085\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/werkzeug/compare/3.0.3...3.1.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `flask` from 3.0.0 to 3.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/releases\"\u003eflask's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.3\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.3 security fix release, which fixes a security issue but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.3/\"\u003ehttps://pypi.org/project/Flask/3.1.3/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-3\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-3\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys but not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. \u003ca href=\"https://github.com/pallets/flask/security/advisories/GHSA-68rp-wp8r-4726\"\u003eGHSA-68rp-wp8r-4726\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.2\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.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/Flask/3.1.2/\"\u003ehttps://pypi.org/project/Flask/3.1.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-2\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-2\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/38?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/38?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5774\"\u003e#5774\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state of \u003ccode\u003esession\u003c/code\u003e is correct. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5786\"\u003e#5786\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5776\"\u003e#5776\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.1\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.1 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.1/\"\u003ehttps://pypi.org/project/Flask/3.1.1/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/flask/milestone/36?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/36?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. GHSA-4grg-w6v8-c28g\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5645\"\u003e#5645\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loads the app and plugins first to make sure all commands are shown. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5673\"\u003e#5673\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMark sans-io base class as being able to handle views that return \u003ccode\u003eAsyncIterable\u003c/code\u003e. This is not accurate for Flask, but makes typing easier for Quart. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5659\"\u003e#5659\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.0\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecations, or introduce potentially breaking changes. We encourage everyone to upgrade, and to use a tool such as \u003ca href=\"https://pypi.org/project/pip-tools/\"\u003epip-tools\u003c/a\u003e to pin all dependencies and control upgrades. Test with warnings treated as errors to be able to adapt to deprecation warnings early.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.0/\"\u003ehttps://pypi.org/project/Flask/3.1.0/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-0\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-0\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/33?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/33?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5623\"\u003e#5623\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate minimum dependency versions to latest feature releases. Werkzeug \u0026gt;= 3.1, ItsDangerous \u0026gt;= 2.2, Blinker \u0026gt;= 1.9. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5624\"\u003e#5624\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5633\"\u003e#5633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProvide a configuration option to control automatic option responses. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5496\"\u003e#5496\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFlask.open_resource\u003c/code\u003e/\u003ccode\u003eopen_instance_resource\u003c/code\u003e and \u003ccode\u003eBlueprint.open_resource\u003c/code\u003e take an \u003ccode\u003eencoding\u003c/code\u003e parameter to use when opening in text mode. It defaults to \u003ccode\u003eutf-8\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5504\"\u003e#5504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.max_content_length\u003c/code\u003e can be customized per-request instead of only through the \u003ccode\u003eMAX_CONTENT_LENGTH\u003c/code\u003e config. Added \u003ccode\u003eMAX_FORM_MEMORY_SIZE\u003c/code\u003e and \u003ccode\u003eMAX_FORM_PARTS\u003c/code\u003e config. Added documentation about resource limits to the security page. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5625\"\u003e#5625\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for the \u003ccode\u003ePartitioned\u003c/code\u003e cookie attribute (CHIPS), with the \u003ccode\u003eSESSION_COOKIE_PARTITIONED\u003c/code\u003e config. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5472\"\u003e#5472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e-e path\u003c/code\u003e takes precedence over default \u003ccode\u003e.env\u003c/code\u003e and \u003ccode\u003e.flaskenv\u003c/code\u003e files. \u003ccode\u003eload_dotenv\u003c/code\u003e loads default files in addition to a path unless \u003ccode\u003eload_defaults=False\u003c/code\u003e is passed. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5628\"\u003e#5628\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport key rotation with the \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e config, a list of old secret keys that can still be used for unsigning. Extensions will need to add support. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5621\"\u003e#5621\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix how setting \u003ccode\u003ehost_matching=True\u003c/code\u003e or \u003ccode\u003esubdomain_matching=False\u003c/code\u003e interacts with \u003ccode\u003eSERVER_NAME\u003c/code\u003e. Setting \u003ccode\u003eSERVER_NAME\u003c/code\u003e no longer restricts requests to only that domain. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5553\"\u003e#5553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.trusted_hosts\u003c/code\u003e is checked during routing, and can be set through the \u003ccode\u003eTRUSTED_HOSTS\u003c/code\u003e config. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5636\"\u003e#5636\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.0.3\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/blob/main/CHANGES.rst\"\u003eflask's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.1.3\u003c/h2\u003e\n\u003cp\u003eReleased 2026-02-18\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys\nbut not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. :ghsa:\u003ccode\u003e68rp-wp8r-4726\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.2\u003c/h2\u003e\n\u003cp\u003eReleased 2025-08-19\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. :issue:\u003ccode\u003e5774\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state\nof \u003ccode\u003esession\u003c/code\u003e is correct. :issue:\u003ccode\u003e5786\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. :issue:\u003ccode\u003e5776\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-05-13\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via\n\u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. :ghsa:\u003ccode\u003e4grg-w6v8-c28g\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. :issue:\u003ccode\u003e5645\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loads the app and plugins first to make sure all commands\nare shown. :issue:\u003ccode\u003e5673\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eMark sans-io base class as being able to handle views that return\n\u003ccode\u003eAsyncIterable\u003c/code\u003e. This is not accurate for Flask, but makes typing easier\nfor Quart. :pr:\u003ccode\u003e5659\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.0\u003c/h2\u003e\n\u003cp\u003eReleased 2024-11-13\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. :pr:\u003ccode\u003e5623\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUpdate minimum dependency versions to latest feature releases.\nWerkzeug \u0026gt;= 3.1, ItsDangerous \u0026gt;= 2.2, Blinker \u0026gt;= 1.9. :pr:\u003ccode\u003e5624,5633\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eProvide a configuration option to control automatic option\nresponses. :pr:\u003ccode\u003e5496\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFlask.open_resource\u003c/code\u003e/\u003ccode\u003eopen_instance_resource\u003c/code\u003e and\n\u003ccode\u003eBlueprint.open_resource\u003c/code\u003e take an \u003ccode\u003eencoding\u003c/code\u003e parameter to use when\nopening in text mode. It defaults to \u003ccode\u003eutf-8\u003c/code\u003e. :issue:\u003ccode\u003e5504\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.max_content_length\u003c/code\u003e can be customized per-request instead of only\nthrough the \u003ccode\u003eMAX_CONTENT_LENGTH\u003c/code\u003e config. Added\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/22d924701a6ae2e4cd01e9a15bbaf3946094af65\"\u003e\u003ccode\u003e22d9247\u003c/code\u003e\u003c/a\u003e release version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/089cb86dd22bff589a4eafb7ab8e42dc357623b4\"\u003e\u003ccode\u003e089cb86\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/c17f379390731543eea33a570a47bd4ef76a54fa\"\u003e\u003ccode\u003ec17f379\u003c/code\u003e\u003c/a\u003e request context tracks session access\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/27be9338405382445a7cb01151e084559b98d602\"\u003e\u003ccode\u003e27be933\u003c/code\u003e\u003c/a\u003e start version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4e652d3f68b90d50aa2301d3b7e68c3fafd9251d\"\u003e\u003ccode\u003e4e652d3\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5903\"\u003e#5903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/3d03098a97ddc6a908aa4a50c2ef7381f8297d0a\"\u003e\u003ccode\u003e3d03098\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/407eb76b27884848383a37c7274654f0271e4bc4\"\u003e\u003ccode\u003e407eb76\u003c/code\u003e\u003c/a\u003e document using gevent for async (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5900\"\u003e#5900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/ac5664d2281533eacafd64f5cc7d5edcdaccab60\"\u003e\u003ccode\u003eac5664d\u003c/code\u003e\u003c/a\u003e document using gevent for async\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4f79d5b59a56bc4356a97f2e81a35f98cb18d7b3\"\u003e\u003ccode\u003e4f79d5b\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11 (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5865\"\u003e#5865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/fe3b215d3ade4db68262dae1a3cdc464a1fc524f\"\u003e\u003ccode\u003efe3b215\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/flask/compare/3.0.0...3.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `werkzeug` from 3.0.3 to 3.1.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/werkzeug/releases\"\u003ewerkzeug's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.6\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.6 security fix release, which fixes a security issue but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Werkzeug/3.1.6/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.6/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/page/changes/#version-3-1-6\"\u003ehttps://werkzeug.palletsprojects.com/page/changes/#version-3-1-6\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow special devices names in multi-segment paths. \u003ca href=\"https://github.com/pallets/werkzeug/security/advisories/GHSA-29vq-49wr-vm6x\"\u003eGHSA-29vq-49wr-vm6x\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.5\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.5 security fix release, which fixes security issues and 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/Werkzeug/3.1.5/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.5/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/page/changes/#version-3-1-5\"\u003ehttps://werkzeug.palletsprojects.com/page/changes/#version-3-1-5\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/werkzeug/milestone/43?closed=1\"\u003ehttps://github.com/pallets/werkzeug/milestone/43?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow more special device names, regardless of extension or surrounding spaces. \u003ca href=\"https://github.com/pallets/werkzeug/security/advisories/GHSA-87hc-h4r5-73f7\"\u003eGHSA-87hc-h4r5-73f7\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe multipart form parser handles a \u003ccode\u003e\\r\\n\u003c/code\u003e sequence at a chunk boundary. This fixes the previous attempt, which caused incorrect content lengths. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3065\"\u003e#3065\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3077\"\u003e#3077\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eAttributeError\u003c/code\u003e when initializing \u003ccode\u003eDebuggedApplication\u003c/code\u003e with \u003ccode\u003epin_security=False\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3075\"\u003e#3075\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.4\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.4 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/Werkzeug/3.1.4/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.4/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/page/changes/#version-3-1-4\"\u003ehttps://werkzeug.palletsprojects.com/page/changes/#version-3-1-4\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/werkzeug/milestone/42?closed=1\"\u003ehttps://github.com/pallets/werkzeug/milestone/42?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow special device names. This prevents reading from these when using \u003ccode\u003esend_from_directory\u003c/code\u003e. \u003ccode\u003esecure_filename\u003c/code\u003e already prevented writing to these. \u003ca href=\"https://github.com/pallets/werkzeug/security/advisories/GHSA-hgf8-39gv-g3f2\"\u003eghsa-hgf8-39gv-g3f2\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe debugger pin fails after 10 attempts instead of 11. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3020\"\u003e#3020\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe multipart form parser handles a \u003ccode\u003e\\r\\n\u003c/code\u003e sequence at a chunk boundary. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3065\"\u003e#3065\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove CPU usage during Watchdog reloader. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3054\"\u003e#3054\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.json\u003c/code\u003e annotation is more accurate. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3067\"\u003e#3067\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTraceback rendering handles when the line number is beyond the available source lines. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3044\"\u003e#3044\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eHTTPException.get_response\u003c/code\u003e annotation and doc better conveys the distinction between WSGI and sans-IO responses. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3056\"\u003e#3056\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.3\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.3 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes vs 3.1.0.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Werkzeug/3.1.3/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.3/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/en/stable/changes/#version-3-1-3\"\u003ehttps://werkzeug.palletsprojects.com/en/stable/changes/#version-3-1-3\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/werkzeug/milestone/41?closed=1\"\u003ehttps://github.com/pallets/werkzeug/milestone/41?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eInitial data passed to \u003ccode\u003eMultiDict\u003c/code\u003e and similar interfaces only accepts \u003ccode\u003elist\u003c/code\u003e, \u003ccode\u003etuple\u003c/code\u003e, or \u003ccode\u003eset\u003c/code\u003e when passing multiple values. It had been changed to accept any \u003ccode\u003eCollection\u003c/code\u003e, but this matched types that should be treated as single values, such as \u003ccode\u003ebytes\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/2994\"\u003e#2994\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen the \u003ccode\u003eHost\u003c/code\u003e header is not set and \u003ccode\u003eRequest.host\u003c/code\u003e falls back to the WSGI \u003ccode\u003eSERVER_NAME\u003c/code\u003e value, if that value is an IPv6 address it is wrapped in \u003ccode\u003e[]\u003c/code\u003e to match the \u003ccode\u003eHost\u003c/code\u003e header. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/2993\"\u003e#2993\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.2\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.2 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes vs 3.1.0.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Werkzeug/3.1.2/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/en/stable/changes/#version-3-1-2\"\u003ehttps://werkzeug.palletsprojects.com/en/stable/changes/#version-3-1-2\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/werkzeug/blob/main/CHANGES.rst\"\u003ewerkzeug's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.1.6\u003c/h2\u003e\n\u003cp\u003eReleased 2026-02-19\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow special devices names in\nmulti-segment paths. :ghsa:\u003ccode\u003e29vq-49wr-vm6x\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eResponse.make_conditional\u003c/code\u003e sets the \u003ccode\u003eAccept-Ranges\u003c/code\u003e header even if it\nis not a satisfiable range request. :issue:\u003ccode\u003e3108\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.5\u003c/h2\u003e\n\u003cp\u003eReleased 2026-01-08\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow more special device names, regardless\nof extension or surrounding spaces. :ghsa:\u003ccode\u003e87hc-h4r5-73f7\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe multipart form parser handles a \u003ccode\u003e\\r\\n\u003c/code\u003e sequence at a chunk boundary.\nThis fixes the previous attempt, which caused incorrect content lengths.\n:issue:\u003ccode\u003e3065\u003c/code\u003e :issue:\u003ccode\u003e3077\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eAttributeError\u003c/code\u003e when initializing \u003ccode\u003eDebuggedApplication\u003c/code\u003e with\n\u003ccode\u003epin_security=False\u003c/code\u003e. :issue:\u003ccode\u003e3075\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.4\u003c/h2\u003e\n\u003cp\u003eReleased 2025-11-28\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow special device names. This prevents\nreading from these when using \u003ccode\u003esend_from_directory\u003c/code\u003e. \u003ccode\u003esecure_filename\u003c/code\u003e\nalready prevented writing to these. :ghsa:\u003ccode\u003ehgf8-39gv-g3f2\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe debugger pin fails after 10 attempts instead of 11. :pr:\u003ccode\u003e3020\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe multipart form parser handles a \u003ccode\u003e\\r\\n\u003c/code\u003e sequence at a chunk boundary.\n:issue:\u003ccode\u003e3065\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eImprove CPU usage during Watchdog reloader. :issue:\u003ccode\u003e3054\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.json\u003c/code\u003e annotation is more accurate. :issue:\u003ccode\u003e3067\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eTraceback rendering handles when the line number is beyond the available\nsource lines. :issue:\u003ccode\u003e3044\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eHTTPException.get_response\u003c/code\u003e annotation and doc better conveys the\ndistinction between WSGI and sans-IO responses. :issue:\u003ccode\u003e3056\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.3\u003c/h2\u003e\n\u003cp\u003eReleased 2024-11-08\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eInitial data passed to \u003ccode\u003eMultiDict\u003c/code\u003e and similar interfaces only accepts\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/werkzeug/commit/04da1b5221b7a7b57e82246e4b5741d37a6b2e56\"\u003e\u003ccode\u003e04da1b5\u003c/code\u003e\u003c/a\u003e release version 3.1.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/f407712fdc60a09c2b3f4fe7db557703e5d9338d\"\u003e\u003ccode\u003ef407712\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/f54fe98026253e70fbbcd35a6b52fb67cfff1c03\"\u003e\u003ccode\u003ef54fe98\u003c/code\u003e\u003c/a\u003e safe_join prevents Windows special device names in multi-segment paths\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/d005985ef69ffe3275eda8fb6fb25e074dbe871b\"\u003e\u003ccode\u003ed005985\u003c/code\u003e\u003c/a\u003e start version 3.1.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/8565c2cbd6681ae8463e77d4fc0795324a7fdae7\"\u003e\u003ccode\u003e8565c2c\u003c/code\u003e\u003c/a\u003e document rule priority (\u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3102\"\u003e#3102\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/3febc7e90072bffe04c27e6b7478dfc4f88930df\"\u003e\u003ccode\u003e3febc7e\u003c/code\u003e\u003c/a\u003e document rule priority\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/2525b827646c10ab7adb334664e6a4af1b769181\"\u003e\u003ccode\u003e2525b82\u003c/code\u003e\u003c/a\u003e remove state mac...\n\n_Description has been truncated_","html_url":"https://github.com/Reality2byte/python-docs-samples/pull/139","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Reality2byte%2Fpython-docs-samples/issues/139","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/139/packages"}},{"old_version":"2.10.5","new_version":"3.2.0b1","update_type":"major","path":"/backend/fact-check","pr_created_at":"2026-03-14T07:15:42.000Z","version_change":"2.10.5 → 3.2.0b1","issue":{"uuid":"4074968954","node_id":"PR_kwDOQm0A4M7Kj7Xj","number":124,"state":"closed","title":"Bump apache-airflow from 2.10.5 to 3.2.0b1 in /backend/fact-check","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-14T12:19:36.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-14T07:15:42.000Z","updated_at":"2026-03-14T12:19:45.000Z","time_to_close":18234,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"apache-airflow","old_version":"2.10.5","new_version":"3.2.0b1","repository_url":"https://github.com/apache/airflow"}],"path":"/backend/fact-check","ecosystem":"pip"},"body":"Bumps [apache-airflow](https://github.com/apache/airflow) from 2.10.5 to 3.2.0b1.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/airflow/releases\"\u003eapache-airflow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eApache Airflow 3.1.8\u003c/h2\u003e\n\u003cp\u003e:package: PyPI: \u003ca href=\"https://pypi.org/project/apache-airflow/3.1.8/\"\u003ehttps://pypi.org/project/apache-airflow/3.1.8/\u003c/a\u003e\n:books: Docs: \u003ca href=\"https://airflow.apache.org/docs/apache-airflow/3.1.8/\"\u003ehttps://airflow.apache.org/docs/apache-airflow/3.1.8/\u003c/a\u003e\n:hammer_and_wrench: Release Notes: \u003ca href=\"https://airflow.apache.org/docs/apache-airflow/3.1.8/release_notes.html\"\u003ehttps://airflow.apache.org/docs/apache-airflow/3.1.8/release_notes.html\u003c/a\u003e\n:whale: Docker Image: \u0026quot;docker pull apache/airflow:3.1.8\u0026quot;\n:busstop: Constraints: \u003ca href=\"https://github.com/apache/airflow/tree/constraints-3.1.8\"\u003ehttps://github.com/apache/airflow/tree/constraints-3.1.8\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eSignificant Changes\u003c/h2\u003e\n\u003ch3\u003eBackfill permissions are now handled via \u003ccode\u003eDagAccessEntity.Run\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61456\"\u003e#61456\u003c/a\u003e)\u003c/h3\u003e\n\u003cp\u003e\u003ccode\u003eis_authorized_backfill\u003c/code\u003e of the \u003ccode\u003eBaseAuthManager\u003c/code\u003e interface has been removed. Core will no longer call this method and their\nprovider counterpart implementation will be marked as deprecated.\nPermissions for backfill operations are now checked against the \u003ccode\u003eDagAccessEntity.Run\u003c/code\u003e permission using the existing\n\u003ccode\u003erequires_access_dag\u003c/code\u003e decorator. In other words, if a user has permission to run a DAG, they can perform backfill operations on it.\u003c/p\u003e\n\u003cp\u003ePlease update your security policies to ensure that users who need to perform backfill operations have the appropriate \u003ccode\u003eDagAccessEntity.Run\u003c/code\u003e permissions. (Users\nhaving the Backfill permissions without having the DagRun ones will no longer be able to perform backfill operations without any update)\u003c/p\u003e\n\u003ch3\u003eElasticsearch is now fully compatible with remote logging along (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62940\"\u003e#62940\u003c/a\u003e)\u003c/h3\u003e\n\u003cp\u003eElasticsearch is now fully compatible with remote logging along side with \u003ccode\u003eapache-airflow-providers-elasticsearch\u0026gt;=6.5.0\u003c/code\u003e. Please review elasticsearch provider release notes for more information \u003ca href=\"https://airflow.apache.org/docs/apache-airflow-providers-elasticsearch/6.5.0/changelog.html\"\u003ehttps://airflow.apache.org/docs/apache-airflow-providers-elasticsearch/6.5.0/changelog.html\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62121\"\u003e#62121\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62940\"\u003e#62940\u003c/a\u003e)\u003c/p\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix SQLite migration disable \u003ccode\u003edisable_sqlite_fkeys\u003c/code\u003e in revision \u003ccode\u003e509b94a1042d\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/63256\"\u003e#63256\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/63272\"\u003e#63272\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: 404 queued asset events from API server logs (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62934\"\u003e#62934\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62976\"\u003e#62976\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Always include kid in JWT header for symmetric key tokens (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62883\"\u003e#62883\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62943\"\u003e#62943\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Scope session token in cookie to base_url  (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62771\"\u003e#62771\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62851\"\u003e#62851\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: UI of Scope session token in cookie to base_url (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62771\"\u003e#62771\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62859\"\u003e#62859\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: UI tasks log missing in UP_FOR_RETRY and UP_FOR_RESCHEDULE states (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54547\"\u003e#54547\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62862\"\u003e#62862\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Backfill permissions (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62856\"\u003e#62856\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62873\"\u003e#62873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Use \u003ccode\u003euseAssetServiceGetDagAssetQueuedEvents\u003c/code\u003e to get the correct number of ADRQs (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62868\"\u003e#62868\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62902\"\u003e#62902\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Adds task instance validation for HITL (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62886\"\u003e#62886\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62909\"\u003e#62909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Restore task_instance_history sequence on downgrade (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62759\"\u003e#62759\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix broken \u003ccode\u003edag_processing.total_parse_time\u003c/code\u003e metric (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62128\"\u003e#62128\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62764\"\u003e#62764\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Trigger UI form rendering for null enum values (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62060\"\u003e#62060\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62767\"\u003e#62767\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003etimer.duration\u003c/code\u003e unit labels in logs (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61824\"\u003e#61824\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62757\"\u003e#62757\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix XCom migration failing for NaN/Infinity float values (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62686\"\u003e#62686\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62760\"\u003e#62760\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix SQL not rendered in Rendered Templates view (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60739\"\u003e#60739\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62348\"\u003e#62348\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix missing DAG read permission checks on dependencies endpoint (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62046\"\u003e#62046\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62586\"\u003e#62586\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003edag_bundle.signed_url_template\u003c/code\u003e from \u003ccode\u003evarchar(200)\u003c/code\u003e to \u003ccode\u003etext\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61041\"\u003e#61041\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62568\"\u003e#62568\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix WASB remote logging base path handling (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/58946\"\u003e#58946\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61013\"\u003e#61013\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62456\"\u003e#62456\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle non-dictionary json payload during logging to avoid internal server error. (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62355\"\u003e#62355\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62367\"\u003e#62367\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix grid view crash when task converted to TaskGroup (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61208\"\u003e#61208\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61279\"\u003e#61279\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62181\"\u003e#62181\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix running task duration showing as null in UI (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61898\"\u003e#61898\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62136\"\u003e#62136\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix deferrable sensors not respecting soft_fail on timeout (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61132\"\u003e#61132\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61421\"\u003e#61421\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix task failure details being obscured by finalization errors (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62070\"\u003e#62070\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62113\"\u003e#62113\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd missing ti.start and ti.finish metrics in Airflow 3 (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62019\"\u003e#62019\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62110\"\u003e#62110\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix DepContext mutation leak and restore reschedule-mode guard (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62089\"\u003e#62089\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix scheduler heartbeat misses caused by slow reschedule dependency check (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61983\"\u003e#61983\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62068\"\u003e#62068\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFlush in-memory OTEL metrics at process shutdown (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61808\"\u003e#61808\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61869\"\u003e#61869\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/apache/airflow/commit/7989f25ab78b7561102926b4867966271ef7e42a\"\u003e\u003ccode\u003e7989f25\u003c/code\u003e\u003c/a\u003e update release notes for 3.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/346f3329ec556755a14c0acf1d57cd172d4b3b6b\"\u003e\u003ccode\u003e346f332\u003c/code\u003e\u003c/a\u003e Add 3.2.0 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/6661a58f60e0f9f9b1fff1132b2bd257b146fede\"\u003e\u003ccode\u003e6661a58\u003c/code\u003e\u003c/a\u003e Update version to 3.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/0a82c312ed98ec38c23301a856154212dbbda8ef\"\u003e\u003ccode\u003e0a82c31\u003c/code\u003e\u003c/a\u003e updated versions in README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/21f5a375352e3b1e7295179ae97c7f7de5c99b7e\"\u003e\u003ccode\u003e21f5a37\u003c/code\u003e\u003c/a\u003e Pin Task-SDK for Airflow meta package\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/4c87c4cde01eae483d40f87ee9daa037426d00a7\"\u003e\u003ccode\u003e4c87c4c\u003c/code\u003e\u003c/a\u003e Update default branches for 3-2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/d42623e2b461fa362f2a5f7e6f2ca9a028d9e4b9\"\u003e\u003ccode\u003ed42623e\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eObjectStoragePath\u003c/code\u003e to exclude \u003ccode\u003econn_id\u003c/code\u003e from storage options passed to f...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/77c38f357c3ff7af50ceda862f837dab7a93f359\"\u003e\u003ccode\u003e77c38f3\u003c/code\u003e\u003c/a\u003e docs(asset-partition): add example Dag (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62491\"\u003e#62491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/05ea74a9429156400ca89ca913c5d838e568ef3a\"\u003e\u003ccode\u003e05ea74a\u003c/code\u003e\u003c/a\u003e Prepare provider's documentation 2026-03-03 (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62752\"\u003e#62752\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/1199dc5305ea1630b0e1f7681bdbc4daff28440b\"\u003e\u003ccode\u003e1199dc5\u003c/code\u003e\u003c/a\u003e Consolidate \u003ccode\u003eSkipMixin\u003c/code\u003e imports through \u003ccode\u003ecommon-compat\u003c/code\u003e layer (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62776\"\u003e#62776\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/airflow/compare/2.10.5...3.2.0b1\"\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=apache-airflow\u0026package-manager=pip\u0026previous-version=2.10.5\u0026new-version=3.2.0b1)](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)\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/Joluckyboy/FYP-Solution-Archi-TECH-Bias-News-Detection/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/Joluckyboy/FYP-Solution-Archi-TECH-Bias-News-Detection/pull/124","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Joluckyboy%2FFYP-Solution-Archi-TECH-Bias-News-Detection/issues/124","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/124/packages"}},{"old_version":"3.1.1","new_version":"3.2.0b1","update_type":"minor","path":null,"pr_created_at":"2026-03-12T20:41:45.000Z","version_change":"3.1.1 → 3.2.0b1","issue":{"uuid":"4067138692","node_id":"PR_kwDOQE0kNc7KKdsI","number":164,"state":"open","title":"chore(deps): bump the pip group across 6 directories with 3 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-12T20:41:45.000Z","updated_at":"2026-03-12T20:43:44.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"pip","update_count":3,"packages":[{"name":"python-multipart","old_version":"0.0.9","new_version":"0.0.22","repository_url":"https://github.com/Kludex/python-multipart"},{"name":"black","old_version":"24.3.0","new_version":"26.3.1","repository_url":"https://github.com/psf/black"},{"name":"black","old_version":"24.3.0","new_version":"26.3.1","repository_url":"https://github.com/psf/black"},{"name":"black","old_version":"24.3.0","new_version":"26.3.1","repository_url":"https://github.com/psf/black"},{"name":"apache-airflow","old_version":"3.1.1","new_version":"3.2.0b1","repository_url":"https://github.com/apache/airflow"},{"name":"black","old_version":"24.4.2","new_version":"26.3.1","repository_url":"https://github.com/psf/black"},{"name":"black","old_version":"24.3.0","new_version":"26.3.1","repository_url":"https://github.com/psf/black"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pip group with 1 update in the /master-ia/Modulo 4 - Infraestructura y Cloud/Clase 8 - Proyecto Final directory: [python-multipart](https://github.com/Kludex/python-multipart).\nBumps the pip group with 1 update in the /modulo-02-sql/tema-2-sql-intermedio/04-proyecto-practico directory: [black](https://github.com/psf/black).\nBumps the pip group with 1 update in the /modulo-04-apis-scraping/tema-2-web-scraping/04-proyecto-practico directory: [black](https://github.com/psf/black).\nBumps the pip group with 2 updates in the /modulo-06-airflow/tema-2-intermedio/proyecto-practico directory: [black](https://github.com/psf/black) and [apache-airflow](https://github.com/apache/airflow).\nBumps the pip group with 1 update in the /modulo-07-cloud/tema-1-aws/04-proyecto-practico directory: [black](https://github.com/psf/black).\nBumps the pip group with 1 update in the /modulo-07-cloud/tema-2-gcp/04-proyecto-practico directory: [black](https://github.com/psf/black).\n\nUpdates `python-multipart` from 0.0.9 to 0.0.22\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kludex/python-multipart/releases\"\u003epython-multipart's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0.0.22\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop directory path from filename in \u003ccode\u003eFile\u003c/code\u003e \u003ca href=\"https://github.com/Kludex/python-multipart/commit/9433f4bbc9652bdde82bbe380984e32f8cfc89c4\"\u003e9433f4b\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/python-multipart/compare/0.0.21...0.0.22\"\u003ehttps://github.com/Kludex/python-multipart/compare/0.0.21...0.0.22\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.0.21\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14 and drop EOL 3.8 and 3.9 by \u003ca href=\"https://github.com/hugovk\"\u003e\u003ccode\u003e@​hugovk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/216\"\u003eKludex/python-multipart#216\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/waketzheng\"\u003e\u003ccode\u003e@​waketzheng\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/203\"\u003eKludex/python-multipart#203\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/python-multipart/compare/0.0.20...0.0.21\"\u003ehttps://github.com/Kludex/python-multipart/compare/0.0.20...0.0.21\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.0.20\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHandle messages containing only end boundary, fixes \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/38\"\u003e#38\u003c/a\u003e by \u003ca href=\"https://github.com/jhnstrk\"\u003e\u003ccode\u003e@​jhnstrk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/142\"\u003eKludex/python-multipart#142\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/Mr-Sunglasses\"\u003e\u003ccode\u003e@​Mr-Sunglasses\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/185\"\u003eKludex/python-multipart#185\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/python-multipart/compare/0.0.19...0.0.20\"\u003ehttps://github.com/Kludex/python-multipart/compare/0.0.19...0.0.20\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.0.19\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDon't warn when CRLF is found after last boundary by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/193\"\u003eKludex/python-multipart#193\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/python-multipart/compare/0.0.18...0.0.19\"\u003ehttps://github.com/Kludex/python-multipart/compare/0.0.18...0.0.19\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.0.18\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHard break if found data after last boundary on \u003ccode\u003eMultipartParser\u003c/code\u003e by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/189\"\u003eKludex/python-multipart#189\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/python-multipart/compare/0.0.17...0.0.18\"\u003ehttps://github.com/Kludex/python-multipart/compare/0.0.17...0.0.18\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.0.17\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHandle PermissionError in fallback code for old import name by \u003ca href=\"https://github.com/defnull\"\u003e\u003ccode\u003e@​defnull\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/182\"\u003eKludex/python-multipart#182\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kludex/python-multipart/blob/master/CHANGELOG.md\"\u003epython-multipart's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.22 (2026-01-25)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop directory path from filename in \u003ccode\u003eFile\u003c/code\u003e \u003ca href=\"https://github.com/Kludex/python-multipart/commit/9433f4bbc9652bdde82bbe380984e32f8cfc89c4\"\u003e9433f4b\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.21 (2025-12-17)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14 and drop EOL 3.8 and 3.9 \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/216\"\u003e#216\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.20 (2024-12-16)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHandle messages containing only end boundary \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/142\"\u003e#142\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.19 (2024-11-30)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDon't warn when CRLF is found after last boundary on \u003ccode\u003eMultipartParser\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/193\"\u003e#193\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.18 (2024-11-28)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHard break if found data after last boundary on \u003ccode\u003eMultipartParser\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/189\"\u003e#189\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.17 (2024-10-31)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHandle PermissionError in fallback code for old import name \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/182\"\u003e#182\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.16 (2024-10-27)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd dunder attributes to \u003ccode\u003emultipart\u003c/code\u003e package \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/177\"\u003e#177\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.15 (2024-10-27)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReplace \u003ccode\u003eFutureWarning\u003c/code\u003e to \u003ccode\u003ePendingDeprecationWarning\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/174\"\u003e#174\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdd missing files to SDist \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/171\"\u003e#171\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.14 (2024-10-24)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix import scheme for \u003ccode\u003emultipart\u003c/code\u003e module (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/168\"\u003e#168\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.13 (2024-10-20)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRename import to \u003ccode\u003epython_multipart\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/166\"\u003e#166\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.12 (2024-09-29)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImprove error message when boundary character does not match \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/124\"\u003e#124\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdd mypy strict typing \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/140\"\u003e#140\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eEnforce 100% coverage \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/159\"\u003e#159\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.11 (2024-09-28)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImprove performance, especially in data with many CR-LF \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/137\"\u003e#137\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/Kludex/python-multipart/commit/bea7bbb2904da8ce39123a845088dc72464eaddf\"\u003e\u003ccode\u003ebea7bbb\u003c/code\u003e\u003c/a\u003e Version 0.0.22 (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/222\"\u003e#222\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/0fb59a9df0f273bfde99740b302ccb2ae45e2b8a\"\u003e\u003ccode\u003e0fb59a9\u003c/code\u003e\u003c/a\u003e chore: add return type on test (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/221\"\u003e#221\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/9433f4bbc9652bdde82bbe380984e32f8cfc89c4\"\u003e\u003ccode\u003e9433f4b\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/d5c91ecb0aa1cae03fe2d9811d193c952e714f17\"\u003e\u003ccode\u003ed5c91ec\u003c/code\u003e\u003c/a\u003e Bump the github-actions group with 2 updates (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/219\"\u003e#219\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/5a90631b484f8d3284b691d453c24be3db57f5cb\"\u003e\u003ccode\u003e5a90631\u003c/code\u003e\u003c/a\u003e bump uv (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/218\"\u003e#218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/1f72955602445706b5517a6f58a720796ad3d96a\"\u003e\u003ccode\u003e1f72955\u003c/code\u003e\u003c/a\u003e Version 0.0.21 (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/217\"\u003e#217\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/47ecfed3533ed8dcafd800508dbf594438fd0949\"\u003e\u003ccode\u003e47ecfed\u003c/code\u003e\u003c/a\u003e Add support for Python 3.14 and drop EOL 3.8 and 3.9 (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/216\"\u003e#216\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/f18b70941b727c947f7e6b17e1c3321f5ad3afb6\"\u003e\u003ccode\u003ef18b709\u003c/code\u003e\u003c/a\u003e Bump the github-actions group across 1 directory with 4 updates (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/214\"\u003e#214\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/b388e9a7a82605cc8613798926afe8f6074cb372\"\u003e\u003ccode\u003eb388e9a\u003c/code\u003e\u003c/a\u003e chore: use depedency-groups in \u003ccode\u003epyproject.toml\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/212\"\u003e#212\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/6113e750971918a51f79c3bb2585e95ed1c53245\"\u003e\u003ccode\u003e6113e75\u003c/code\u003e\u003c/a\u003e Bump the github-actions group across 1 directory with 3 updates (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/210\"\u003e#210\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kludex/python-multipart/compare/0.0.9...0.0.22\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `black` from 24.3.0 to 26.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/black/releases\"\u003eblack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.3.1\u003c/h2\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent Jupyter notebook magic masking collisions from corrupting cells by using\nexact-length placeholders for short magics and aborting if a placeholder can no longer\nbe unmasked safely (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eConfiguration\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAlways hash cache filename components derived from \u003ccode\u003e--python-cell-magics\u003c/code\u003e so custom\nmagic names cannot affect cache paths (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003cem\u003eBlackd\u003c/em\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDisable browser-originated requests by default, add configurable origin allowlisting\nand request body limits, and bound executor submissions to improve backpressure\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/5039\"\u003e#5039\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e26.3.0\u003c/h2\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't double-decode input, causing non-UTF-8 files to be corrupted (\u003ca href=\"https://redirect.github.com/psf/black/issues/4964\"\u003e#4964\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on standalone comment in lambda default arguments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4993\"\u003e#4993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve parentheses when \u003ccode\u003e# type: ignore\u003c/code\u003e comments would be merged with other\ncomments on the same line, preventing AST equivalence failures (\u003ca href=\"https://redirect.github.com/psf/black/issues/4888\"\u003e#4888\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix bug where \u003ccode\u003eif\u003c/code\u003e guards in \u003ccode\u003ecase\u003c/code\u003e blocks were incorrectly split when the pattern had\na trailing comma (\u003ca href=\"https://redirect.github.com/psf/black/issues/4884\"\u003e#4884\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003estring_processing\u003c/code\u003e crashing on unassigned long string literals with trailing\ncommas (one-item tuples) (\u003ca href=\"https://redirect.github.com/psf/black/issues/4929\"\u003e#4929\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplify implementation of the power operator \u0026quot;hugging\u0026quot; logic (\u003ca href=\"https://redirect.github.com/psf/black/issues/4918\"\u003e#4918\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePackaging\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix shutdown errors in PyInstaller builds on macOS by disabling multiprocessing in\nfrozen environments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4930\"\u003e#4930\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce winloop for windows as an alternative to uvloop (\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove deprecated function \u003ccode\u003euvloop.install()\u003c/code\u003e in favor of \u003ccode\u003euvloop.new_event_loop()\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRename \u003ccode\u003emaybe_install_uvloop\u003c/code\u003e function to \u003ccode\u003emaybe_use_uvloop\u003c/code\u003e to simplify loop\ninstallation and creation of either a uvloop/winloop evenloop or default eventloop\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOutput\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/black/blob/main/CHANGES.md\"\u003eblack's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.3.1\u003c/h2\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent Jupyter notebook magic masking collisions from corrupting cells by using\nexact-length placeholders for short magics and aborting if a placeholder can no longer\nbe unmasked safely (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eConfiguration\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAlways hash cache filename components derived from \u003ccode\u003e--python-cell-magics\u003c/code\u003e so custom\nmagic names cannot affect cache paths (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003cem\u003eBlackd\u003c/em\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDisable browser-originated requests by default, add configurable origin allowlisting\nand request body limits, and bound executor submissions to improve backpressure\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/5039\"\u003e#5039\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e26.3.0\u003c/h2\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't double-decode input, causing non-UTF-8 files to be corrupted (\u003ca href=\"https://redirect.github.com/psf/black/issues/4964\"\u003e#4964\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on standalone comment in lambda default arguments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4993\"\u003e#4993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve parentheses when \u003ccode\u003e# type: ignore\u003c/code\u003e comments would be merged with other\ncomments on the same line, preventing AST equivalence failures (\u003ca href=\"https://redirect.github.com/psf/black/issues/4888\"\u003e#4888\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix bug where \u003ccode\u003eif\u003c/code\u003e guards in \u003ccode\u003ecase\u003c/code\u003e blocks were incorrectly split when the pattern had\na trailing comma (\u003ca href=\"https://redirect.github.com/psf/black/issues/4884\"\u003e#4884\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003estring_processing\u003c/code\u003e crashing on unassigned long string literals with trailing\ncommas (one-item tuples) (\u003ca href=\"https://redirect.github.com/psf/black/issues/4929\"\u003e#4929\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplify implementation of the power operator \u0026quot;hugging\u0026quot; logic (\u003ca href=\"https://redirect.github.com/psf/black/issues/4918\"\u003e#4918\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePackaging\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix shutdown errors in PyInstaller builds on macOS by disabling multiprocessing in\nfrozen environments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4930\"\u003e#4930\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce winloop for windows as an alternative to uvloop (\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove deprecated function \u003ccode\u003euvloop.install()\u003c/code\u003e in favor of \u003ccode\u003euvloop.new_event_loop()\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRename \u003ccode\u003emaybe_install_uvloop\u003c/code\u003e function to \u003ccode\u003emaybe_use_uvloop\u003c/code\u003e to simplify loop\ninstallation and creation of either a uvloop/winloop evenloop or default eventloop\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/c6755bb741b6481d6b3d3bb563c83fa060db96c9\"\u003e\u003ccode\u003ec6755bb\u003c/code\u003e\u003c/a\u003e Prepare release 26.3.1 (\u003ca href=\"https://redirect.github.com/psf/black/issues/5046\"\u003e#5046\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/69973fd6950985fbeb1090d96da717dc4d8380b0\"\u003e\u003ccode\u003e69973fd\u003c/code\u003e\u003c/a\u003e Harden blackd browser-facing request handling (\u003ca href=\"https://redirect.github.com/psf/black/issues/5039\"\u003e#5039\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/4937fe6cf241139ddbfc16b0bdbb5b422798909d\"\u003e\u003ccode\u003e4937fe6\u003c/code\u003e\u003c/a\u003e Fix some shenanigans with the cache file and IPython (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/2e641d174469c505d5ae905e75d4c769597e681f\"\u003e\u003ccode\u003e2e641d1\u003c/code\u003e\u003c/a\u003e docs: remove outdated Black Playground references (\u003ca href=\"https://redirect.github.com/psf/black/issues/5044\"\u003e#5044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/c014b22a2d5e0632587b47b81151658bddfa0b88\"\u003e\u003ccode\u003ec014b22\u003c/code\u003e\u003c/a\u003e Remove unused internal code (\u003ca href=\"https://redirect.github.com/psf/black/issues/5041\"\u003e#5041\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/0dae20b2d009f2f03de8696d06b0c947d3abafc9\"\u003e\u003ccode\u003e0dae20b\u003c/code\u003e\u003c/a\u003e Add new changelog (\u003ca href=\"https://redirect.github.com/psf/black/issues/5036\"\u003e#5036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/c5c1cbddd92cecb554ac2a77a24139dd76831030\"\u003e\u003ccode\u003ec5c1cbd\u003c/code\u003e\u003c/a\u003e Minor release patches (\u003ca href=\"https://redirect.github.com/psf/black/issues/5035\"\u003e#5035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/7e5a828c37d71b6a6666e28eed444816def6a8f4\"\u003e\u003ccode\u003e7e5a828\u003c/code\u003e\u003c/a\u003e docs: clarify relationship between Black style and PEP 8 (\u003ca href=\"https://redirect.github.com/psf/black/issues/5025\"\u003e#5025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/69705deb8776e7c5e585668da106d1abe2cb8d77\"\u003e\u003ccode\u003e69705de\u003c/code\u003e\u003c/a\u003e docs: add clearer pyproject configuration guidance (\u003ca href=\"https://redirect.github.com/psf/black/issues/5026\"\u003e#5026\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/35ea67920b7f6ac8e09be1c47278752b1e827f76\"\u003e\u003ccode\u003e35ea679\u003c/code\u003e\u003c/a\u003e Prepare release 26.3.0 (\u003ca href=\"https://redirect.github.com/psf/black/issues/5032\"\u003e#5032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/black/compare/24.3.0...26.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `black` from 24.3.0 to 26.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/black/releases\"\u003eblack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.3.1\u003c/h2\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent Jupyter notebook magic masking collisions from corrupting cells by using\nexact-length placeholders for short magics and aborting if a placeholder can no longer\nbe unmasked safely (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eConfiguration\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAlways hash cache filename components derived from \u003ccode\u003e--python-cell-magics\u003c/code\u003e so custom\nmagic names cannot affect cache paths (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003cem\u003eBlackd\u003c/em\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDisable browser-originated requests by default, add configurable origin allowlisting\nand request body limits, and bound executor submissions to improve backpressure\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/5039\"\u003e#5039\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e26.3.0\u003c/h2\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't double-decode input, causing non-UTF-8 files to be corrupted (\u003ca href=\"https://redirect.github.com/psf/black/issues/4964\"\u003e#4964\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on standalone comment in lambda default arguments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4993\"\u003e#4993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve parentheses when \u003ccode\u003e# type: ignore\u003c/code\u003e comments would be merged with other\ncomments on the same line, preventing AST equivalence failures (\u003ca href=\"https://redirect.github.com/psf/black/issues/4888\"\u003e#4888\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix bug where \u003ccode\u003eif\u003c/code\u003e guards in \u003ccode\u003ecase\u003c/code\u003e blocks were incorrectly split when the pattern had\na trailing comma (\u003ca href=\"https://redirect.github.com/psf/black/issues/4884\"\u003e#4884\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003estring_processing\u003c/code\u003e crashing on unassigned long string literals with trailing\ncommas (one-item tuples) (\u003ca href=\"https://redirect.github.com/psf/black/issues/4929\"\u003e#4929\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplify implementation of the power operator \u0026quot;hugging\u0026quot; logic (\u003ca href=\"https://redirect.github.com/psf/black/issues/4918\"\u003e#4918\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePackaging\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix shutdown errors in PyInstaller builds on macOS by disabling multiprocessing in\nfrozen environments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4930\"\u003e#4930\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce winloop for windows as an alternative to uvloop (\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove deprecated function \u003ccode\u003euvloop.install()\u003c/code\u003e in favor of \u003ccode\u003euvloop.new_event_loop()\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRename \u003ccode\u003emaybe_install_uvloop\u003c/code\u003e function to \u003ccode\u003emaybe_use_uvloop\u003c/code\u003e to simplify loop\ninstallation and creation of either a uvloop/winloop evenloop or default eventloop\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOutput\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/black/blob/main/CHANGES.md\"\u003eblack's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.3.1\u003c/h2\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent Jupyter notebook magic masking collisions from corrupting cells by using\nexact-length placeholders for short magics and aborting if a placeholder can no longer\nbe unmasked safely (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eConfiguration\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAlways hash cache filename components derived from \u003ccode\u003e--python-cell-magics\u003c/code\u003e so custom\nmagic names cannot affect cache paths (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003cem\u003eBlackd\u003c/em\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDisable browser-originated requests by default, add configurable origin allowlisting\nand request body limits, and bound executor submissions to improve backpressure\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/5039\"\u003e#5039\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e26.3.0\u003c/h2\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't double-decode input, causing non-UTF-8 files to be corrupted (\u003ca href=\"https://redirect.github.com/psf/black/issues/4964\"\u003e#4964\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on standalone comment in lambda default arguments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4993\"\u003e#4993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve parentheses when \u003ccode\u003e# type: ignore\u003c/code\u003e comments would be merged with other\ncomments on the same line, preventing AST equivalence failures (\u003ca href=\"https://redirect.github.com/psf/black/issues/4888\"\u003e#4888\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix bug where \u003ccode\u003eif\u003c/code\u003e guards in \u003ccode\u003ecase\u003c/code\u003e blocks were incorrectly split when the pattern had\na trailing comma (\u003ca href=\"https://redirect.github.com/psf/black/issues/4884\"\u003e#4884\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003estring_processing\u003c/code\u003e crashing on unassigned long string literals with trailing\ncommas (one-item tuples) (\u003ca href=\"https://redirect.github.com/psf/black/issues/4929\"\u003e#4929\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplify implementation of the power operator \u0026quot;hugging\u0026quot; logic (\u003ca href=\"https://redirect.github.com/psf/black/issues/4918\"\u003e#4918\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePackaging\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix shutdown errors in PyInstaller builds on macOS by disabling multiprocessing in\nfrozen environments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4930\"\u003e#4930\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce winloop for windows as an alternative to uvloop (\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove deprecated function \u003ccode\u003euvloop.install()\u003c/code\u003e in favor of \u003ccode\u003euvloop.new_event_loop()\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRename \u003ccode\u003emaybe_install_uvloop\u003c/code\u003e function to \u003ccode\u003emaybe_use_uvloop\u003c/code\u003e to simplify loop\ninstallation and creation of either a uvloop/winloop evenloop or default eventloop\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/c6755bb741b6481d6b3d3bb563c83fa060db96c9\"\u003e\u003ccode\u003ec6755bb\u003c/code\u003e\u003c/a\u003e Prepare release 26.3.1 (\u003ca href=\"https://redirect.github.com/psf/black/issues/5046\"\u003e#5046\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/69973fd6950985fbeb1090d96da717dc4d8380b0\"\u003e\u003ccode\u003e69973fd\u003c/code\u003e\u003c/a\u003e Harden blackd browser-facing request handling (\u003ca href=\"https://redirect.github.com/psf/black/issues/5039\"\u003e#5039\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/4937fe6cf241139ddbfc16b0bdbb5b422798909d\"\u003e\u003ccode\u003e4937fe6\u003c/code\u003e\u003c/a\u003e Fix some shenanigans with the cache file and IPython (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/2e641d174469c505d5ae905e75d4c769597e681f\"\u003e\u003ccode\u003e2e641d1\u003c/code\u003e\u003c/a\u003e docs: remove outdated Black Playground references (\u003ca href=\"https://redirect.github.com/psf/black/issues/5044\"\u003e#5044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/c014b22a2d5e0632587b47b81151658bddfa0b88\"\u003e\u003ccode\u003ec014b22\u003c/code\u003e\u003c/a\u003e Remove unused internal code (\u003ca href=\"https://redirect.github.com/psf/black/issues/5041\"\u003e#5041\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/0dae20b2d009f2f03de8696d06b0c947d3abafc9\"\u003e\u003ccode\u003e0dae20b\u003c/code\u003e\u003c/a\u003e Add new changelog (\u003ca href=\"https://redirect.github.com/psf/black/issues/5036\"\u003e#5036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/c5c1cbddd92cecb554ac2a77a24139dd76831030\"\u003e\u003ccode\u003ec5c1cbd\u003c/code\u003e\u003c/a\u003e Minor release patches (\u003ca href=\"https://redirect.github.com/psf/black/issues/5035\"\u003e#5035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/7e5a828c37d71b6a6666e28eed444816def6a8f4\"\u003e\u003ccode\u003e7e5a828\u003c/code\u003e\u003c/a\u003e docs: clarify relationship between Black style and PEP 8 (\u003ca href=\"https://redirect.github.com/psf/black/issues/5025\"\u003e#5025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/69705deb8776e7c5e585668da106d1abe2cb8d77\"\u003e\u003ccode\u003e69705de\u003c/code\u003e\u003c/a\u003e docs: add clearer pyproject configuration guidance (\u003ca href=\"https://redirect.github.com/psf/black/issues/5026\"\u003e#5026\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/35ea67920b7f6ac8e09be1c47278752b1e827f76\"\u003e\u003ccode\u003e35ea679\u003c/code\u003e\u003c/a\u003e Prepare release 26.3.0 (\u003ca href=\"https://redirect.github.com/psf/black/issues/5032\"\u003e#5032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/black/compare/24.3.0...26.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `black` from 24.3.0 to 26.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/black/releases\"\u003eblack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.3.1\u003c/h2\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent Jupyter notebook magic masking collisions from corrupting cells by using\nexact-length placeholders for short magics and aborting if a placeholder can no longer\nbe unmasked safely (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eConfiguration\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAlways hash cache filename components derived from \u003ccode\u003e--python-cell-magics\u003c/code\u003e so custom\nmagic names cannot affect cache paths (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003cem\u003eBlackd\u003c/em\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDisable browser-originated requests by default, add configurable origin allowlisting\nand request body limits, and bound executor submissions to improve backpressure\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/5039\"\u003e#5039\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e26.3.0\u003c/h2\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't double-decode input, causing non-UTF-8 files to be corrupted (\u003ca href=\"https://redirect.github.com/psf/black/issues/4964\"\u003e#4964\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on standalone comment in lambda default arguments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4993\"\u003e#4993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve parentheses when \u003ccode\u003e# type: ignore\u003c/code\u003e comments would be merged with other\ncomments on the same line, preventing AST equivalence failures (\u003ca href=\"https://redirect.github.com/psf/black/issues/4888\"\u003e#4888\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix bug where \u003ccode\u003eif\u003c/code\u003e guards in \u003ccode\u003ecase\u003c/code\u003e blocks were incorrectly split when the pattern had\na trailing comma (\u003ca href=\"https://redirect.github.com/psf/black/issues/4884\"\u003e#4884\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003estring_processing\u003c/code\u003e crashing on unassigned long string literals with trailing\ncommas (one-item tuples) (\u003ca href=\"https://redirect.github.com/psf/black/issues/4929\"\u003e#4929\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplify implementation of the power operator \u0026quot;hugging\u0026quot; logic (\u003ca href=\"https://redirect.github.com/psf/black/issues/4918\"\u003e#4918\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePackaging\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix shutdown errors in PyInstaller builds on macOS by disabling multiprocessing in\nfrozen environments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4930\"\u003e#4930\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce winloop for windows as an alternative to uvloop (\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove deprecated function \u003ccode\u003euvloop.install()\u003c/code\u003e in favor of \u003ccode\u003euvloop.new_event_loop()\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRename \u003ccode\u003emaybe_install_uvloop\u003c/code\u003e function to \u003ccode\u003emaybe_use_uvloop\u003c/code\u003e to simplify loop\ninstallation and creation of either a uvloop/winloop evenloop or default eventloop\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOutput\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/black/blob/main/CHANGES.md\"\u003eblack's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.3.1\u003c/h2\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent Jupyter notebook magic masking collisions from corrupting cells by using\nexact-length placeholders for short magics and aborting if a placeholder can no longer\nbe unmasked safely (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eConfiguration\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAlways hash cache filename components derived from \u003ccode\u003e--python-cell-magics\u003c/code\u003e so custom\nmagic names cannot affect cache paths (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003cem\u003eBlackd\u003c/em\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDisable browser-originated requests by default, add configurable origin allowlisting\nand request body limits, and bound executor submissions to improve backpressure\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/5039\"\u003e#5039\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e26.3.0\u003c/h2\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't double-decode input, causing non-UTF-8 files to be corrupted (\u003ca href=\"https://redirect.github.com/psf/black/issues/4964\"\u003e#4964\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on standalone comment in lambda default arguments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4993\"\u003e#4993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve parentheses when \u003ccode\u003e# type: ignore\u003c/code\u003e comments would be merged with other\ncomments on the same line, preventing AST equivalence failures (\u003ca href=\"https://redirect.github.com/psf/black/issues/4888\"\u003e#4888\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix bug where \u003ccode\u003eif\u003c/code\u003e guards in \u003ccode\u003ecase\u003c/code\u003e blocks were incorrectly split when the pattern had\na trailing comma (\u003ca href=\"https://redirect.github.com/psf/black/issues/4884\"\u003e#4884\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003estring_processing\u003c/code\u003e crashing on unassigned long string literals with trailing\ncommas (one-item tuples) (\u003ca href=\"https://redirect.github.com/psf/black/issues/4929\"\u003e#4929\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplify implementation of the power operator \u0026quot;hugging\u0026quot; logic (\u003ca href=\"https://redirect.github.com/psf/black/issues/4918\"\u003e#4918\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePackaging\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix shutdown errors in PyInstaller builds on macOS by disabling multiprocessing in\nfrozen environments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4930\"\u003e#4930\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce winloop for windows as an alternative to uvloop (\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove deprecated function \u003ccode\u003euvloop.install()\u003c/code\u003e in favor of \u003ccode\u003euvloop.new_event_loop()\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRename \u003ccode\u003emaybe_install_uvloop\u003c/code\u003e function to \u003ccode\u003emaybe_use_uvloop\u003c/code\u003e to simplify loop\ninstallation and creation of either a uvloop/winloop evenloop or default eventloop\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/c6755bb741b6481d6b3d3bb563c83fa060db96c9\"\u003e\u003ccode\u003ec6755bb\u003c/code\u003e\u003c/a\u003e Prepare release 26.3.1 (\u003ca href=\"https://redirect.github.com/psf/black/issues/5046\"\u003e#5046\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/69973fd6950985fbeb1090d96da717dc4d8380b0\"\u003e\u003ccode\u003e69973fd\u003c/code\u003e\u003c/a\u003e Harden blackd browser-facing request handling (\u003ca href=\"https://redirect.github.com/psf/black/issues/5039\"\u003e#5039\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/4937fe6cf241139ddbfc16b0bdbb5b422798909d\"\u003e\u003ccode\u003e4937fe6\u003c/code\u003e\u003c/a\u003e Fix some shenanigans with the cache file and IPython (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/2e641d174469c505d5ae905e75d4c769597e681f\"\u003e\u003ccode\u003e2e641d1\u003c/code\u003e\u003c/a\u003e docs: remove outdated Black Playground references (\u003ca href=\"https://redirect.github.com/psf/black/issues/5044\"\u003e#5044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/c014b22a2d5e0632587b47b81151658bddfa0b88\"\u003e\u003ccode\u003ec014b22\u003c/code\u003e\u003c/a\u003e Remove unused internal code (\u003ca href=\"https://redirect.github.com/psf/black/issues/5041\"\u003e#5041\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/0dae20b2d009f2f03de8696d06b0c947d3abafc9\"\u003e\u003ccode\u003e0dae20b\u003c/code\u003e\u003c/a\u003e Add new changelog (\u003ca href=\"https://redirect.github.com/psf/black/issues/5036\"\u003e#5036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/c5c1cbddd92cecb554ac2a77a24139dd76831030\"\u003e\u003ccode\u003ec5c1cbd\u003c/code\u003e\u003c/a\u003e Minor release patches (\u003ca href=\"https://redirect.github.com/psf/black/issues/5035\"\u003e#5035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/7e5a828c37d71b6a6666e28eed444816def6a8f4\"\u003e\u003ccode\u003e7e5a828\u003c/code\u003e\u003c/a\u003e docs: clarify relationship between Black style and PEP 8 (\u003ca href=\"https://redirect.github.com/psf/black/issues/5025\"\u003e#5025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/69705deb8776e7c5e585668da106d1abe2cb8d77\"\u003e\u003ccode\u003e69705de\u003c/code\u003e\u003c/a\u003e docs: add clearer pyproject configuration guidance (\u003ca href=\"https://redirect.github.com/psf/black/issues/5026\"\u003e#5026\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/35ea67920b7f6ac8e09be1c47278752b1e827f76\"\u003e\u003ccode\u003e35ea679\u003c/code\u003e\u003c/a\u003e Prepare release 26.3.0 (\u003ca href=\"https://redirect.github.com/psf/black/issues/5032\"\u003e#5032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/black/compare/24.3.0...26.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `apache-airflow` from 3.1.1 to 3.2.0b1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/airflow/releases\"\u003eapache-airflow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eApache Airflow 3.1.8\u003c/h2\u003e\n\u003cp\u003e:package: PyPI: \u003ca href=\"https://pypi.org/project/apache-airflow/3.1.8/\"\u003ehttps://pypi.org/project/apache-airflow/3.1.8/\u003c/a\u003e\n:books: Docs: \u003ca href=\"https://airflow.apache.org/docs/apache-airflow/3.1.8/\"\u003ehttps://airflow.apache.org/docs/apache-airflow/3.1.8/\u003c/a\u003e\n:hammer_and_wrench: Release Notes: \u003ca href=\"https://airflow.apache.org/docs/apache-airflow/3.1.8/release_notes.html\"\u003ehttps://airflow.apache.org/docs/apache-airflow/3.1.8/release_notes.html\u003c/a\u003e\n:whale: Docker Image: \u0026quot;docker pull apache/airflow:3.1.8\u0026quot;\n:busstop: Constraints: \u003ca href=\"https://github.com/apache/airflow/tree/constraints-3.1.8\"\u003ehttps://github.com/apache/airflow/tree/constraints-3.1.8\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eSignificant Changes\u003c/h2\u003e\n\u003ch3\u003eBackfill permissions are now handled via \u003ccode\u003eDagAccessEntity.Run\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61456\"\u003e#61456\u003c/a\u003e)\u003c/h3\u003e\n\u003cp\u003e\u003ccode\u003eis_authorized_backfill\u003c/code\u003e of the \u003ccode\u003eBaseAuthManager\u003c/code\u003e interface has been removed. Core will no longer call this method and their\nprovider counterpart implementation will be marked as deprecated.\nPermissions for backfill operations are now checked against the \u003ccode\u003eDagAccessEntity.Run\u003c/code\u003e permission using the existing\n\u003ccode\u003erequires_access_dag\u003c/code\u003e decorator. In other words, if a user has permission to run a DAG, they can perform backfill operations on it.\u003c/p\u003e\n\u003cp\u003ePlease update your security policies to ensure that users who need to perform backfill operations have the appropriate \u003ccode\u003eDagAccessEntity.Run\u003c/code\u003e permissions. (Users\nhaving the Backfill permissions without having the DagRun ones will no longer be able to perform backfill operations without any update)\u003c/p\u003e\n\u003ch3\u003eElasticsearch is now fully compatible with remote logging along (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62940\"\u003e#62940\u003c/a\u003e)\u003c/h3\u003e\n\u003cp\u003eElasticsearch is now fully compatible with remote logging along side with \u003ccode\u003eapache-airflow-providers-elasticsearch\u0026gt;=6.5.0\u003c/code\u003e. Please review elasticsearch provider release notes for more information \u003ca href=\"https://airflow.apache.org/docs/apache-airflow-providers-elasticsearch/6.5.0/changelog.html\"\u003ehttps://airflow.apache.org/docs/apache-airflow-providers-elasticsearch/6.5.0/changelog.html\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62121\"\u003e#62121\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62940\"\u003e#62940\u003c/a\u003e)\u003c/p\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix SQLite migration disable \u003ccode\u003edisable_sqlite_fkeys\u003c/code\u003e in revision \u003ccode\u003e509b94a1042d\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/63256\"\u003e#63256\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/63272\"\u003e#63272\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: 404 queued asset events from API server logs (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62934\"\u003e#62934\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62976\"\u003e#62976\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Always include kid in JWT header for symmetric key tokens (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62883\"\u003e#62883\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62943\"\u003e#62943\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Scope session token in cookie to base_url  (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62771\"\u003e#62771\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62851\"\u003e#62851\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: UI of Scope session token in cookie to base_url (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62771\"\u003e#62771\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62859\"\u003e#62859\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: UI tasks log missing in UP_FOR_RETRY and UP_FOR_RESCHEDULE states (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54547\"\u003e#54547\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62862\"\u003e#62862\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Backfill permissions (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62856\"\u003e#62856\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62873\"\u003e#62873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Use \u003ccode\u003euseAssetServiceGetDagAssetQueuedEvents\u003c/code\u003e to get the correct number of ADRQs (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62868\"\u003e#62868\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62902\"\u003e#62902\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Adds task instance validation for HITL (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62886\"\u003e#62886\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62909\"\u003e#62909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Restore task_instance_history sequence on downgrade (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62759\"\u003e#62759\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix broken \u003ccode\u003edag_processing.total_parse_time\u003c/code\u003e metric (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62128\"\u003e#62128\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62764\"\u003e#62764\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Trigger UI form rendering for null enum values (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62060\"\u003e#62060\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62767\"\u003e#62767\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003etimer.duration\u003c/code\u003e unit labels in logs (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61824\"\u003e#61824\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62757\"\u003e#62757\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix XCom migration failing for NaN/Infinity float values (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62686\"\u003e#62686\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62760\"\u003e#62760\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix SQL not rendered in Rendered Templates view (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60739\"\u003e#60739\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62348\"\u003e#62348\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix missing DAG read permission checks on dependencies endpoint (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62046\"\u003e#62046\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62586\"\u003e#62586\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003edag_bundle.signed_url_template\u003c/code\u003e from \u003ccode\u003evarchar(200)\u003c/code\u003e to \u003ccode\u003etext\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61041\"\u003e#61041\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62568\"\u003e#62568\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix WASB remote logging base path handling (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/58946\"\u003e#58946\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61013\"\u003e#61013\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62456\"\u003e#62456\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle non-dictionary json payload during logging to avoid internal server error. (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62355\"\u003e#62355\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62367\"\u003e#62367\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix grid view crash when task converted to TaskGroup (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61208\"\u003e#61208\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61279\"\u003e#61279\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62181\"\u003e#62181\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix running task duration showing as null in UI (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61898\"\u003e#61898\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62136\"\u003e#62136\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix deferrable sensors not respecting soft_fail on timeout (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61132\"\u003e#61132\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61421\"\u003e#61421\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix task failure details being obscured by finalization errors (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62070\"\u003e#62070\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62113\"\u003e#62113\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd missing ti.start and ti.finish metrics in Airflow 3 (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62019\"\u003e#62019\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62110\"\u003e#62110\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix DepContext mutation leak and restore reschedule-mode guard (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62089\"\u003e#62089\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix scheduler heartbeat misses caused by slow reschedule dependency check (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61983\"\u003e#61983\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62068\"\u003e#62068\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFlush in-memory OTEL metrics at process shutdown (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61808\"\u003e#61808\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61869\"\u003e#61869\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/apache/airflow/commit/7989f25ab78b7561102926b4867966271ef7e42a\"\u003e\u003ccode\u003e7989f25\u003c/code\u003e\u003c/a\u003e update release notes for 3.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/346f3329ec556755a14c0acf1d57cd172d4b3b6b\"\u003e\u003ccode\u003e346f332\u003c/code\u003e\u003c/a\u003e Add 3.2.0 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/6661a58f60e0f9f9b1fff1132b2bd257b146fede\"\u003e\u003ccode\u003e6661a58\u003c/code\u003e\u003c/a\u003e Update version to 3.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/0a82c312ed98ec38c23301a856154212dbbda8ef\"\u003e\u003ccode\u003e0a82c31\u003c/code\u003e\u003c/a\u003e updated versions in README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/21f5a375352e3b1e7295179ae97c7f7de5c99b7e\"\u003e\u003ccode\u003e21f5a37\u003c/code\u003e\u003c/a\u003e Pin Task-SDK for Airflow meta package\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/4c87c4cde01eae483d40f87ee9daa037426d00a7\"\u003e\u003ccode\u003e4c87c4c\u003c/code\u003e\u003c/a\u003e Update default branches for 3-2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/d42623e2b461fa362f2a5f7e6f2ca9a028d9e4b9\"\u003e\u003ccode\u003ed42623e\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eObjectStoragePath\u003c/code\u003e to exclude \u003ccode\u003econn_id\u003c/code\u003e from storage options passed to f...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/77c38f357c3ff7af50ceda862f837dab7a93f359\"\u003e\u003ccode\u003e77c38f3\u003c/code\u003e\u003c/a\u003e docs(asset-partition): add example Dag (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62491\"\u003e#62491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/05ea74a9429156400ca89ca913c5d838e568ef3a\"\u003e\u003ccode\u003e05ea74a\u003c/code\u003e\u003c/a\u003e Prepare provider's documentation 2026-03-03 (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62752\"\u003e#62752\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/1199dc5305ea1630b0e1f7681bdbc4daff28440b\"\u003e\u003ccode\u003e1199dc5\u003c/code\u003e\u003c/a\u003e Consolidate \u003ccode\u003eSkipMixin\u003c/code\u003e imports through \u003ccode\u003ecommon-compat\u003c/code\u003e layer (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62776\"\u003e#62776\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/airflow/compare/3.1.1...3.2.0b1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `black` from 24.4.2 to 26.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/black/releases\"\u003eblack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.3.1\u003c/h2\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent Jupyter notebook magic masking collisions from corrupting cells by using\nexact-length placeholders for short magics and aborting if a placeholder can no longer\nbe unmasked safely (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eConfiguration\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAlways hash cache filename components derived from \u003ccode\u003e--python-cell-magics\u003c/code\u003e so custom\nmagic names cannot affect cache paths (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003cem\u003eBlackd\u003c/em\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDisable browser-originated requests by default, add configurable origin allowlisting\nand request body limits, and bound executor submissions to improve backpressure\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/5039\"\u003e#5039\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e26.3.0\u003c/h2\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't double-decode input, causing non-UTF-8 files to be corrupted (\u003ca href=\"https://redirect.github.com/psf/black/issues/4964\"\u003e#4964\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on standalone comment in lambda default arguments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4993\"\u003e#4993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve parentheses when \u003ccode\u003e# type: ignore\u003c/code\u003e comments would be merged with other\ncomments on the same line, preventing AST equivalence failures (\u003ca href=\"https://redirect.github.com/psf/black/issues/4888\"\u003e#4888\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix bug where \u003ccode\u003eif\u003c/code\u003e guards in \u003ccode\u003ecase\u003c/code\u003e blocks were incorrectly split when the pattern had\na trailing comma (\u003ca href=\"https://redirect.github.com/psf/black/issues/4884\"\u003e#4884\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003estring_processing\u003c/code\u003e crashing on unassigned long string literals with trailing\ncommas (one-item tuples) (\u003ca href=\"https://redirect.github.com/psf/black/issues/4929\"\u003e#4929\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplify implementation of the power operator \u0026quot;hugging\u0026quot; logic (\u003ca href=\"https://redirect.github.com/psf/black/issues/4918\"\u003e#4918\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePackaging\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix shutdown errors in PyInstaller builds on macOS by disabling multiprocessing in\nfrozen environments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4930\"\u003e#4930\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce winloop for windows as an alternative to uvloop (\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove deprecated function \u003ccode\u003euvloop.install()\u003c/code\u003e in favor of \u003ccode\u003euvloop.new_event_loop()\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRename \u003ccode\u003emaybe_install_uvloop\u003c/code\u003e function to \u003ccode\u003emaybe_use_uvloop\u003c/code\u003e to simplify loop\ninstallation and creation of either a uvloop/winloop evenloop or default eventloop\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOutput\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/black/blob/main/CHANGES.md\"\u003eblack's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.3.1\u003c/h2\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent Jupyter notebook magic masking collisions from corrupting cells by using\nexact-length placeholders for short magics and aborting if a placeholder can no longer\nbe unmasked safely (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eConfiguration\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAlways hash cache filename components derived from \u003ccode\u003e--python-cell-magics\u003c/code\u003e so custom\nmagic names cannot affect cache paths (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003cem\u003eBlackd\u003c/em\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDisable browser-originated requests by default, add configurable origin allowlisting\nand request body limits, and bound executor submissions to improve backpressure\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/5039\"\u003e#5039\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e26.3.0\u003c/h2\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't double-decode input, causing non-UTF-8 files to be corrupted (\u003ca href=\"https://redirect.github.com/psf/black/issues/4964\"\u003e#4964\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on standalone comment in lambda default arguments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4993\"\u003e#4993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve parentheses when \u003ccode\u003e# type: ignore\u003c/code\u003e comments would be merged with other\ncomments on the same line, preventing AST equivalence failures (\u003ca href=\"https://redirect.github.com/psf/black/issues/4888\"\u003e#4888\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix bug where \u003ccode\u003eif\u003c/code\u003e guards in \u003ccode\u003ecase\u003c/code\u003e blocks were incorrectly split when the pattern had\na trailing comma (\u003ca href=\"https://redirect.github.com/psf/black/issues/4884\"\u003e#4884\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003estring_processing\u003c/code\u003e crashing on unassigned long string literals with trailing\ncommas (one-item tuples) (\u003ca href=\"https://redirect.github.com/psf/black/issues/4929\"\u003e#4929\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplify implementation of the power operator \u0026quot;hugging\u0026quot; logic (\u003ca href=\"https://redirect.github.com/psf/black/issues/4918\"\u003e#4918\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePackaging\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix shutdown errors in PyInstaller builds on macOS by disabling multiprocessing in\nfrozen environments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4930\"\u003e#4930\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce winloop for windows as an alternative to uvloop (\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove deprecated function \u003ccode\u003euvloop.install()\u003c/code\u003e in favor of \u003ccode\u003euvloop.new_event_loop()\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRename \u003ccode\u003emaybe_install_uvloop\u003c/code\u003e function to \u003ccode\u003emaybe_use_uvloop\u003c/code\u003e to simplify loop\ninstallation and creation of either a uvloop/winloop evenloop or default eventloop\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/c6755bb741b6481d6b3d3bb563c83fa060db96c9\"\u003e\u003ccode\u003ec6755bb\u003c/code\u003e\u003c/a\u003e Prepare release 26.3.1 (\u003ca href=\"https://redirect.github.com/psf/black/issues/5046\"\u003e#5046\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/69973fd6950985fbeb1090d96da717dc4d8380b0\"\u003e\u003ccode\u003e69973fd\u003c/code\u003e\u003c/a\u003e Harden blackd browser-facing request handling (\u003ca href=\"https://redirect.github.com/psf/black/issues/5039\"\u003e#5039\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/4937fe6cf241139ddbfc16b0bdbb5b422798909d\"\u003e\u003ccode\u003e4937fe6\u003c/code\u003e\u003c/a\u003e Fix some shenanigans with the cache file and IPython (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/2e641d174469c505d5ae905e75d4c769597e681f\"\u003e\u003ccode\u003e2e641d1\u003c/code\u003e\u003c/a\u003e docs: remove outdated Black Playground references (\u003ca href=\"https://redirect.github.com/psf/black/issues/5044\"\u003e#5044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/c014b22a2d5e0632587b47b81151658bddfa0b88\"\u003e\u003ccode\u003ec014b22\u003c/code\u003e\u003c/a\u003e Remove unused internal code (\u003ca href=\"https://redirect.github.com/psf/black/issues/5041\"\u003e#5041\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/0dae20b2d009f2f03de8696d06b0c947d3abafc9\"\u003e\u003ccode\u003e0dae20b\u003c/code\u003e\u003c/a\u003e Add new changelog (\u003ca href=\"https://redirect.github.com/psf/black/issues/5036\"\u003e#5036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/c5c1cbddd92cecb554ac2a77a24139dd76831030\"\u003e\u003ccode\u003ec5c1cbd\u003c/code\u003e\u003c/a\u003e Minor release patches (\u003ca href=\"https://redirect.github.com/psf/black/issues/5035\"\u003e#5035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/7e5a828c37d71b6a6666e28eed444816def6a8f4\"\u003e\u003ccode\u003e7e5a828\u003c/code\u003e\u003c/a\u003e docs: clarify relationship between Black style and PEP 8 (\u003ca href=\"https://redirect.github.com/psf/black/issues/5025\"\u003e#5025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/69705deb8776e7c5e585668da106d1abe2cb8d77\"\u003e\u003ccode\u003e69705de\u003c/code\u003e\u003c/a\u003e docs: add clearer pyproject configuration guidance (\u003ca href=\"https://redirect.github.com/psf/black/issues/5026\"\u003e#5026\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/35ea67920b7f6ac8e09be1c47278752b1e827f76\"\u003e\u003ccode\u003e35ea679\u003c/code\u003e\u003c/a\u003e Prepare release 26.3.0 (\u003ca href=\"https://redirect.github.com/psf/black/issues/5032\"\u003e#5032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/black/compare/24.3.0...26.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `black` from 24.3.0 to 26.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/black/releases\"\u003eblack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.3.1\u003c/h2\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent Jupyter notebook magic masking collisions from corrupting cells by using\nexact-length placeholders for short magics and aborting if a placeholder can no longer\nbe unmasked safely (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eConfiguration\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAlways hash cache filename components derived from \u003ccode\u003e--python-cell-magics\u003c/code\u003e so custom\nmagic names cannot affect cache paths (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003cem\u003eBlackd\u003c/em\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDisable browser-originated requests by default, add configurable origin allowlisting\nand request body limits, and bound executor submissions to improve backpressure\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/5039\"\u003e#5039\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e26.3.0\u003c/h2\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't double-decode input, causing non-UTF-8 files to be corrupted (\u003ca href=\"https://redirect.github.com/psf/black/issues/4964\"\u003e#4964\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on standalone comment in lambda default arguments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4993\"\u003e#4993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve parentheses when \u003ccode\u003e# type: ignore\u003c/code\u003e comments would be merged with other\ncomments on the same line, preventing AST equivalence failures (\u003ca href=\"https://redirect.github.com/psf/black/issues/4888\"\u003e#4888\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix bug where \u003ccode\u003eif\u003c/code\u003e guards in \u003ccode\u003ecase\u003c/code\u003e blocks were incorrectly split when the pattern had\na trailing comma (\u003ca href=\"https://redirect.github.com/psf/black/issues/4884\"\u003e#4884\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003estring_processing\u003c/code\u003e crashing on unassigned long string literals with trailing\ncommas (one-item tuples) (\u003ca href=\"https://redirect.github.com/psf/black/issues/4929\"\u003e#4929\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplify implementation of the power operator \u0026quot;hugging\u0026quot; logic (\u003ca href=\"https://redirect.github.com/psf/black/issues/4918\"\u003e#4918\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePackaging\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix shutdown errors in PyInstaller builds on macOS by disabling multiprocessing in\nfrozen environments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4930\"\u003e#4930\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce winloop for windows as an alternative to uvloop (\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove deprecated function \u003ccode\u003euvloop.install()\u003c/code\u003e in favor of \u003ccode\u003euvloop.new_event_loop()\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRename \u003ccode\u003emaybe_install_uvloop\u003c/code\u003e function to \u003ccode\u003emaybe_use_uvloop\u003c/code\u003e to simplify loop\ninstallation and creation of either a uvloop/winloop evenloop or default eventloop\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOutput\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/black/blob/main/CHANGES.md\"\u003eblack's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.3.1\u003c/h2\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent Jupyter notebook magic masking collisions from corrupting cells by using\nexact-length placeholders for short magics and aborting if a placeholder can no longer\nbe unmasked safely (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eConfiguration\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAlways hash cache filename components derived from \u003ccode\u003e--python-cell-magics\u003c/code\u003e so custom\nmagic names cannot affect cache paths (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003cem\u003eBlackd\u003c/em\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDisable browser-originated requests by default, add configurable origin allowlisting\nand request body limits, and bound executor submissions to improve backpressure\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/5039\"\u003e#5039\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e26.3.0\u003c/h2\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't double-decode input, causing non-UTF-8 files to be corrupted (\u003ca href=\"https://redirect.github.com/psf/black/issues/4964\"\u003e#4964\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on standalone comment in lambda default arguments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4993\"\u003e#4993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve parentheses when \u003ccode\u003e# type: ignore\u003c/code\u003e comments would be merged with other\ncomments on the same line, preventing AST equivalence failures (\u003ca href=\"https://redirect.github.com/psf/black/issues/4888\"\u003e#4888\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix bug where \u003ccode\u003eif\u003c/code\u003e guards in \u003ccode\u003ecase\u003c/code\u003e blocks were incorrectly split when the pattern had\na trailing comma (\u003ca href=\"https://redirect.github.com/psf/black/issues/4884\"\u003e#4884\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003estring_processing\u003c/code\u003e crashing on unassigned long string literals with trailing\ncommas (one-item tuples) (\u003ca href=\"https://redirect.github.com/psf/black/issues/4929\"\u003e#4929\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplify implementation of the power operator \u0026quot;hugging\u0026quot; logic (\u003ca href=\"https://redirect.github.com/psf/black/issues/4918\"\u003e#4918\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePackaging\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix shutdown errors in PyInstaller builds on macOS by disabling multiprocessing in\nfrozen environments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4930\"\u003e#4930\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce winloop for windows as an alternative to uvloop (\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove deprecated function \u003ccode\u003euvloop.install()\u003c/code\u003e in favor of \u003ccode\u003euvloop.new_event_loop()\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRename \u003ccode\u003emaybe_install_uvloop\u003c/code\u003e function to \u003ccode\u003emaybe_use_uvloop\u003c/code\u003e to simplify loop\ninstallation and creation of either a uvloop/winloop evenloop or default eventloop\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/c6755bb741b6481d6b3d3bb563c83fa060db96c9\"\u003e\u003ccode\u003ec6755bb\u003c/code\u003e\u003c/a\u003e Prepare release 26.3.1 (\u003ca href=\"https://redirect.github.com/psf/black/issues/5046\"\u003e#5046\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/69973fd6950985fbeb1090d96da717dc4d8380b0\"\u003e\u003ccode\u003e69973fd\u003c/code\u003e\u003c/a\u003e Harden blackd browser-facing request handling (\u003ca href=\"https://redirect.github.com/psf/black/issues/5039\"\u003e#5039\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/4937fe6cf241139ddbfc16b0bdbb5b422798909d\"\u003e\u003ccode\u003e4937fe6\u003c/code\u003e\u003c/a\u003e Fix some shenanigans with the cache file and IPython (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/2e641d174469c505d5ae905e75d4c769597e681f\"\u003e\u003ccode\u003e2e641d1\u003c/code\u003e\u003c/a\u003e docs: remove outdated Black Playground references (\u003ca href=\"https://redirect.github.com/psf/black/issues/5044\"\u003e#5044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/c014b22a2d5e0632587b47b81151658bddfa0b88\"\u003e\u003ccode\u003ec014b22\u003c/code\u003e\u003c/a\u003e Remove unused internal code (\u003ca href=\"https://redirect.github.com/psf/black/issues/5041\"\u003e#5041\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/0dae20b2d009f2f03de8696d06b0c947d3abafc9\"\u003e\u003ccode\u003e0dae20b\u003c/code\u003e\u003c/a\u003e Add new changelog (\u003ca href=\"https://redirect.github.com/psf/black/issues/5036\"\u003e#5036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/c5c1cbddd92cecb554ac2a77a24139dd76831030\"\u003e\u003ccode\u003ec5c1cbd\u003c/code\u003e\u003c/a\u003e Minor release patches (\u003ca href=\"https://redirect.github.com/psf/black/issues/5035\"\u003e#5035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/7e5a828c37d71b6a6666e28eed444816def6a8f4\"\u003e\u003ccode\u003e7e5a828\u003c/code\u003e\u003c/a\u003e docs: clarify relationship between Black style and PEP 8 (\u003ca href=\"https://redirect.github.com/psf/black/issues/5025\"\u003e#5025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/69705deb8776e7c5e585668da106d1abe2cb8d77\"\u003e\u003ccode\u003e69705de\u003c/code\u003e\u003c/a\u003e docs: add clearer pyproject configuration guidance (\u003ca href=\"https://redirect.github.com/psf/black/issues/5026\"\u003e#5026\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/35ea67920b7f6ac8e09be1c47278752b1e827f76\"\u003e\u003ccode\u003e35ea679\u003c/code\u003e\u003c/a\u003e Prepare release 26.3.0 (\u003ca href=\"https://redirect.github.com/psf/black/issues/5032\"\u003e#5032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/black/compare/24.3.0...26.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot 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 fo...\n\n_Description has been truncated_","html_url":"https://github.com/jarkillo/Curso-Data-Engineering/pull/164","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/jarkillo%2FCurso-Data-Engineering/issues/164","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/164/packages"}},{"old_version":"2.6.3","new_version":"3.2.0b1","update_type":"major","path":null,"pr_created_at":"2026-03-12T20:37:48.000Z","version_change":"2.6.3 → 3.2.0b1","issue":{"uuid":"4067119346","node_id":"PR_kwDOOMhbQ87KKZ8R","number":6,"state":"closed","title":"chore(deps): bump the pip group across 21 directories with 12 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-16T16:59:51.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-12T20:37:48.000Z","updated_at":"2026-03-16T16:59:53.000Z","time_to_close":332523,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"pip","update_count":12,"packages":[{"name":"flask","old_version":"2.2.5","new_version":"3.1.3","repository_url":"https://github.com/pallets/flask"},{"name":"requests","old_version":"2.31.0","new_version":"2.32.4","repository_url":"https://github.com/psf/requests"},{"name":"werkzeug","old_version":"2.2.3","new_version":"3.1.6","repository_url":"https://github.com/pallets/werkzeug"},{"name":"apache-airflow","old_version":"2.6.3","new_version":"3.2.0b1","repository_url":"https://github.com/apache/airflow"},{"name":"black","old_version":"23.1a1","new_version":"26.3.1","repository_url":"https://github.com/psf/black"},{"name":"cryptography","old_version":"40.0.2","new_version":"46.0.5","repository_url":"https://github.com/pyca/cryptography"},{"name":"google-cloud-aiplatform","old_version":"1.27.1","new_version":"1.133.0","repository_url":"https://github.com/googleapis/python-aiplatform"},{"name":"protobuf","old_version":"4.23.4","new_version":"5.29.6","repository_url":"https://github.com/protocolbuffers/protobuf"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pip group with 1 update in the /alloydb/notebooks directory: [nbconvert](https://github.com/jupyter/nbconvert).\nBumps the pip group with 3 updates in the /cloud-media-livestream/keypublisher directory: [flask](https://github.com/pallets/flask), [requests](https://github.com/psf/requests) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 2 updates in the /cloud_scheduler/snippets directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 8 updates in the /composer/2022_airflow_summit directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [flask](https://github.com/pallets/flask) | `2.2.5` | `3.1.3` |\n| [requests](https://github.com/psf/requests) | `2.31.0` | `2.32.4` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `2.2.3` | `3.1.6` |\n| [apache-airflow](https://github.com/apache/airflow) | `2.6.3` | `3.2.0b1` |\n| [black](https://github.com/psf/black) | `23.1a1` | `26.3.1` |\n| [cryptography](https://github.com/pyca/cryptography) | `40.0.2` | `46.0.5` |\n| [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) | `1.27.1` | `1.133.0` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `4.23.4` | `5.29.6` |\n\nBumps the pip group with 5 updates in the /composer/airflow_1_samples directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [flask](https://github.com/pallets/flask) | `1.1.2` | `3.1.3` |\n| [requests](https://github.com/psf/requests) | `2.23.0` | `2.32.4` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `0.16.1` | `3.1.6` |\n| [cryptography](https://github.com/pyca/cryptography) | `3.2.1` | `46.0.5` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `3.14.0` | `5.29.6` |\n\nBumps the pip group with 8 updates in the /composer/cicd_sample directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [flask](https://github.com/pallets/flask) | `2.2.5` | `3.1.3` |\n| [requests](https://github.com/psf/requests) | `2.31.0` | `2.32.4` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `2.2.3` | `3.1.6` |\n| [apache-airflow](https://github.com/apache/airflow) | `2.6.3` | `3.2.0b1` |\n| [black](https://github.com/psf/black) | `23.1a1` | `26.3.1` |\n| [cryptography](https://github.com/pyca/cryptography) | `40.0.2` | `46.0.5` |\n| [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) | `1.27.1` | `1.133.0` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `4.23.4` | `5.29.6` |\n\nBumps the pip group with 1 update in the /composer/rest directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 1 update in the /compute/auth directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 1 update in the /compute/client_library directory: [black](https://github.com/psf/black).\nBumps the pip group with 2 updates in the /compute/encryption directory: [requests](https://github.com/psf/requests) and [cryptography](https://github.com/pyca/cryptography).\nBumps the pip group with 1 update in the /compute/metadata directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 1 update in the /compute/oslogin directory: [requests](https://github.com/psf/requests).\nBumps the pip group with 3 updates in the /dataflow/gemma directory: [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform), [protobuf](https://github.com/protocolbuffers/protobuf) and [keras](https://github.com/keras-team/keras).\nBumps the pip group with 1 update in the /dataflow/gemma-flex-template directory: [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform).\nBumps the pip group with 3 updates in the /dataflow/run-inference directory: [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform), [torch](https://github.com/pytorch/pytorch) and [transformers](https://github.com/huggingface/transformers).\nBumps the pip group with 2 updates in the /datastore/cloud-ndb directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 2 updates in the /dialogflow directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 2 updates in the /dialogflow-cx directory: [flask](https://github.com/pallets/flask) and [werkzeug](https://github.com/pallets/werkzeug).\nBumps the pip group with 1 update in the /gemma2 directory: [protobuf](https://github.com/protocolbuffers/protobuf).\nBumps the pip group with 4 updates in the /iap directory: [flask](https://github.com/pallets/flask), [requests](https://github.com/psf/requests), [werkzeug](https://github.com/pallets/werkzeug) and [cryptography](https://github.com/pyca/cryptography).\nBumps the pip group with 1 update in the /media_cdn directory: [cryptography](https://github.com/pyca/cryptography).\n\nUpdates `nbconvert` from 7.16.4 to 7.17.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jupyter/nbconvert/releases\"\u003enbconvert's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.17.0\u003c/h2\u003e\n\u003ch2\u003e7.17.0\u003c/h2\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbconvert/compare/v7.16.6...c9ac1d1040459ed1ff9eb34e9918ce5a87cf9d71\"\u003eFull Changelog\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eEnhancements made\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for arbitrary browser arguments \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2227\"\u003e#2227\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugs fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix QtPNGExporter returning empty bytes on macOS \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2264\"\u003e#2264\u003c/a\u003e (\u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/QuLogic\"\u003e\u003ccode\u003e@​QuLogic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix CVE-2025-53000: Secure Inkscape Windows path (registry first + block CWD) \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2261\"\u003e#2261\u003c/a\u003e (\u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/mberlanda\"\u003e\u003ccode\u003e@​mberlanda\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/salmankadaya\"\u003e\u003ccode\u003e@​salmankadaya\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/th3gowtham\"\u003e\u003ccode\u003e@​th3gowtham\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix get_export_names and get_exporter default args \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2228\"\u003e#2228\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePyPA-Compliant Summary \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2226\"\u003e#2226\u003c/a\u003e (\u003ca href=\"https://github.com/hackowitz-af\"\u003e\u003ccode\u003e@​hackowitz-af\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMaintenance and upkeep improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eavoid cov environment on free-threaded Pythons \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2267\"\u003e#2267\u003c/a\u003e (\u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate pre-commit, and fix all issues. \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2238\"\u003e#2238\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop test on 3.9, test on 3.13, 3.14, 3.14t \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2237\"\u003e#2237\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the actions group across 1 directory with 2 updates \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2231\"\u003e#2231\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003e@flaky.flaky\u003c/code\u003e decorate with pytest marker \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2229\"\u003e#2229\u003c/a\u003e (\u003ca href=\"https://github.com/mgorny\"\u003e\u003ccode\u003e@​mgorny\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate to mermaid 11.10.0 \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2224\"\u003e#2224\u003c/a\u003e (\u003ca href=\"https://github.com/bollwyvl\"\u003e\u003ccode\u003e@​bollwyvl\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.8, fix the CI tests \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2221\"\u003e#2221\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse \u003ccode\u003eintersphinx_registry\u003c/code\u003e \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2232\"\u003e#2232\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors to this release\u003c/h3\u003e\n\u003cp\u003eThe following people contributed discussions, new ideas, code and documentation contributions, and review.\nSee \u003ca href=\"https://github-activity.readthedocs.io/en/latest/use/#how-does-this-tool-define-contributions-in-the-reports\"\u003eour definition of contributors\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbconvert/graphs/contributors?from=2025-01-28\u0026amp;to=2026-01-29\u0026amp;type=c\"\u003eGitHub contributors page for this release\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/bollwyvl\"\u003e\u003ccode\u003e@​bollwyvl\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Abollwyvl+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3ACarreau+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ah3pdesign+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/hackowitz-af\"\u003e\u003ccode\u003e@​hackowitz-af\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ahackowitz-af+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Akrassowski+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/mberlanda\"\u003e\u003ccode\u003e@​mberlanda\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Amberlanda+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/mgorny\"\u003e\u003ccode\u003e@​mgorny\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Amgorny+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Aminrk+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/MSeal\"\u003e\u003ccode\u003e@​MSeal\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3AMSeal+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/QuLogic\"\u003e\u003ccode\u003e@​QuLogic\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3AQuLogic+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/salmankadaya\"\u003e\u003ccode\u003e@​salmankadaya\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Asalmankadaya+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ashreve+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/th3gowtham\"\u003e\u003ccode\u003e@​th3gowtham\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ath3gowtham+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e)\u003c/p\u003e\n\u003ch2\u003ev7.16.6\u003c/h2\u003e\n\u003ch2\u003e7.16.6\u003c/h2\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbconvert/compare/v7.16.5...01c6ab25ec81277ab4d8585747f904c89a8c02b0\"\u003eFull Changelog\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eBugs fixed\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jupyter/nbconvert/blob/main/CHANGELOG.md\"\u003enbconvert's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.17.0\u003c/h2\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbconvert/compare/v7.16.6...c9ac1d1040459ed1ff9eb34e9918ce5a87cf9d71\"\u003eFull Changelog\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eEnhancements made\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for arbitrary browser arguments \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2227\"\u003e#2227\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugs fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix QtPNGExporter returning empty bytes on macOS \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2264\"\u003e#2264\u003c/a\u003e (\u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/QuLogic\"\u003e\u003ccode\u003e@​QuLogic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix CVE-2025-53000: Secure Inkscape Windows path (registry first + block CWD) \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2261\"\u003e#2261\u003c/a\u003e (\u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/mberlanda\"\u003e\u003ccode\u003e@​mberlanda\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/salmankadaya\"\u003e\u003ccode\u003e@​salmankadaya\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/th3gowtham\"\u003e\u003ccode\u003e@​th3gowtham\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix get_export_names and get_exporter default args \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2228\"\u003e#2228\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePyPA-Compliant Summary \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2226\"\u003e#2226\u003c/a\u003e (\u003ca href=\"https://github.com/hackowitz-af\"\u003e\u003ccode\u003e@​hackowitz-af\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMaintenance and upkeep improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eavoid cov environment on free-threaded Pythons \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2267\"\u003e#2267\u003c/a\u003e (\u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate pre-commit, and fix all issues. \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2238\"\u003e#2238\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop test on 3.9, test on 3.13, 3.14, 3.14t \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2237\"\u003e#2237\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the actions group across 1 directory with 2 updates \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2231\"\u003e#2231\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003e@flaky.flaky\u003c/code\u003e decorate with pytest marker \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2229\"\u003e#2229\u003c/a\u003e (\u003ca href=\"https://github.com/mgorny\"\u003e\u003ccode\u003e@​mgorny\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate to mermaid 11.10.0 \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2224\"\u003e#2224\u003c/a\u003e (\u003ca href=\"https://github.com/bollwyvl\"\u003e\u003ccode\u003e@​bollwyvl\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.8, fix the CI tests \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2221\"\u003e#2221\u003c/a\u003e (\u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse \u003ccode\u003eintersphinx_registry\u003c/code\u003e \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2232\"\u003e#2232\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors to this release\u003c/h3\u003e\n\u003cp\u003eThe following people contributed discussions, new ideas, code and documentation contributions, and review.\nSee \u003ca href=\"https://github-activity.readthedocs.io/en/latest/use/#how-does-this-tool-define-contributions-in-the-reports\"\u003eour definition of contributors\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbconvert/graphs/contributors?from=2025-01-28\u0026amp;to=2026-01-29\u0026amp;type=c\"\u003eGitHub contributors page for this release\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/bollwyvl\"\u003e\u003ccode\u003e@​bollwyvl\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Abollwyvl+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3ACarreau+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/h3pdesign\"\u003e\u003ccode\u003e@​h3pdesign\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ah3pdesign+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/hackowitz-af\"\u003e\u003ccode\u003e@​hackowitz-af\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ahackowitz-af+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Akrassowski+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/mberlanda\"\u003e\u003ccode\u003e@​mberlanda\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Amberlanda+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/mgorny\"\u003e\u003ccode\u003e@​mgorny\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Amgorny+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Aminrk+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/MSeal\"\u003e\u003ccode\u003e@​MSeal\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3AMSeal+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/QuLogic\"\u003e\u003ccode\u003e@​QuLogic\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3AQuLogic+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/salmankadaya\"\u003e\u003ccode\u003e@​salmankadaya\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Asalmankadaya+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/shreve\"\u003e\u003ccode\u003e@​shreve\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ashreve+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/th3gowtham\"\u003e\u003ccode\u003e@​th3gowtham\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ath3gowtham+updated%3A2025-01-28..2026-01-29\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e)\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003e7.16.6\u003c/h2\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbconvert/compare/v7.16.5...01c6ab25ec81277ab4d8585747f904c89a8c02b0\"\u003eFull Changelog\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eBugs fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent leading whitespace in markdown code blocks from being stripped \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2203\"\u003e#2203\u003c/a\u003e (\u003ca href=\"https://github.com/peytondmurray\"\u003e\u003ccode\u003e@​peytondmurray\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix bullet list parsing in markdown \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2177\"\u003e#2177\u003c/a\u003e (\u003ca href=\"https://github.com/douglas-raillard-arm\"\u003e\u003ccode\u003e@​douglas-raillard-arm\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when running with optimization \u003ca href=\"https://redirect.github.com/jupyter/nbconvert/pull/2160\"\u003e#2160\u003c/a\u003e (\u003ca href=\"https://github.com/QuLogic\"\u003e\u003ccode\u003e@​QuLogic\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/jupyter/nbconvert/commit/21b35d85b46f5ff0956d3d088a52b9bef00e8196\"\u003e\u003ccode\u003e21b35d8\u003c/code\u003e\u003c/a\u003e Publish 7.17.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/c9ac1d1040459ed1ff9eb34e9918ce5a87cf9d71\"\u003e\u003ccode\u003ec9ac1d1\u003c/code\u003e\u003c/a\u003e Fix CVE-2025-53000: Secure Inkscape Windows path (registry first + block CWD)...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/b13276d80ae6fadbfda981304810e26f421c4ced\"\u003e\u003ccode\u003eb13276d\u003c/code\u003e\u003c/a\u003e avoid cov environment on free-threaded Pythons (\u003ca href=\"https://redirect.github.com/jupyter/nbconvert/issues/2267\"\u003e#2267\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/7c7055fe833fe9832e6f9a64fa5f67d66692c8d6\"\u003e\u003ccode\u003e7c7055f\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] auto fixes from pre-commit.com hooks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/74f3ddd37ef4b7ffb5eee9acbf52062217c15852\"\u003e\u003ccode\u003e74f3ddd\u003c/code\u003e\u003c/a\u003e Fix QtPNGExporter returning empty bytes on macOS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/216550b2aae4c329f4dab597a96ae7cac30de79a\"\u003e\u003ccode\u003e216550b\u003c/code\u003e\u003c/a\u003e fix links\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/39777ac5716350e994171d025a7369c58b0afc8c\"\u003e\u003ccode\u003e39777ac\u003c/code\u003e\u003c/a\u003e try to comment fialing test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/7b591ca526f2598dbae3256a53765659c3edcf14\"\u003e\u003ccode\u003e7b591ca\u003c/code\u003e\u003c/a\u003e ruff-check\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/6ec7638a3dc7a0bc2c533c116202d7f9b07ce9d9\"\u003e\u003ccode\u003e6ec7638\u003c/code\u003e\u003c/a\u003e parent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbconvert/commit/59414b36f94e318d4207e8af863167047d936c19\"\u003e\u003ccode\u003e59414b3\u003c/code\u003e\u003c/a\u003e fix mypy\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jupyter/nbconvert/compare/v7.16.4...v7.17.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `flask` from 2.2.5 to 3.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/releases\"\u003eflask's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.3\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.3 security fix release, which fixes a security issue but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.3/\"\u003ehttps://pypi.org/project/Flask/3.1.3/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-3\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-3\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys but not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. \u003ca href=\"https://github.com/pallets/flask/security/advisories/GHSA-68rp-wp8r-4726\"\u003eGHSA-68rp-wp8r-4726\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.2\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.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/Flask/3.1.2/\"\u003ehttps://pypi.org/project/Flask/3.1.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-2\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-2\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/38?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/38?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5774\"\u003e#5774\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state of \u003ccode\u003esession\u003c/code\u003e is correct. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5786\"\u003e#5786\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5776\"\u003e#5776\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.1\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.1 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.1/\"\u003ehttps://pypi.org/project/Flask/3.1.1/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/flask/milestone/36?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/36?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. GHSA-4grg-w6v8-c28g\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5645\"\u003e#5645\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loads the app and plugins first to make sure all commands are shown. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5673\"\u003e#5673\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMark sans-io base class as being able to handle views that return \u003ccode\u003eAsyncIterable\u003c/code\u003e. This is not accurate for Flask, but makes typing easier for Quart. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5659\"\u003e#5659\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.0\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecations, or introduce potentially breaking changes. We encourage everyone to upgrade, and to use a tool such as \u003ca href=\"https://pypi.org/project/pip-tools/\"\u003epip-tools\u003c/a\u003e to pin all dependencies and control upgrades. Test with warnings treated as errors to be able to adapt to deprecation warnings early.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.0/\"\u003ehttps://pypi.org/project/Flask/3.1.0/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-0\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-0\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/33?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/33?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5623\"\u003e#5623\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate minimum dependency versions to latest feature releases. Werkzeug \u0026gt;= 3.1, ItsDangerous \u0026gt;= 2.2, Blinker \u0026gt;= 1.9. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5624\"\u003e#5624\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5633\"\u003e#5633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProvide a configuration option to control automatic option responses. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5496\"\u003e#5496\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFlask.open_resource\u003c/code\u003e/\u003ccode\u003eopen_instance_resource\u003c/code\u003e and \u003ccode\u003eBlueprint.open_resource\u003c/code\u003e take an \u003ccode\u003eencoding\u003c/code\u003e parameter to use when opening in text mode. It defaults to \u003ccode\u003eutf-8\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5504\"\u003e#5504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.max_content_length\u003c/code\u003e can be customized per-request instead of only through the \u003ccode\u003eMAX_CONTENT_LENGTH\u003c/code\u003e config. Added \u003ccode\u003eMAX_FORM_MEMORY_SIZE\u003c/code\u003e and \u003ccode\u003eMAX_FORM_PARTS\u003c/code\u003e config. Added documentation about resource limits to the security page. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5625\"\u003e#5625\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for the \u003ccode\u003ePartitioned\u003c/code\u003e cookie attribute (CHIPS), with the \u003ccode\u003eSESSION_COOKIE_PARTITIONED\u003c/code\u003e config. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5472\"\u003e#5472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e-e path\u003c/code\u003e takes precedence over default \u003ccode\u003e.env\u003c/code\u003e and \u003ccode\u003e.flaskenv\u003c/code\u003e files. \u003ccode\u003eload_dotenv\u003c/code\u003e loads default files in addition to a path unless \u003ccode\u003eload_defaults=False\u003c/code\u003e is passed. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5628\"\u003e#5628\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport key rotation with the \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e config, a list of old secret keys that can still be used for unsigning. Extensions will need to add support. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5621\"\u003e#5621\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix how setting \u003ccode\u003ehost_matching=True\u003c/code\u003e or \u003ccode\u003esubdomain_matching=False\u003c/code\u003e interacts with \u003ccode\u003eSERVER_NAME\u003c/code\u003e. Setting \u003ccode\u003eSERVER_NAME\u003c/code\u003e no longer restricts requests to only that domain. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5553\"\u003e#5553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.trusted_hosts\u003c/code\u003e is checked during routing, and can be set through the \u003ccode\u003eTRUSTED_HOSTS\u003c/code\u003e config. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5636\"\u003e#5636\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.0.3\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/blob/main/CHANGES.rst\"\u003eflask's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.1.3\u003c/h2\u003e\n\u003cp\u003eReleased 2026-02-18\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys\nbut not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. :ghsa:\u003ccode\u003e68rp-wp8r-4726\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.2\u003c/h2\u003e\n\u003cp\u003eReleased 2025-08-19\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. :issue:\u003ccode\u003e5774\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state\nof \u003ccode\u003esession\u003c/code\u003e is correct. :issue:\u003ccode\u003e5786\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. :issue:\u003ccode\u003e5776\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-05-13\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via\n\u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. :ghsa:\u003ccode\u003e4grg-w6v8-c28g\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. :issue:\u003ccode\u003e5645\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loads the app and plugins first to make sure all commands\nare shown. :issue:\u003ccode\u003e5673\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eMark sans-io base class as being able to handle views that return\n\u003ccode\u003eAsyncIterable\u003c/code\u003e. This is not accurate for Flask, but makes typing easier\nfor Quart. :pr:\u003ccode\u003e5659\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.0\u003c/h2\u003e\n\u003cp\u003eReleased 2024-11-13\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. :pr:\u003ccode\u003e5623\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUpdate minimum dependency versions to latest feature releases.\nWerkzeug \u0026gt;= 3.1, ItsDangerous \u0026gt;= 2.2, Blinker \u0026gt;= 1.9. :pr:\u003ccode\u003e5624,5633\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eProvide a configuration option to control automatic option\nresponses. :pr:\u003ccode\u003e5496\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFlask.open_resource\u003c/code\u003e/\u003ccode\u003eopen_instance_resource\u003c/code\u003e and\n\u003ccode\u003eBlueprint.open_resource\u003c/code\u003e take an \u003ccode\u003eencoding\u003c/code\u003e parameter to use when\nopening in text mode. It defaults to \u003ccode\u003eutf-8\u003c/code\u003e. :issue:\u003ccode\u003e5504\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.max_content_length\u003c/code\u003e can be customized per-request instead of only\nthrough the \u003ccode\u003eMAX_CONTENT_LENGTH\u003c/code\u003e config. Added\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/22d924701a6ae2e4cd01e9a15bbaf3946094af65\"\u003e\u003ccode\u003e22d9247\u003c/code\u003e\u003c/a\u003e release version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/089cb86dd22bff589a4eafb7ab8e42dc357623b4\"\u003e\u003ccode\u003e089cb86\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/c17f379390731543eea33a570a47bd4ef76a54fa\"\u003e\u003ccode\u003ec17f379\u003c/code\u003e\u003c/a\u003e request context tracks session access\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/27be9338405382445a7cb01151e084559b98d602\"\u003e\u003ccode\u003e27be933\u003c/code\u003e\u003c/a\u003e start version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4e652d3f68b90d50aa2301d3b7e68c3fafd9251d\"\u003e\u003ccode\u003e4e652d3\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5903\"\u003e#5903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/3d03098a97ddc6a908aa4a50c2ef7381f8297d0a\"\u003e\u003ccode\u003e3d03098\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/407eb76b27884848383a37c7274654f0271e4bc4\"\u003e\u003ccode\u003e407eb76\u003c/code\u003e\u003c/a\u003e document using gevent for async (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5900\"\u003e#5900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/ac5664d2281533eacafd64f5cc7d5edcdaccab60\"\u003e\u003ccode\u003eac5664d\u003c/code\u003e\u003c/a\u003e document using gevent for async\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4f79d5b59a56bc4356a97f2e81a35f98cb18d7b3\"\u003e\u003ccode\u003e4f79d5b\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11 (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5865\"\u003e#5865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/fe3b215d3ade4db68262dae1a3cdc464a1fc524f\"\u003e\u003ccode\u003efe3b215\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/flask/compare/2.2.5...3.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.32.2 to 2.32.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.32.4\u003c/h2\u003e\n\u003ch2\u003e2.32.4 (2025-06-10)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2024-47081 Fixed an issue where a maliciously crafted URL and trusted\nenvironment will retrieve credentials for the wrong hostname/machine from a\nnetrc file. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6965\"\u003e#6965\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNumerous documentation improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for pypy 3.11 for Linux and macOS. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6926\"\u003e#6926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDropped support for pypy 3.9 following its end of support. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6926\"\u003e#6926\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.32.3\u003c/h2\u003e\n\u003ch2\u003e2.32.3 (2024-05-29)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed bug breaking the ability to specify custom SSLContexts in sub-classes of\nHTTPAdapter. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6716\"\u003e#6716\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed issue where Requests started failing to run on Python versions compiled\nwithout the \u003ccode\u003essl\u003c/code\u003e module. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6724\"\u003e#6724\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.32.4 (2025-06-10)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2024-47081 Fixed an issue where a maliciously crafted URL and trusted\nenvironment will retrieve credentials for the wrong hostname/machine from a\nnetrc file.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNumerous documentation improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for pypy 3.11 for Linux and macOS.\u003c/li\u003e\n\u003cli\u003eDropped support for pypy 3.9 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.3 (2024-05-29)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed bug breaking the ability to specify custom SSLContexts in sub-classes of\nHTTPAdapter. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6716\"\u003e#6716\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed issue where Requests started failing to run on Python versions compiled\nwithout the \u003ccode\u003essl\u003c/code\u003e module. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6724\"\u003e#6724\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/021dc729f0b71a3030cefdbec7fb57a0e80a6cfd\"\u003e\u003ccode\u003e021dc72\u003c/code\u003e\u003c/a\u003e Polish up release tooling for last manual release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/821770e822a20a21b207b3907ea83878bda1d396\"\u003e\u003ccode\u003e821770e\u003c/code\u003e\u003c/a\u003e Bump version and add release notes for v2.32.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/59f8aa2adf1d3d06bcbf7ce6b13743a1639a5401\"\u003e\u003ccode\u003e59f8aa2\u003c/code\u003e\u003c/a\u003e Add netrc file search information to authentication documentation (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6876\"\u003e#6876\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/5b4b64c3467fd7a3c03f91ee641aaa348b6bed3b\"\u003e\u003ccode\u003e5b4b64c\u003c/code\u003e\u003c/a\u003e Add more tests to prevent regression of CVE 2024 47081\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/7bc45877a86192af77645e156eb3744f95b47dae\"\u003e\u003ccode\u003e7bc4587\u003c/code\u003e\u003c/a\u003e Add new test to check netrc auth leak (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6962\"\u003e#6962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/96ba401c1296ab1dda74a2365ef36d88f7d144ef\"\u003e\u003ccode\u003e96ba401\u003c/code\u003e\u003c/a\u003e Only use hostname to do netrc lookup instead of netloc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/7341690e842a23cf18ded0abd9229765fa88c4e2\"\u003e\u003ccode\u003e7341690\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psf/requests/issues/6951\"\u003e#6951\u003c/a\u003e from tswast/patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/6716d7c9f29df636643fa2489f98890216525cb0\"\u003e\u003ccode\u003e6716d7c\u003c/code\u003e\u003c/a\u003e remove links\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/a7e1c745dc23c18e836febd672416ed0c5d8d8ae\"\u003e\u003ccode\u003ea7e1c74\u003c/code\u003e\u003c/a\u003e Update docs/conf.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/c799b8167a13416833ad3b4f3298261a477e826f\"\u003e\u003ccode\u003ec799b81\u003c/code\u003e\u003c/a\u003e docs: fix dead links to kenreitz.org\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.2...v2.32.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `werkzeug` from 3.0.6 to 3.1.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/werkzeug/releases\"\u003ewerkzeug's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.6\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.6 security fix release, which fixes a security issue but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Werkzeug/3.1.6/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.6/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/page/changes/#version-3-1-6\"\u003ehttps://werkzeug.palletsprojects.com/page/changes/#version-3-1-6\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow special devices names in multi-segment paths. \u003ca href=\"https://github.com/pallets/werkzeug/security/advisories/GHSA-29vq-49wr-vm6x\"\u003eGHSA-29vq-49wr-vm6x\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.5\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.5 security fix release, which fixes security issues and 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/Werkzeug/3.1.5/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.5/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/page/changes/#version-3-1-5\"\u003ehttps://werkzeug.palletsprojects.com/page/changes/#version-3-1-5\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/werkzeug/milestone/43?closed=1\"\u003ehttps://github.com/pallets/werkzeug/milestone/43?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow more special device names, regardless of extension or surrounding spaces. \u003ca href=\"https://github.com/pallets/werkzeug/security/advisories/GHSA-87hc-h4r5-73f7\"\u003eGHSA-87hc-h4r5-73f7\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe multipart form parser handles a \u003ccode\u003e\\r\\n\u003c/code\u003e sequence at a chunk boundary. This fixes the previous attempt, which caused incorrect content lengths. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3065\"\u003e#3065\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3077\"\u003e#3077\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eAttributeError\u003c/code\u003e when initializing \u003ccode\u003eDebuggedApplication\u003c/code\u003e with \u003ccode\u003epin_security=False\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3075\"\u003e#3075\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.4\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.4 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/Werkzeug/3.1.4/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.4/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/page/changes/#version-3-1-4\"\u003ehttps://werkzeug.palletsprojects.com/page/changes/#version-3-1-4\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/werkzeug/milestone/42?closed=1\"\u003ehttps://github.com/pallets/werkzeug/milestone/42?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow special device names. This prevents reading from these when using \u003ccode\u003esend_from_directory\u003c/code\u003e. \u003ccode\u003esecure_filename\u003c/code\u003e already prevented writing to these. \u003ca href=\"https://github.com/pallets/werkzeug/security/advisories/GHSA-hgf8-39gv-g3f2\"\u003eghsa-hgf8-39gv-g3f2\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe debugger pin fails after 10 attempts instead of 11. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3020\"\u003e#3020\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe multipart form parser handles a \u003ccode\u003e\\r\\n\u003c/code\u003e sequence at a chunk boundary. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3065\"\u003e#3065\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove CPU usage during Watchdog reloader. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3054\"\u003e#3054\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.json\u003c/code\u003e annotation is more accurate. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3067\"\u003e#3067\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTraceback rendering handles when the line number is beyond the available source lines. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3044\"\u003e#3044\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eHTTPException.get_response\u003c/code\u003e annotation and doc better conveys the distinction between WSGI and sans-IO responses. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3056\"\u003e#3056\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.3\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.3 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes vs 3.1.0.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Werkzeug/3.1.3/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.3/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/en/stable/changes/#version-3-1-3\"\u003ehttps://werkzeug.palletsprojects.com/en/stable/changes/#version-3-1-3\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/werkzeug/milestone/41?closed=1\"\u003ehttps://github.com/pallets/werkzeug/milestone/41?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eInitial data passed to \u003ccode\u003eMultiDict\u003c/code\u003e and similar interfaces only accepts \u003ccode\u003elist\u003c/code\u003e, \u003ccode\u003etuple\u003c/code\u003e, or \u003ccode\u003eset\u003c/code\u003e when passing multiple values. It had been changed to accept any \u003ccode\u003eCollection\u003c/code\u003e, but this matched types that should be treated as single values, such as \u003ccode\u003ebytes\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/2994\"\u003e#2994\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen the \u003ccode\u003eHost\u003c/code\u003e header is not set and \u003ccode\u003eRequest.host\u003c/code\u003e falls back to the WSGI \u003ccode\u003eSERVER_NAME\u003c/code\u003e value, if that value is an IPv6 address it is wrapped in \u003ccode\u003e[]\u003c/code\u003e to match the \u003ccode\u003eHost\u003c/code\u003e header. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/2993\"\u003e#2993\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.2\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.2 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes vs 3.1.0.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Werkzeug/3.1.2/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/en/stable/changes/#version-3-1-2\"\u003ehttps://werkzeug.palletsprojects.com/en/stable/changes/#version-3-1-2\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/werkzeug/blob/main/CHANGES.rst\"\u003ewerkzeug's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.1.6\u003c/h2\u003e\n\u003cp\u003eReleased 2026-02-19\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow special devices names in\nmulti-segment paths. :ghsa:\u003ccode\u003e29vq-49wr-vm6x\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.5\u003c/h2\u003e\n\u003cp\u003eReleased 2026-01-08\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow more special device names, regardless\nof extension or surrounding spaces. :ghsa:\u003ccode\u003e87hc-h4r5-73f7\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe multipart form parser handles a \u003ccode\u003e\\r\\n\u003c/code\u003e sequence at a chunk boundary.\nThis fixes the previous attempt, which caused incorrect content lengths.\n:issue:\u003ccode\u003e3065\u003c/code\u003e :issue:\u003ccode\u003e3077\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eAttributeError\u003c/code\u003e when initializing \u003ccode\u003eDebuggedApplication\u003c/code\u003e with\n\u003ccode\u003epin_security=False\u003c/code\u003e. :issue:\u003ccode\u003e3075\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.4\u003c/h2\u003e\n\u003cp\u003eReleased 2025-11-28\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow special device names. This prevents\nreading from these when using \u003ccode\u003esend_from_directory\u003c/code\u003e. \u003ccode\u003esecure_filename\u003c/code\u003e\nalready prevented writing to these. :ghsa:\u003ccode\u003ehgf8-39gv-g3f2\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe debugger pin fails after 10 attempts instead of 11. :pr:\u003ccode\u003e3020\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe multipart form parser handles a \u003ccode\u003e\\r\\n\u003c/code\u003e sequence at a chunk boundary.\n:issue:\u003ccode\u003e3065\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eImprove CPU usage during Watchdog reloader. :issue:\u003ccode\u003e3054\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.json\u003c/code\u003e annotation is more accurate. :issue:\u003ccode\u003e3067\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eTraceback rendering handles when the line number is beyond the available\nsource lines. :issue:\u003ccode\u003e3044\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eHTTPException.get_response\u003c/code\u003e annotation and doc better conveys the\ndistinction between WSGI and sans-IO responses. :issue:\u003ccode\u003e3056\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.3\u003c/h2\u003e\n\u003cp\u003eReleased 2024-11-08\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eInitial data passed to \u003ccode\u003eMultiDict\u003c/code\u003e and similar interfaces only accepts\n\u003ccode\u003elist\u003c/code\u003e, \u003ccode\u003etuple\u003c/code\u003e, or \u003ccode\u003eset\u003c/code\u003e when passing multiple values. It had been\nchanged to accept any \u003ccode\u003eCollection\u003c/code\u003e, but this matched types that should be\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/werkzeug/commit/04da1b5221b7a7b57e82246e4b5741d37a6b2e56\"\u003e\u003ccode\u003e04da1b5\u003c/code\u003e\u003c/a\u003e release version 3.1.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/f407712fdc60a09c2b3f4fe7db557703e5d9338d\"\u003e\u003ccode\u003ef407712\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/f54fe98026253e70fbbcd35a6b52fb67cfff1c03\"\u003e\u003ccode\u003ef54fe98\u003c/code\u003e\u003c/a\u003e safe_join prevents Windows special device names in multi-segment paths\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/d005985ef69ffe3275eda8fb6fb25e074dbe871b\"\u003e\u003ccode\u003ed005985\u003c/code\u003e\u003c/a\u003e start version 3.1.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/8565c2cbd6681ae8463e77d4fc0795324a7fdae7\"\u003e\u003ccode\u003e8565c2c\u003c/code\u003e\u003c/a\u003e document rule priority (\u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3102\"\u003e#3102\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/3febc7e90072bffe04c27e6b7478dfc4f88930df\"\u003e\u003ccode\u003e3febc7e\u003c/code\u003e\u003c/a\u003e document rule priority\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/2525b827646c10ab7adb334664e6a4af1b769181\"\u003e\u003ccode\u003e2525b82\u003c/code\u003e\u003c/a\u003e remove state machine docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/4abfbd553cdeb6d4e6fa693340d52b13c884079f\"\u003e\u003ccode\u003e4abfbd5\u003c/code\u003e\u003c/a\u003e rewrite build docstring (\u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3097\"\u003e#3097\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/161c18b2a8800ae6ef377fb3cbdb933a878fea67\"\u003e\u003ccode\u003e161c18b\u003c/code\u003e\u003c/a\u003e rewrite build docstring\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/werkzeug/commit/86e11c29e44726dae524cd9db11549b3b1ad681d\"\u003e\u003ccode\u003e86e11c2\u003c/code\u003e\u003c/a\u003e release version 3.1.5 (\u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3085\"\u003e#3085\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/werkzeug/compare/3.0.6...3.1.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `flask` from 3.0.3 to 3.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/releases\"\u003eflask's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.3\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.3 security fix release, which fixes a security issue but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.3/\"\u003ehttps://pypi.org/project/Flask/3.1.3/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-3\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-3\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys but not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. \u003ca href=\"https://github.com/pallets/flask/security/advisories/GHSA-68rp-wp8r-4726\"\u003eGHSA-68rp-wp8r-4726\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.2\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.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/Flask/3.1.2/\"\u003ehttps://pypi.org/project/Flask/3.1.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-2\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-2\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/38?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/38?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5774\"\u003e#5774\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state of \u003ccode\u003esession\u003c/code\u003e is correct. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5786\"\u003e#5786\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5776\"\u003e#5776\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.1\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.1 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.1/\"\u003ehttps://pypi.org/project/Flask/3.1.1/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/flask/milestone/36?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/36?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. GHSA-4grg-w6v8-c28g\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5645\"\u003e#5645\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loads the app and plugins first to make sure all commands are shown. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5673\"\u003e#5673\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMark sans-io base class as being able to handle views that return \u003ccode\u003eAsyncIterable\u003c/code\u003e. This is not accurate for Flask, but makes typing easier for Quart. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5659\"\u003e#5659\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.0\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecations, or introduce potentially breaking changes. We encourage everyone to upgrade, and to use a tool such as \u003ca href=\"https://pypi.org/project/pip-tools/\"\u003epip-tools\u003c/a\u003e to pin all dependencies and control upgrades. Test with warnings treated as errors to be able to adapt to deprecation warnings early.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.0/\"\u003ehttps://pypi.org/project/Flask/3.1.0/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-0\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-0\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/33?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/33?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5623\"\u003e#5623\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate minimum dependency versions to latest feature releases. Werkzeug \u0026gt;= 3.1, ItsDangerous \u0026gt;= 2.2, Blinker \u0026gt;= 1.9. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5624\"\u003e#5624\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5633\"\u003e#5633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProvide a configuration option to control automatic option responses. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5496\"\u003e#5496\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFlask.open_resource\u003c/code\u003e/\u003ccode\u003eopen_instance_resource\u003c/code\u003e and \u003ccode\u003eBlueprint.open_resource\u003c/code\u003e take an \u003ccode\u003eencoding\u003c/code\u003e parameter to use when opening in text mode. It defaults to \u003ccode\u003eutf-8\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5504\"\u003e#5504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.max_content_length\u003c/code\u003e can be customized per-request instead of only through the \u003ccode\u003eMAX_CONTENT_LENGTH\u003c/code\u003e config. Added \u003ccode\u003eMAX_FORM_MEMORY_SIZE\u003c/code\u003e and \u003ccode\u003eMAX_FORM_PARTS\u003c/code\u003e config. Added documentation about resource limits to the security page. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5625\"\u003e#5625\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for the \u003ccode\u003ePartitioned\u003c/code\u003e cookie attribute (CHIPS), with the \u003ccode\u003eSESSION_COOKIE_PARTITIONED\u003c/code\u003e config. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5472\"\u003e#5472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e-e path\u003c/code\u003e takes precedence over default \u003ccode\u003e.env\u003c/code\u003e and \u003ccode\u003e.flaskenv\u003c/code\u003e files. \u003ccode\u003eload_dotenv\u003c/code\u003e loads default files in addition to a path unless \u003ccode\u003eload_defaults=False\u003c/code\u003e is passed. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5628\"\u003e#5628\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport key rotation with the \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e config, a list of old secret keys that can still be used for unsigning. Extensions will need to add support. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5621\"\u003e#5621\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix how setting \u003ccode\u003ehost_matching=True\u003c/code\u003e or \u003ccode\u003esubdomain_matching=False\u003c/code\u003e interacts with \u003ccode\u003eSERVER_NAME\u003c/code\u003e. Setting \u003ccode\u003eSERVER_NAME\u003c/code\u003e no longer restricts requests to only that domain. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5553\"\u003e#5553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.trusted_hosts\u003c/code\u003e is checked during routing, and can be set through the \u003ccode\u003eTRUSTED_HOSTS\u003c/code\u003e config. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5636\"\u003e#5636\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.0.3\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/blob/main/CHANGES.rst\"\u003eflask's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.1.3\u003c/h2\u003e\n\u003cp\u003eReleased 2026-02-18\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys\nbut not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. :ghsa:\u003ccode\u003e68rp-wp8r-4726\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.2\u003c/h2\u003e\n\u003cp\u003eReleased 2025-08-19\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. :issue:\u003ccode\u003e5774\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state\nof \u003ccode\u003esession\u003c/code\u003e is correct. :issue:\u003ccode\u003e5786\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. :issue:\u003ccode\u003e5776\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-05-13\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via\n\u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. :ghsa:\u003ccode\u003e4grg-w6v8-c28g\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. :issue:\u003ccode\u003e5645\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loads the app and plugins first to make sure all commands\nare shown. :issue:\u003ccode\u003e5673\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eMark sans-io base class as being able to handle views that return\n\u003ccode\u003eAsyncIterable\u003c/code\u003e. This is not accurate for Flask, but makes typing easier\nfor Quart. :pr:\u003ccode\u003e5659\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.0\u003c/h2\u003e\n\u003cp\u003eReleased 2024-11-13\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. :pr:\u003ccode\u003e5623\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUpdate minimum dependency versions to latest feature releases.\nWerkzeug \u0026gt;= 3.1, ItsDangerous \u0026gt;= 2.2, Blinker \u0026gt;= 1.9. :pr:\u003ccode\u003e5624,5633\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eProvide a configuration option to control automatic option\nresponses. :pr:\u003ccode\u003e5496\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFlask.open_resource\u003c/code\u003e/\u003ccode\u003eopen_instance_resource\u003c/code\u003e and\n\u003ccode\u003eBlueprint.open_resource\u003c/code\u003e take an \u003ccode\u003eencoding\u003c/code\u003e parameter to use when\nopening in text mode. It defaults to \u003ccode\u003eutf-8\u003c/code\u003e. :issue:\u003ccode\u003e5504\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.max_content_length\u003c/code\u003e can be customized per-request instead of only\nthrough the \u003ccode\u003eMAX_CONTENT_LENGTH\u003c/code\u003e config. Added\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/22d924701a6ae2e4cd01e9a15bbaf3946094af65\"\u003e\u003ccode\u003e22d9247\u003c/code\u003e\u003c/a\u003e release version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/089cb86dd22bff589a4eafb7ab8e42dc357623b4\"\u003e\u003ccode\u003e089cb86\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/c17f379390731543eea33a570a47bd4ef76a54fa\"\u003e\u003ccode\u003ec17f379\u003c/code\u003e\u003c/a\u003e request context tracks session access\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/27be9338405382445a7cb01151e084559b98d602\"\u003e\u003ccode\u003e27be933\u003c/code\u003e\u003c/a\u003e start version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4e652d3f68b90d50aa2301d3b7e68c3fafd9251d\"\u003e\u003ccode\u003e4e652d3\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5903\"\u003e#5903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/3d03098a97ddc6a908aa4a50c2ef7381f8297d0a\"\u003e\u003ccode\u003e3d03098\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/407eb76b27884848383a37c7274654f0271e4bc4\"\u003e\u003ccode\u003e407eb76\u003c/code\u003e\u003c/a\u003e document using gevent for async (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5900\"\u003e#5900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/ac5664d2281533eacafd64f5cc7d5edcdaccab60\"\u003e\u003ccode\u003eac5664d\u003c/code\u003e\u003c/a\u003e document using gevent for async\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4f79d5b59a56bc4356a97f2e81a35f98cb18d7b3\"\u003e\u003ccode\u003e4f79d5b\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11 (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5865\"\u003e#5865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/fe3b215d3ade4db68262dae1a3cdc464a1fc524f\"\u003e\u003ccode\u003efe3b215\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/flask/compare/2.2.5...3.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `werkzeug` from 3.0.6 to 3.1.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/werkzeug/releases\"\u003ewerkzeug's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.6\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.6 security fix release, which fixes a security issue but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Werkzeug/3.1.6/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.6/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/page/changes/#version-3-1-6\"\u003ehttps://werkzeug.palletsprojects.com/page/changes/#version-3-1-6\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow special devices names in multi-segment paths. \u003ca href=\"https://github.com/pallets/werkzeug/security/advisories/GHSA-29vq-49wr-vm6x\"\u003eGHSA-29vq-49wr-vm6x\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.5\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.5 security fix release, which fixes security issues and 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/Werkzeug/3.1.5/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.5/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/page/changes/#version-3-1-5\"\u003ehttps://werkzeug.palletsprojects.com/page/changes/#version-3-1-5\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/werkzeug/milestone/43?closed=1\"\u003ehttps://github.com/pallets/werkzeug/milestone/43?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow more special device names, regardless of extension or surrounding spaces. \u003ca href=\"https://github.com/pallets/werkzeug/security/advisories/GHSA-87hc-h4r5-73f7\"\u003eGHSA-87hc-h4r5-73f7\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe multipart form parser handles a \u003ccode\u003e\\r\\n\u003c/code\u003e sequence at a chunk boundary. This fixes the previous attempt, which caused incorrect content lengths. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3065\"\u003e#3065\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3077\"\u003e#3077\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eAttributeError\u003c/code\u003e when initializing \u003ccode\u003eDebuggedApplication\u003c/code\u003e with \u003ccode\u003epin_security=False\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3075\"\u003e#3075\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.4\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.4 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/Werkzeug/3.1.4/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.4/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/page/changes/#version-3-1-4\"\u003ehttps://werkzeug.palletsprojects.com/page/changes/#version-3-1-4\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/werkzeug/milestone/42?closed=1\"\u003ehttps://github.com/pallets/werkzeug/milestone/42?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esafe_join\u003c/code\u003e on Windows does not allow special device names. This prevents reading from these when using \u003ccode\u003esend_from_directory\u003c/code\u003e. \u003ccode\u003esecure_filename\u003c/code\u003e already prevented writing to these. \u003ca href=\"https://github.com/pallets/werkzeug/security/advisories/GHSA-hgf8-39gv-g3f2\"\u003eghsa-hgf8-39gv-g3f2\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe debugger pin fails after 10 attempts instead of 11. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3020\"\u003e#3020\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe multipart form parser handles a \u003ccode\u003e\\r\\n\u003c/code\u003e sequence at a chunk boundary. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3065\"\u003e#3065\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove CPU usage during Watchdog reloader. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3054\"\u003e#3054\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.json\u003c/code\u003e annotation is more accurate. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3067\"\u003e#3067\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTraceback rendering handles when the line number is beyond the available source lines. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3044\"\u003e#3044\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eHTTPException.get_response\u003c/code\u003e annotation and doc better conveys the distinction between WSGI and sans-IO responses. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/3056\"\u003e#3056\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.3\u003c/h2\u003e\n\u003cp\u003eThis is the Werkzeug 3.1.3 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes vs 3.1.0.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Werkzeug/3.1.3/\"\u003ehttps://pypi.org/project/Werkzeug/3.1.3/\u003c/a\u003e\nChanges: \u003ca href=\"https://werkzeug.palletsprojects.com/en/stable/changes/#version-3-1-3\"\u003ehttps://werkzeug.palletsprojects.com/en/stable/changes/#version-3-1-3\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/werkzeug/milestone/41?closed=1\"\u003ehttps://github.com/pallets/werkzeug/milestone/41?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eInitial data passed to \u003ccode\u003eMultiDict\u003c/code\u003e and similar interfaces only accepts \u003ccode\u003elist\u003c/code\u003e, \u003ccode\u003etuple\u003c/code\u003e, or \u003ccode\u003eset\u003c/code\u003e when passing multiple values. It had been changed to accept any \u003ccode\u003eCollection\u003c/code\u003e, but this matched types that should be treated as single values, such as \u003ccode\u003ebytes\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/werkzeug/issues/2994\"\u003e#2994\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen the \u003ccode\u003eHost\u003c/code\u003e header is not set and \u003ccode\u003eRequest.host\u003c/code\u003e falls back to the WSGI \u003ccode\u003eS...\n\n_Description has been truncated_","html_url":"https://github.com/adil-faiyaz98/python-docs-samples/pull/6","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/adil-faiyaz98%2Fpython-docs-samples/issues/6","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/6/packages"}},{"old_version":"3.1.1","new_version":"3.2.0b1","update_type":"minor","path":null,"pr_created_at":"2026-03-12T20:31:42.000Z","version_change":"3.1.1 → 3.2.0b1","issue":{"uuid":"4067089918","node_id":"PR_kwDOQE0kNc7KKUI8","number":162,"state":"closed","title":"chore(deps): bump the pip group across 4 directories with 3 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-03-12T20:32:00.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-12T20:31:42.000Z","updated_at":"2026-03-12T20:33:36.000Z","time_to_close":18,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"pip","update_count":3,"packages":[{"name":"python-multipart","old_version":"0.0.9","new_version":"0.0.22","repository_url":"https://github.com/Kludex/python-multipart"},{"name":"black","old_version":"24.3.0","new_version":"26.3.1","repository_url":"https://github.com/psf/black"},{"name":"black","old_version":"24.3.0","new_version":"26.3.1","repository_url":"https://github.com/psf/black"},{"name":"black","old_version":"24.3.0","new_version":"26.3.1","repository_url":"https://github.com/psf/black"},{"name":"apache-airflow","old_version":"3.1.1","new_version":"3.2.0b1","repository_url":"https://github.com/apache/airflow"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pip group with 1 update in the /master-ia/Modulo 4 - Infraestructura y Cloud/Clase 8 - Proyecto Final directory: [python-multipart](https://github.com/Kludex/python-multipart).\nBumps the pip group with 1 update in the /modulo-02-sql/tema-2-sql-intermedio/04-proyecto-practico directory: [black](https://github.com/psf/black).\nBumps the pip group with 1 update in the /modulo-04-apis-scraping/tema-2-web-scraping/04-proyecto-practico directory: [black](https://github.com/psf/black).\nBumps the pip group with 2 updates in the /modulo-06-airflow/tema-2-intermedio/proyecto-practico directory: [black](https://github.com/psf/black) and [apache-airflow](https://github.com/apache/airflow).\n\nUpdates `python-multipart` from 0.0.9 to 0.0.22\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kludex/python-multipart/releases\"\u003epython-multipart's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0.0.22\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop directory path from filename in \u003ccode\u003eFile\u003c/code\u003e \u003ca href=\"https://github.com/Kludex/python-multipart/commit/9433f4bbc9652bdde82bbe380984e32f8cfc89c4\"\u003e9433f4b\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/python-multipart/compare/0.0.21...0.0.22\"\u003ehttps://github.com/Kludex/python-multipart/compare/0.0.21...0.0.22\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.0.21\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14 and drop EOL 3.8 and 3.9 by \u003ca href=\"https://github.com/hugovk\"\u003e\u003ccode\u003e@​hugovk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/216\"\u003eKludex/python-multipart#216\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/waketzheng\"\u003e\u003ccode\u003e@​waketzheng\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/203\"\u003eKludex/python-multipart#203\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/python-multipart/compare/0.0.20...0.0.21\"\u003ehttps://github.com/Kludex/python-multipart/compare/0.0.20...0.0.21\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.0.20\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHandle messages containing only end boundary, fixes \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/38\"\u003e#38\u003c/a\u003e by \u003ca href=\"https://github.com/jhnstrk\"\u003e\u003ccode\u003e@​jhnstrk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/142\"\u003eKludex/python-multipart#142\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/Mr-Sunglasses\"\u003e\u003ccode\u003e@​Mr-Sunglasses\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/185\"\u003eKludex/python-multipart#185\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/python-multipart/compare/0.0.19...0.0.20\"\u003ehttps://github.com/Kludex/python-multipart/compare/0.0.19...0.0.20\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.0.19\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDon't warn when CRLF is found after last boundary by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/193\"\u003eKludex/python-multipart#193\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/python-multipart/compare/0.0.18...0.0.19\"\u003ehttps://github.com/Kludex/python-multipart/compare/0.0.18...0.0.19\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.0.18\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHard break if found data after last boundary on \u003ccode\u003eMultipartParser\u003c/code\u003e by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/189\"\u003eKludex/python-multipart#189\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/python-multipart/compare/0.0.17...0.0.18\"\u003ehttps://github.com/Kludex/python-multipart/compare/0.0.17...0.0.18\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.0.17\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHandle PermissionError in fallback code for old import name by \u003ca href=\"https://github.com/defnull\"\u003e\u003ccode\u003e@​defnull\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/182\"\u003eKludex/python-multipart#182\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kludex/python-multipart/blob/master/CHANGELOG.md\"\u003epython-multipart's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.22 (2026-01-25)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop directory path from filename in \u003ccode\u003eFile\u003c/code\u003e \u003ca href=\"https://github.com/Kludex/python-multipart/commit/9433f4bbc9652bdde82bbe380984e32f8cfc89c4\"\u003e9433f4b\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.21 (2025-12-17)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14 and drop EOL 3.8 and 3.9 \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/216\"\u003e#216\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.20 (2024-12-16)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHandle messages containing only end boundary \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/142\"\u003e#142\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.19 (2024-11-30)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDon't warn when CRLF is found after last boundary on \u003ccode\u003eMultipartParser\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/193\"\u003e#193\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.18 (2024-11-28)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHard break if found data after last boundary on \u003ccode\u003eMultipartParser\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/189\"\u003e#189\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.17 (2024-10-31)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHandle PermissionError in fallback code for old import name \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/182\"\u003e#182\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.16 (2024-10-27)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd dunder attributes to \u003ccode\u003emultipart\u003c/code\u003e package \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/177\"\u003e#177\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.15 (2024-10-27)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReplace \u003ccode\u003eFutureWarning\u003c/code\u003e to \u003ccode\u003ePendingDeprecationWarning\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/174\"\u003e#174\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdd missing files to SDist \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/171\"\u003e#171\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.14 (2024-10-24)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix import scheme for \u003ccode\u003emultipart\u003c/code\u003e module (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/168\"\u003e#168\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.13 (2024-10-20)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRename import to \u003ccode\u003epython_multipart\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/166\"\u003e#166\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.12 (2024-09-29)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImprove error message when boundary character does not match \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/124\"\u003e#124\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdd mypy strict typing \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/140\"\u003e#140\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eEnforce 100% coverage \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/159\"\u003e#159\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.11 (2024-09-28)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImprove performance, especially in data with many CR-LF \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/137\"\u003e#137\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/Kludex/python-multipart/commit/bea7bbb2904da8ce39123a845088dc72464eaddf\"\u003e\u003ccode\u003ebea7bbb\u003c/code\u003e\u003c/a\u003e Version 0.0.22 (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/222\"\u003e#222\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/0fb59a9df0f273bfde99740b302ccb2ae45e2b8a\"\u003e\u003ccode\u003e0fb59a9\u003c/code\u003e\u003c/a\u003e chore: add return type on test (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/221\"\u003e#221\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/9433f4bbc9652bdde82bbe380984e32f8cfc89c4\"\u003e\u003ccode\u003e9433f4b\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/d5c91ecb0aa1cae03fe2d9811d193c952e714f17\"\u003e\u003ccode\u003ed5c91ec\u003c/code\u003e\u003c/a\u003e Bump the github-actions group with 2 updates (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/219\"\u003e#219\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/5a90631b484f8d3284b691d453c24be3db57f5cb\"\u003e\u003ccode\u003e5a90631\u003c/code\u003e\u003c/a\u003e bump uv (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/218\"\u003e#218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/1f72955602445706b5517a6f58a720796ad3d96a\"\u003e\u003ccode\u003e1f72955\u003c/code\u003e\u003c/a\u003e Version 0.0.21 (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/217\"\u003e#217\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/47ecfed3533ed8dcafd800508dbf594438fd0949\"\u003e\u003ccode\u003e47ecfed\u003c/code\u003e\u003c/a\u003e Add support for Python 3.14 and drop EOL 3.8 and 3.9 (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/216\"\u003e#216\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/f18b70941b727c947f7e6b17e1c3321f5ad3afb6\"\u003e\u003ccode\u003ef18b709\u003c/code\u003e\u003c/a\u003e Bump the github-actions group across 1 directory with 4 updates (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/214\"\u003e#214\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/b388e9a7a82605cc8613798926afe8f6074cb372\"\u003e\u003ccode\u003eb388e9a\u003c/code\u003e\u003c/a\u003e chore: use depedency-groups in \u003ccode\u003epyproject.toml\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/212\"\u003e#212\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/6113e750971918a51f79c3bb2585e95ed1c53245\"\u003e\u003ccode\u003e6113e75\u003c/code\u003e\u003c/a\u003e Bump the github-actions group across 1 directory with 3 updates (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/210\"\u003e#210\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kludex/python-multipart/compare/0.0.9...0.0.22\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `black` from 24.3.0 to 26.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/black/releases\"\u003eblack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.3.1\u003c/h2\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent Jupyter notebook magic masking collisions from corrupting cells by using\nexact-length placeholders for short magics and aborting if a placeholder can no longer\nbe unmasked safely (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eConfiguration\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAlways hash cache filename components derived from \u003ccode\u003e--python-cell-magics\u003c/code\u003e so custom\nmagic names cannot affect cache paths (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003cem\u003eBlackd\u003c/em\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDisable browser-originated requests by default, add configurable origin allowlisting\nand request body limits, and bound executor submissions to improve backpressure\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/5039\"\u003e#5039\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e26.3.0\u003c/h2\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't double-decode input, causing non-UTF-8 files to be corrupted (\u003ca href=\"https://redirect.github.com/psf/black/issues/4964\"\u003e#4964\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on standalone comment in lambda default arguments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4993\"\u003e#4993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve parentheses when \u003ccode\u003e# type: ignore\u003c/code\u003e comments would be merged with other\ncomments on the same line, preventing AST equivalence failures (\u003ca href=\"https://redirect.github.com/psf/black/issues/4888\"\u003e#4888\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix bug where \u003ccode\u003eif\u003c/code\u003e guards in \u003ccode\u003ecase\u003c/code\u003e blocks were incorrectly split when the pattern had\na trailing comma (\u003ca href=\"https://redirect.github.com/psf/black/issues/4884\"\u003e#4884\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003estring_processing\u003c/code\u003e crashing on unassigned long string literals with trailing\ncommas (one-item tuples) (\u003ca href=\"https://redirect.github.com/psf/black/issues/4929\"\u003e#4929\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplify implementation of the power operator \u0026quot;hugging\u0026quot; logic (\u003ca href=\"https://redirect.github.com/psf/black/issues/4918\"\u003e#4918\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePackaging\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix shutdown errors in PyInstaller builds on macOS by disabling multiprocessing in\nfrozen environments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4930\"\u003e#4930\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce winloop for windows as an alternative to uvloop (\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove deprecated function \u003ccode\u003euvloop.install()\u003c/code\u003e in favor of \u003ccode\u003euvloop.new_event_loop()\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRename \u003ccode\u003emaybe_install_uvloop\u003c/code\u003e function to \u003ccode\u003emaybe_use_uvloop\u003c/code\u003e to simplify loop\ninstallation and creation of either a uvloop/winloop evenloop or default eventloop\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOutput\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/black/blob/main/CHANGES.md\"\u003eblack's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.3.1\u003c/h2\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent Jupyter notebook magic masking collisions from corrupting cells by using\nexact-length placeholders for short magics and aborting if a placeholder can no longer\nbe unmasked safely (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eConfiguration\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAlways hash cache filename components derived from \u003ccode\u003e--python-cell-magics\u003c/code\u003e so custom\nmagic names cannot affect cache paths (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003cem\u003eBlackd\u003c/em\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDisable browser-originated requests by default, add configurable origin allowlisting\nand request body limits, and bound executor submissions to improve backpressure\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/5039\"\u003e#5039\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e26.3.0\u003c/h2\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't double-decode input, causing non-UTF-8 files to be corrupted (\u003ca href=\"https://redirect.github.com/psf/black/issues/4964\"\u003e#4964\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on standalone comment in lambda default arguments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4993\"\u003e#4993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve parentheses when \u003ccode\u003e# type: ignore\u003c/code\u003e comments would be merged with other\ncomments on the same line, preventing AST equivalence failures (\u003ca href=\"https://redirect.github.com/psf/black/issues/4888\"\u003e#4888\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix bug where \u003ccode\u003eif\u003c/code\u003e guards in \u003ccode\u003ecase\u003c/code\u003e blocks were incorrectly split when the pattern had\na trailing comma (\u003ca href=\"https://redirect.github.com/psf/black/issues/4884\"\u003e#4884\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003estring_processing\u003c/code\u003e crashing on unassigned long string literals with trailing\ncommas (one-item tuples) (\u003ca href=\"https://redirect.github.com/psf/black/issues/4929\"\u003e#4929\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplify implementation of the power operator \u0026quot;hugging\u0026quot; logic (\u003ca href=\"https://redirect.github.com/psf/black/issues/4918\"\u003e#4918\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePackaging\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix shutdown errors in PyInstaller builds on macOS by disabling multiprocessing in\nfrozen environments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4930\"\u003e#4930\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce winloop for windows as an alternative to uvloop (\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove deprecated function \u003ccode\u003euvloop.install()\u003c/code\u003e in favor of \u003ccode\u003euvloop.new_event_loop()\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRename \u003ccode\u003emaybe_install_uvloop\u003c/code\u003e function to \u003ccode\u003emaybe_use_uvloop\u003c/code\u003e to simplify loop\ninstallation and creation of either a uvloop/winloop evenloop or default eventloop\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/c6755bb741b6481d6b3d3bb563c83fa060db96c9\"\u003e\u003ccode\u003ec6755bb\u003c/code\u003e\u003c/a\u003e Prepare release 26.3.1 (\u003ca href=\"https://redirect.github.com/psf/black/issues/5046\"\u003e#5046\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/69973fd6950985fbeb1090d96da717dc4d8380b0\"\u003e\u003ccode\u003e69973fd\u003c/code\u003e\u003c/a\u003e Harden blackd browser-facing request handling (\u003ca href=\"https://redirect.github.com/psf/black/issues/5039\"\u003e#5039\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/4937fe6cf241139ddbfc16b0bdbb5b422798909d\"\u003e\u003ccode\u003e4937fe6\u003c/code\u003e\u003c/a\u003e Fix some shenanigans with the cache file and IPython (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/2e641d174469c505d5ae905e75d4c769597e681f\"\u003e\u003ccode\u003e2e641d1\u003c/code\u003e\u003c/a\u003e docs: remove outdated Black Playground references (\u003ca href=\"https://redirect.github.com/psf/black/issues/5044\"\u003e#5044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/c014b22a2d5e0632587b47b81151658bddfa0b88\"\u003e\u003ccode\u003ec014b22\u003c/code\u003e\u003c/a\u003e Remove unused internal code (\u003ca href=\"https://redirect.github.com/psf/black/issues/5041\"\u003e#5041\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/0dae20b2d009f2f03de8696d06b0c947d3abafc9\"\u003e\u003ccode\u003e0dae20b\u003c/code\u003e\u003c/a\u003e Add new changelog (\u003ca href=\"https://redirect.github.com/psf/black/issues/5036\"\u003e#5036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/c5c1cbddd92cecb554ac2a77a24139dd76831030\"\u003e\u003ccode\u003ec5c1cbd\u003c/code\u003e\u003c/a\u003e Minor release patches (\u003ca href=\"https://redirect.github.com/psf/black/issues/5035\"\u003e#5035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/7e5a828c37d71b6a6666e28eed444816def6a8f4\"\u003e\u003ccode\u003e7e5a828\u003c/code\u003e\u003c/a\u003e docs: clarify relationship between Black style and PEP 8 (\u003ca href=\"https://redirect.github.com/psf/black/issues/5025\"\u003e#5025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/69705deb8776e7c5e585668da106d1abe2cb8d77\"\u003e\u003ccode\u003e69705de\u003c/code\u003e\u003c/a\u003e docs: add clearer pyproject configuration guidance (\u003ca href=\"https://redirect.github.com/psf/black/issues/5026\"\u003e#5026\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/35ea67920b7f6ac8e09be1c47278752b1e827f76\"\u003e\u003ccode\u003e35ea679\u003c/code\u003e\u003c/a\u003e Prepare release 26.3.0 (\u003ca href=\"https://redirect.github.com/psf/black/issues/5032\"\u003e#5032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/black/compare/24.3.0...26.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `black` from 24.3.0 to 26.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/black/releases\"\u003eblack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.3.1\u003c/h2\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent Jupyter notebook magic masking collisions from corrupting cells by using\nexact-length placeholders for short magics and aborting if a placeholder can no longer\nbe unmasked safely (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eConfiguration\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAlways hash cache filename components derived from \u003ccode\u003e--python-cell-magics\u003c/code\u003e so custom\nmagic names cannot affect cache paths (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003cem\u003eBlackd\u003c/em\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDisable browser-originated requests by default, add configurable origin allowlisting\nand request body limits, and bound executor submissions to improve backpressure\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/5039\"\u003e#5039\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e26.3.0\u003c/h2\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't double-decode input, causing non-UTF-8 files to be corrupted (\u003ca href=\"https://redirect.github.com/psf/black/issues/4964\"\u003e#4964\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on standalone comment in lambda default arguments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4993\"\u003e#4993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve parentheses when \u003ccode\u003e# type: ignore\u003c/code\u003e comments would be merged with other\ncomments on the same line, preventing AST equivalence failures (\u003ca href=\"https://redirect.github.com/psf/black/issues/4888\"\u003e#4888\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix bug where \u003ccode\u003eif\u003c/code\u003e guards in \u003ccode\u003ecase\u003c/code\u003e blocks were incorrectly split when the pattern had\na trailing comma (\u003ca href=\"https://redirect.github.com/psf/black/issues/4884\"\u003e#4884\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003estring_processing\u003c/code\u003e crashing on unassigned long string literals with trailing\ncommas (one-item tuples) (\u003ca href=\"https://redirect.github.com/psf/black/issues/4929\"\u003e#4929\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplify implementation of the power operator \u0026quot;hugging\u0026quot; logic (\u003ca href=\"https://redirect.github.com/psf/black/issues/4918\"\u003e#4918\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePackaging\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix shutdown errors in PyInstaller builds on macOS by disabling multiprocessing in\nfrozen environments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4930\"\u003e#4930\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce winloop for windows as an alternative to uvloop (\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove deprecated function \u003ccode\u003euvloop.install()\u003c/code\u003e in favor of \u003ccode\u003euvloop.new_event_loop()\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRename \u003ccode\u003emaybe_install_uvloop\u003c/code\u003e function to \u003ccode\u003emaybe_use_uvloop\u003c/code\u003e to simplify loop\ninstallation and creation of either a uvloop/winloop evenloop or default eventloop\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOutput\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/black/blob/main/CHANGES.md\"\u003eblack's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.3.1\u003c/h2\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent Jupyter notebook magic masking collisions from corrupting cells by using\nexact-length placeholders for short magics and aborting if a placeholder can no longer\nbe unmasked safely (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eConfiguration\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAlways hash cache filename components derived from \u003ccode\u003e--python-cell-magics\u003c/code\u003e so custom\nmagic names cannot affect cache paths (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003cem\u003eBlackd\u003c/em\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDisable browser-originated requests by default, add configurable origin allowlisting\nand request body limits, and bound executor submissions to improve backpressure\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/5039\"\u003e#5039\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e26.3.0\u003c/h2\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't double-decode input, causing non-UTF-8 files to be corrupted (\u003ca href=\"https://redirect.github.com/psf/black/issues/4964\"\u003e#4964\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on standalone comment in lambda default arguments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4993\"\u003e#4993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve parentheses when \u003ccode\u003e# type: ignore\u003c/code\u003e comments would be merged with other\ncomments on the same line, preventing AST equivalence failures (\u003ca href=\"https://redirect.github.com/psf/black/issues/4888\"\u003e#4888\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix bug where \u003ccode\u003eif\u003c/code\u003e guards in \u003ccode\u003ecase\u003c/code\u003e blocks were incorrectly split when the pattern had\na trailing comma (\u003ca href=\"https://redirect.github.com/psf/black/issues/4884\"\u003e#4884\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003estring_processing\u003c/code\u003e crashing on unassigned long string literals with trailing\ncommas (one-item tuples) (\u003ca href=\"https://redirect.github.com/psf/black/issues/4929\"\u003e#4929\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplify implementation of the power operator \u0026quot;hugging\u0026quot; logic (\u003ca href=\"https://redirect.github.com/psf/black/issues/4918\"\u003e#4918\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePackaging\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix shutdown errors in PyInstaller builds on macOS by disabling multiprocessing in\nfrozen environments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4930\"\u003e#4930\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce winloop for windows as an alternative to uvloop (\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove deprecated function \u003ccode\u003euvloop.install()\u003c/code\u003e in favor of \u003ccode\u003euvloop.new_event_loop()\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRename \u003ccode\u003emaybe_install_uvloop\u003c/code\u003e function to \u003ccode\u003emaybe_use_uvloop\u003c/code\u003e to simplify loop\ninstallation and creation of either a uvloop/winloop evenloop or default eventloop\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/c6755bb741b6481d6b3d3bb563c83fa060db96c9\"\u003e\u003ccode\u003ec6755bb\u003c/code\u003e\u003c/a\u003e Prepare release 26.3.1 (\u003ca href=\"https://redirect.github.com/psf/black/issues/5046\"\u003e#5046\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/69973fd6950985fbeb1090d96da717dc4d8380b0\"\u003e\u003ccode\u003e69973fd\u003c/code\u003e\u003c/a\u003e Harden blackd browser-facing request handling (\u003ca href=\"https://redirect.github.com/psf/black/issues/5039\"\u003e#5039\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/4937fe6cf241139ddbfc16b0bdbb5b422798909d\"\u003e\u003ccode\u003e4937fe6\u003c/code\u003e\u003c/a\u003e Fix some shenanigans with the cache file and IPython (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/2e641d174469c505d5ae905e75d4c769597e681f\"\u003e\u003ccode\u003e2e641d1\u003c/code\u003e\u003c/a\u003e docs: remove outdated Black Playground references (\u003ca href=\"https://redirect.github.com/psf/black/issues/5044\"\u003e#5044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/c014b22a2d5e0632587b47b81151658bddfa0b88\"\u003e\u003ccode\u003ec014b22\u003c/code\u003e\u003c/a\u003e Remove unused internal code (\u003ca href=\"https://redirect.github.com/psf/black/issues/5041\"\u003e#5041\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/0dae20b2d009f2f03de8696d06b0c947d3abafc9\"\u003e\u003ccode\u003e0dae20b\u003c/code\u003e\u003c/a\u003e Add new changelog (\u003ca href=\"https://redirect.github.com/psf/black/issues/5036\"\u003e#5036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/c5c1cbddd92cecb554ac2a77a24139dd76831030\"\u003e\u003ccode\u003ec5c1cbd\u003c/code\u003e\u003c/a\u003e Minor release patches (\u003ca href=\"https://redirect.github.com/psf/black/issues/5035\"\u003e#5035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/7e5a828c37d71b6a6666e28eed444816def6a8f4\"\u003e\u003ccode\u003e7e5a828\u003c/code\u003e\u003c/a\u003e docs: clarify relationship between Black style and PEP 8 (\u003ca href=\"https://redirect.github.com/psf/black/issues/5025\"\u003e#5025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/69705deb8776e7c5e585668da106d1abe2cb8d77\"\u003e\u003ccode\u003e69705de\u003c/code\u003e\u003c/a\u003e docs: add clearer pyproject configuration guidance (\u003ca href=\"https://redirect.github.com/psf/black/issues/5026\"\u003e#5026\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/35ea67920b7f6ac8e09be1c47278752b1e827f76\"\u003e\u003ccode\u003e35ea679\u003c/code\u003e\u003c/a\u003e Prepare release 26.3.0 (\u003ca href=\"https://redirect.github.com/psf/black/issues/5032\"\u003e#5032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/black/compare/24.3.0...26.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `black` from 24.3.0 to 26.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/black/releases\"\u003eblack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.3.1\u003c/h2\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent Jupyter notebook magic masking collisions from corrupting cells by using\nexact-length placeholders for short magics and aborting if a placeholder can no longer\nbe unmasked safely (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eConfiguration\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAlways hash cache filename components derived from \u003ccode\u003e--python-cell-magics\u003c/code\u003e so custom\nmagic names cannot affect cache paths (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003cem\u003eBlackd\u003c/em\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDisable browser-originated requests by default, add configurable origin allowlisting\nand request body limits, and bound executor submissions to improve backpressure\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/5039\"\u003e#5039\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e26.3.0\u003c/h2\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't double-decode input, causing non-UTF-8 files to be corrupted (\u003ca href=\"https://redirect.github.com/psf/black/issues/4964\"\u003e#4964\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on standalone comment in lambda default arguments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4993\"\u003e#4993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve parentheses when \u003ccode\u003e# type: ignore\u003c/code\u003e comments would be merged with other\ncomments on the same line, preventing AST equivalence failures (\u003ca href=\"https://redirect.github.com/psf/black/issues/4888\"\u003e#4888\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix bug where \u003ccode\u003eif\u003c/code\u003e guards in \u003ccode\u003ecase\u003c/code\u003e blocks were incorrectly split when the pattern had\na trailing comma (\u003ca href=\"https://redirect.github.com/psf/black/issues/4884\"\u003e#4884\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003estring_processing\u003c/code\u003e crashing on unassigned long string literals with trailing\ncommas (one-item tuples) (\u003ca href=\"https://redirect.github.com/psf/black/issues/4929\"\u003e#4929\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplify implementation of the power operator \u0026quot;hugging\u0026quot; logic (\u003ca href=\"https://redirect.github.com/psf/black/issues/4918\"\u003e#4918\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePackaging\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix shutdown errors in PyInstaller builds on macOS by disabling multiprocessing in\nfrozen environments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4930\"\u003e#4930\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce winloop for windows as an alternative to uvloop (\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove deprecated function \u003ccode\u003euvloop.install()\u003c/code\u003e in favor of \u003ccode\u003euvloop.new_event_loop()\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRename \u003ccode\u003emaybe_install_uvloop\u003c/code\u003e function to \u003ccode\u003emaybe_use_uvloop\u003c/code\u003e to simplify loop\ninstallation and creation of either a uvloop/winloop evenloop or default eventloop\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOutput\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/black/blob/main/CHANGES.md\"\u003eblack's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.3.1\u003c/h2\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent Jupyter notebook magic masking collisions from corrupting cells by using\nexact-length placeholders for short magics and aborting if a placeholder can no longer\nbe unmasked safely (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eConfiguration\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAlways hash cache filename components derived from \u003ccode\u003e--python-cell-magics\u003c/code\u003e so custom\nmagic names cannot affect cache paths (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003cem\u003eBlackd\u003c/em\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDisable browser-originated requests by default, add configurable origin allowlisting\nand request body limits, and bound executor submissions to improve backpressure\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/5039\"\u003e#5039\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e26.3.0\u003c/h2\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't double-decode input, causing non-UTF-8 files to be corrupted (\u003ca href=\"https://redirect.github.com/psf/black/issues/4964\"\u003e#4964\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on standalone comment in lambda default arguments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4993\"\u003e#4993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve parentheses when \u003ccode\u003e# type: ignore\u003c/code\u003e comments would be merged with other\ncomments on the same line, preventing AST equivalence failures (\u003ca href=\"https://redirect.github.com/psf/black/issues/4888\"\u003e#4888\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix bug where \u003ccode\u003eif\u003c/code\u003e guards in \u003ccode\u003ecase\u003c/code\u003e blocks were incorrectly split when the pattern had\na trailing comma (\u003ca href=\"https://redirect.github.com/psf/black/issues/4884\"\u003e#4884\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003estring_processing\u003c/code\u003e crashing on unassigned long string literals with trailing\ncommas (one-item tuples) (\u003ca href=\"https://redirect.github.com/psf/black/issues/4929\"\u003e#4929\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplify implementation of the power operator \u0026quot;hugging\u0026quot; logic (\u003ca href=\"https://redirect.github.com/psf/black/issues/4918\"\u003e#4918\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePackaging\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix shutdown errors in PyInstaller builds on macOS by disabling multiprocessing in\nfrozen environments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4930\"\u003e#4930\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce winloop for windows as an alternative to uvloop (\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove deprecated function \u003ccode\u003euvloop.install()\u003c/code\u003e in favor of \u003ccode\u003euvloop.new_event_loop()\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRename \u003ccode\u003emaybe_install_uvloop\u003c/code\u003e function to \u003ccode\u003emaybe_use_uvloop\u003c/code\u003e to simplify loop\ninstallation and creation of either a uvloop/winloop evenloop or default eventloop\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4996\"\u003e#4996\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/c6755bb741b6481d6b3d3bb563c83fa060db96c9\"\u003e\u003ccode\u003ec6755bb\u003c/code\u003e\u003c/a\u003e Prepare release 26.3.1 (\u003ca href=\"https://redirect.github.com/psf/black/issues/5046\"\u003e#5046\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/69973fd6950985fbeb1090d96da717dc4d8380b0\"\u003e\u003ccode\u003e69973fd\u003c/code\u003e\u003c/a\u003e Harden blackd browser-facing request handling (\u003ca href=\"https://redirect.github.com/psf/black/issues/5039\"\u003e#5039\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/4937fe6cf241139ddbfc16b0bdbb5b422798909d\"\u003e\u003ccode\u003e4937fe6\u003c/code\u003e\u003c/a\u003e Fix some shenanigans with the cache file and IPython (\u003ca href=\"https://redirect.github.com/psf/black/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/2e641d174469c505d5ae905e75d4c769597e681f\"\u003e\u003ccode\u003e2e641d1\u003c/code\u003e\u003c/a\u003e docs: remove outdated Black Playground references (\u003ca href=\"https://redirect.github.com/psf/black/issues/5044\"\u003e#5044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/c014b22a2d5e0632587b47b81151658bddfa0b88\"\u003e\u003ccode\u003ec014b22\u003c/code\u003e\u003c/a\u003e Remove unused internal code (\u003ca href=\"https://redirect.github.com/psf/black/issues/5041\"\u003e#5041\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/0dae20b2d009f2f03de8696d06b0c947d3abafc9\"\u003e\u003ccode\u003e0dae20b\u003c/code\u003e\u003c/a\u003e Add new changelog (\u003ca href=\"https://redirect.github.com/psf/black/issues/5036\"\u003e#5036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/c5c1cbddd92cecb554ac2a77a24139dd76831030\"\u003e\u003ccode\u003ec5c1cbd\u003c/code\u003e\u003c/a\u003e Minor release patches (\u003ca href=\"https://redirect.github.com/psf/black/issues/5035\"\u003e#5035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/7e5a828c37d71b6a6666e28eed444816def6a8f4\"\u003e\u003ccode\u003e7e5a828\u003c/code\u003e\u003c/a\u003e docs: clarify relationship between Black style and PEP 8 (\u003ca href=\"https://redirect.github.com/psf/black/issues/5025\"\u003e#5025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/69705deb8776e7c5e585668da106d1abe2cb8d77\"\u003e\u003ccode\u003e69705de\u003c/code\u003e\u003c/a\u003e docs: add clearer pyproject configuration guidance (\u003ca href=\"https://redirect.github.com/psf/black/issues/5026\"\u003e#5026\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/35ea67920b7f6ac8e09be1c47278752b1e827f76\"\u003e\u003ccode\u003e35ea679\u003c/code\u003e\u003c/a\u003e Prepare release 26.3.0 (\u003ca href=\"https://redirect.github.com/psf/black/issues/5032\"\u003e#5032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/black/compare/24.3.0...26.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `apache-airflow` from 3.1.1 to 3.2.0b1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/airflow/releases\"\u003eapache-airflow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eApache Airflow 3.1.8\u003c/h2\u003e\n\u003cp\u003e:package: PyPI: \u003ca href=\"https://pypi.org/project/apache-airflow/3.1.8/\"\u003ehttps://pypi.org/project/apache-airflow/3.1.8/\u003c/a\u003e\n:books: Docs: \u003ca href=\"https://airflow.apache.org/docs/apache-airflow/3.1.8/\"\u003ehttps://airflow.apache.org/docs/apache-airflow/3.1.8/\u003c/a\u003e\n:hammer_and_wrench: Release Notes: \u003ca href=\"https://airflow.apache.org/docs/apache-airflow/3.1.8/release_notes.html\"\u003ehttps://airflow.apache.org/docs/apache-airflow/3.1.8/release_notes.html\u003c/a\u003e\n:whale: Docker Image: \u0026quot;docker pull apache/airflow:3.1.8\u0026quot;\n:busstop: Constraints: \u003ca href=\"https://github.com/apache/airflow/tree/constraints-3.1.8\"\u003ehttps://github.com/apache/airflow/tree/constraints-3.1.8\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eSignificant Changes\u003c/h2\u003e\n\u003ch3\u003eBackfill permissions are now handled via \u003ccode\u003eDagAccessEntity.Run\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61456\"\u003e#61456\u003c/a\u003e)\u003c/h3\u003e\n\u003cp\u003e\u003ccode\u003eis_authorized_backfill\u003c/code\u003e of the \u003ccode\u003eBaseAuthManager\u003c/code\u003e interface has been removed. Core will no longer call this method and their\nprovider counterpart implementation will be marked as deprecated.\nPermissions for backfill operations are now checked against the \u003ccode\u003eDagAccessEntity.Run\u003c/code\u003e permission using the existing\n\u003ccode\u003erequires_access_dag\u003c/code\u003e decorator. In other words, if a user has permission to run a DAG, they can perform backfill operations on it.\u003c/p\u003e\n\u003cp\u003ePlease update your security policies to ensure that users who need to perform backfill operations have the appropriate \u003ccode\u003eDagAccessEntity.Run\u003c/code\u003e permissions. (Users\nhaving the Backfill permissions without having the DagRun ones will no longer be able to perform backfill operations without any update)\u003c/p\u003e\n\u003ch3\u003eElasticsearch is now fully compatible with remote logging along (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62940\"\u003e#62940\u003c/a\u003e)\u003c/h3\u003e\n\u003cp\u003eElasticsearch is now fully compatible with remote logging along side with \u003ccode\u003eapache-airflow-providers-elasticsearch\u0026gt;=6.5.0\u003c/code\u003e. Please review elasticsearch provider release notes for more information \u003ca href=\"https://airflow.apache.org/docs/apache-airflow-providers-elasticsearch/6.5.0/changelog.html\"\u003ehttps://airflow.apache.org/docs/apache-airflow-providers-elasticsearch/6.5.0/changelog.html\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62121\"\u003e#62121\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62940\"\u003e#62940\u003c/a\u003e)\u003c/p\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix SQLite migration disable \u003ccode\u003edisable_sqlite_fkeys\u003c/code\u003e in revision \u003ccode\u003e509b94a1042d\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/63256\"\u003e#63256\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/63272\"\u003e#63272\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: 404 queued asset events from API server logs (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62934\"\u003e#62934\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62976\"\u003e#62976\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Always include kid in JWT header for symmetric key tokens (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62883\"\u003e#62883\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62943\"\u003e#62943\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Scope session token in cookie to base_url  (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62771\"\u003e#62771\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62851\"\u003e#62851\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: UI of Scope session token in cookie to base_url (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62771\"\u003e#62771\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62859\"\u003e#62859\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: UI tasks log missing in UP_FOR_RETRY and UP_FOR_RESCHEDULE states (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54547\"\u003e#54547\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62862\"\u003e#62862\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Backfill permissions (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62856\"\u003e#62856\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62873\"\u003e#62873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Use \u003ccode\u003euseAssetServiceGetDagAssetQueuedEvents\u003c/code\u003e to get the correct number of ADRQs (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62868\"\u003e#62868\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62902\"\u003e#62902\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Adds task instance validation for HITL (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62886\"\u003e#62886\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62909\"\u003e#62909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Restore task_instance_history sequence on downgrade (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62759\"\u003e#62759\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix broken \u003ccode\u003edag_processing.total_parse_time\u003c/code\u003e metric (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62128\"\u003e#62128\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62764\"\u003e#62764\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Trigger UI form rendering for null enum values (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62060\"\u003e#62060\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62767\"\u003e#62767\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003etimer.duration\u003c/code\u003e unit labels in logs (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61824\"\u003e#61824\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62757\"\u003e#62757\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix XCom migration failing for NaN/Infinity float values (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62686\"\u003e#62686\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62760\"\u003e#62760\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix SQL not rendered in Rendered Templates view (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60739\"\u003e#60739\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62348\"\u003e#62348\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix missing DAG read permission checks on dependencies endpoint (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62046\"\u003e#62046\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62586\"\u003e#62586\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003edag_bundle.signed_url_template\u003c/code\u003e from \u003ccode\u003evarchar(200)\u003c/code\u003e to \u003ccode\u003etext\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61041\"\u003e#61041\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62568\"\u003e#62568\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix WASB remote logging base path handling (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/58946\"\u003e#58946\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61013\"\u003e#61013\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62456\"\u003e#62456\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle non-dictionary json payload during logging to avoid internal server error. (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62355\"\u003e#62355\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62367\"\u003e#62367\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix grid view crash when task converted to TaskGroup (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61208\"\u003e#61208\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61279\"\u003e#61279\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62181\"\u003e#62181\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix running task duration showing as null in UI (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61898\"\u003e#61898\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62136\"\u003e#62136\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix deferrable sensors not respecting soft_fail on timeout (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61132\"\u003e#61132\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61421\"\u003e#61421\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix task failure details being obscured by finalization errors (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62070\"\u003e#62070\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62113\"\u003e#62113\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd missing ti.start and ti.finish metrics in Airflow 3 (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62019\"\u003e#62019\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62110\"\u003e#62110\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix DepContext mutation leak and restore reschedule-mode guard (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62089\"\u003e#62089\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix scheduler heartbeat misses caused by slow reschedule dependency check (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61983\"\u003e#61983\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62068\"\u003e#62068\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFlush in-memory OTEL metrics at process shutdown (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61808\"\u003e#61808\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61869\"\u003e#61869\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/apache/airflow/commit/7989f25ab78b7561102926b4867966271ef7e42a\"\u003e\u003ccode\u003e7989f25\u003c/code\u003e\u003c/a\u003e update release notes for 3.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/346f3329ec556755a14c0acf1d57cd172d4b3b6b\"\u003e\u003ccode\u003e346f332\u003c/code\u003e\u003c/a\u003e Add 3.2.0 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/6661a58f60e0f9f9b1fff1132b2bd257b146fede\"\u003e\u003ccode\u003e6661a58\u003c/code\u003e\u003c/a\u003e Update version to 3.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/0a82c312ed98ec38c23301a856154212dbbda8ef\"\u003e\u003ccode\u003e0a82c31\u003c/code\u003e\u003c/a\u003e updated versions in README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/21f5a375352e3b1e7295179ae97c7f7de5c99b7e\"\u003e\u003ccode\u003e21f5a37\u003c/code\u003e\u003c/a\u003e Pin Task-SDK for Airflow meta package\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/4c87c4cde01eae483d40f87ee9daa037426d00a7\"\u003e\u003ccode\u003e4c87c4c\u003c/code\u003e\u003c/a\u003e Update default branches for 3-2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/d42623e2b461fa362f2a5f7e6f2ca9a028d9e4b9\"\u003e\u003ccode\u003ed42623e\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eObjectStoragePath\u003c/code\u003e to exclude \u003ccode\u003econn_id\u003c/code\u003e from storage options passed to f...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/77c38f357c3ff7af50ceda862f837dab7a93f359\"\u003e\u003ccode\u003e77c38f3\u003c/code\u003e\u003c/a\u003e docs(asset-partition): add example Dag (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62491\"\u003e#62491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/05ea74a9429156400ca89ca913c5d838e568ef3a\"\u003e\u003ccode\u003e05ea74a\u003c/code\u003e\u003c/a\u003e Prepare provider's documentation 2026-03-03 (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62752\"\u003e#62752\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/1199dc5305ea1630b0e1f7681bdbc4daff28440b\"\u003e\u003ccode\u003e1199dc5\u003c/code\u003e\u003c/a\u003e Consolidate \u003ccode\u003eSkipMixin\u003c/code\u003e imports through \u003ccode\u003ecommon-compat\u003c/code\u003e layer (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62776\"\u003e#62776\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/airflow/compare/3.1.1...3.2.0b1\"\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\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/jarkillo/Curso-Data-Engineering/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/jarkillo/Curso-Data-Engineering/pull/162","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/jarkillo%2FCurso-Data-Engineering/issues/162","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/162/packages"}},{"old_version":"2.10.4","new_version":"3.2.0b1","update_type":"major","path":null,"pr_created_at":"2026-03-10T21:51:37.000Z","version_change":"2.10.4 → 3.2.0b1","issue":{"uuid":"4054409893","node_id":"PR_kwDORNZbBc7JhGpb","number":8,"state":"open","title":"Bump apache-airflow from 2.10.4 to 3.2.0b1","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-10T21:51:37.000Z","updated_at":"2026-03-10T21:52:02.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"apache-airflow","old_version":"2.10.4","new_version":"3.2.0b1","repository_url":"https://github.com/apache/airflow"}],"path":null,"ecosystem":"pip"},"body":"Bumps [apache-airflow](https://github.com/apache/airflow) from 2.10.4 to 3.2.0b1.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/airflow/releases\"\u003eapache-airflow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eApache Airflow 3.1.7\u003c/h2\u003e\n\u003cp\u003e📦 PyPI: \u003ca href=\"https://pypi.org/project/apache-airflow/3.1.7/\"\u003ehttps://pypi.org/project/apache-airflow/3.1.7/\u003c/a\u003e\n📚 Docs: \u003ca href=\"https://airflow.apache.org/docs/apache-airflow/3.1.7/\"\u003ehttps://airflow.apache.org/docs/apache-airflow/3.1.7/\u003c/a\u003e\n🛠 Release Notes: \u003ca href=\"https://airflow.apache.org/docs/apache-airflow/3.1.7/release_notes.html\"\u003ehttps://airflow.apache.org/docs/apache-airflow/3.1.7/release_notes.html\u003c/a\u003e\n🐳 Docker Image: \u0026quot;docker pull apache/airflow:3.1.7\u0026quot;\n🚏 Constraints: \u003ca href=\"https://github.com/apache/airflow/tree/constraints-3.1.7\"\u003ehttps://github.com/apache/airflow/tree/constraints-3.1.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eSignificant Changes\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix JWT token generation with unset issuer/audience config (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61331\"\u003e#61331\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix callback files losing priority during queue resort (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61232\"\u003e#61232\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61243\"\u003e#61243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Dag callback for versioned bundles in the processor (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60734\"\u003e#60734\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61230\"\u003e#61230\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd 404 handling for non-existent Dag (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61131\"\u003e#61131\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61225\"\u003e#61225\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd guardrail to handle Dag deserialization errors in scheduler (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61162\"\u003e#61162\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61210\"\u003e#61210\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix asset scheduling for stale Dags (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/59337\"\u003e#59337\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60022\"\u003e#60022\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61106\"\u003e#61106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix unnecessary Dag version churn when Dag file paths change (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60799\"\u003e#60799\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix missing warning when Bundle path may not be accessible to impersonated user (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60278\"\u003e#60278\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eTriggerDagRunOperator\u003c/code\u003e deferring when \u003ccode\u003ewait_for_completion=False\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60052\"\u003e#60052\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix NoneType error when updating serialized Dag (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/56422\"\u003e#56422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Pool API slots validation (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61071\"\u003e#61071\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61114\"\u003e#61114\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix DagBag parsing by adding bundle_path temporarily to sys.path (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/55894\"\u003e#55894\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61053\"\u003e#61053\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix API to respect maximum page limit (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60989\"\u003e#60989\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61073\"\u003e#61073\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent Triggerer from crashing when a trigger event isn't serializable (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60152\"\u003e#60152\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60981\"\u003e#60981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix permissions on get_event_logs endpoint (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60936\"\u003e#60936\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60958\"\u003e#60958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Dag access control for dag_id in query param (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60935\"\u003e#60935\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60959\"\u003e#60959\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix root logger to use log_level instead of hardcoded INFO level (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60784\"\u003e#60784\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60970\"\u003e#60970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Dag processor OOM by Avoid loading all TaskInstances when checking DagVersion in write_dag (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60937\"\u003e#60937\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60962\"\u003e#60962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix worker startup Dag load failures by rescheduling tasks instead of exiting (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/59604\"\u003e#59604\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60926\"\u003e#60926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix permissions check in import error APIs (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60801\"\u003e#60801\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60884\"\u003e#60884\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix refresh-token invalidation by logging out the user (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60781\"\u003e#60781\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60881\"\u003e#60881\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix connection test API to restore masked password/extra from existing connections (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/59643\"\u003e#59643\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60873\"\u003e#60873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Dag processor overhead by applying \u003ccode\u003egc.freeze\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60505\"\u003e#60505\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60845\"\u003e#60845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Dag processor crashing due to MySQL deadlock errors (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60166\"\u003e#60166\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60418\"\u003e#60418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure unique run_id across manually triggered Dags with schedules (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/59477\"\u003e#59477\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60468\"\u003e#60468\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Avoid gantt annotation error during resize (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60877\"\u003e#60877\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Fix react apps plugins router (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61206\"\u003e#61206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Reset pagination on search in all pages (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61169\"\u003e#61169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Explicitly set UI table ordering (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60609\"\u003e#60609\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61216\"\u003e#61216\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Plugins pagination fix  \u003ca href=\"https://redirect.github.com/apache/airflow/issues/61055\"\u003e#61055\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61059\"\u003e#61059\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61129\"\u003e#61129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Fix ui get dags permission endpoint for user without Dag run permissions (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60979\"\u003e#60979\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60988\"\u003e#60988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Convert Tasks Table from card to table mode (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60830\"\u003e#60830\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60874\"\u003e#60874\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Fix slow log scrolling for large task logs (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60806\"\u003e#60806\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60875\"\u003e#60875\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Grey out trigger button on API 403 (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60648\"\u003e#60648\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60777\"\u003e#60777\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Remove API error from disabling submit (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60473\"\u003e#60473\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60658\"\u003e#60658\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Added toasters for permission denied (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/57966\"\u003e#57966\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/58016\"\u003e#58016\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60646\"\u003e#60646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Move row count and display toggle into DataTable (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/57680\"\u003e#57680\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60639\"\u003e#60639\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Fix/backfill permission error handling (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60582\"\u003e#60582\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60587\"\u003e#60587\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/apache/airflow/commit/7989f25ab78b7561102926b4867966271ef7e42a\"\u003e\u003ccode\u003e7989f25\u003c/code\u003e\u003c/a\u003e update release notes for 3.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/346f3329ec556755a14c0acf1d57cd172d4b3b6b\"\u003e\u003ccode\u003e346f332\u003c/code\u003e\u003c/a\u003e Add 3.2.0 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/6661a58f60e0f9f9b1fff1132b2bd257b146fede\"\u003e\u003ccode\u003e6661a58\u003c/code\u003e\u003c/a\u003e Update version to 3.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/0a82c312ed98ec38c23301a856154212dbbda8ef\"\u003e\u003ccode\u003e0a82c31\u003c/code\u003e\u003c/a\u003e updated versions in README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/21f5a375352e3b1e7295179ae97c7f7de5c99b7e\"\u003e\u003ccode\u003e21f5a37\u003c/code\u003e\u003c/a\u003e Pin Task-SDK for Airflow meta package\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/4c87c4cde01eae483d40f87ee9daa037426d00a7\"\u003e\u003ccode\u003e4c87c4c\u003c/code\u003e\u003c/a\u003e Update default branches for 3-2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/d42623e2b461fa362f2a5f7e6f2ca9a028d9e4b9\"\u003e\u003ccode\u003ed42623e\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eObjectStoragePath\u003c/code\u003e to exclude \u003ccode\u003econn_id\u003c/code\u003e from storage options passed to f...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/77c38f357c3ff7af50ceda862f837dab7a93f359\"\u003e\u003ccode\u003e77c38f3\u003c/code\u003e\u003c/a\u003e docs(asset-partition): add example Dag (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62491\"\u003e#62491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/05ea74a9429156400ca89ca913c5d838e568ef3a\"\u003e\u003ccode\u003e05ea74a\u003c/code\u003e\u003c/a\u003e Prepare provider's documentation 2026-03-03 (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62752\"\u003e#62752\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/1199dc5305ea1630b0e1f7681bdbc4daff28440b\"\u003e\u003ccode\u003e1199dc5\u003c/code\u003e\u003c/a\u003e Consolidate \u003ccode\u003eSkipMixin\u003c/code\u003e imports through \u003ccode\u003ecommon-compat\u003c/code\u003e layer (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62776\"\u003e#62776\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/airflow/compare/2.10.4...3.2.0b1\"\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=apache-airflow\u0026package-manager=pip\u0026previous-version=2.10.4\u0026new-version=3.2.0b1)](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)\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/ericg1212/data-engineering-portfolio/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/ericg1212/data-engineering-portfolio/pull/8","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericg1212%2Fdata-engineering-portfolio/issues/8","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/8/packages"}},{"old_version":"2.9.3","new_version":"3.2.0b1","update_type":"major","path":null,"pr_created_at":"2026-03-05T05:12:41.000Z","version_change":"2.9.3 → 3.2.0b1","issue":{"uuid":"4025830606","node_id":"PR_kwDOEidmmc7IE0JN","number":4904,"state":"open","title":"chore(deps): bump the pip group across 3 directories with 10 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-05T05:12:41.000Z","updated_at":"2026-03-05T05:13:17.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"pip","update_count":10,"packages":[{"name":"protobuf","old_version":"6.32.0","new_version":"6.33.5","repository_url":"https://github.com/protocolbuffers/protobuf"},{"name":"cryptography","old_version":"41.0.7","new_version":"46.0.5","repository_url":"https://github.com/pyca/cryptography"},{"name":"google-cloud-aiplatform","old_version":"1.99.0","new_version":"1.133.0","repository_url":"https://github.com/googleapis/python-aiplatform"},{"name":"flask","old_version":"2.2.5","new_version":"3.1.3","repository_url":"https://github.com/pallets/flask"},{"name":"apache-airflow","old_version":"2.9.3","new_version":"3.2.0b1","repository_url":"https://github.com/apache/airflow"},{"name":"authlib","old_version":"1.6.0","new_version":"1.6.7","repository_url":"https://github.com/authlib/authlib"},{"name":"dbt-common","old_version":"1.29.0","new_version":"1.34.2","repository_url":"https://github.com/dbt-labs/dbt-common"},{"name":"sqlparse","old_version":"0.5.3","new_version":"0.5.4","repository_url":"https://github.com/andialbrecht/sqlparse"},{"name":"werkzeug","old_version":"2.2.3","new_version":"3.1.6","repository_url":"https://github.com/pallets/werkzeug"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pip group with 1 update in the /jobs/etl_jobs/internal/bigquery_archive_partition directory: [pyasn1](https://github.com/pyasn1/pyasn1).\nBumps the pip group with 9 updates in the /orchestration/airflow directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `6.32.0` | `6.33.5` |\n| [cryptography](https://github.com/pyca/cryptography) | `41.0.7` | `46.0.5` |\n| [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) | `1.99.0` | `1.133.0` |\n| [flask](https://github.com/pallets/flask) | `2.2.5` | `3.1.3` |\n| [apache-airflow](https://github.com/apache/airflow) | `2.9.3` | `3.2.0b1` |\n| [authlib](https://github.com/authlib/authlib) | `1.6.0` | `1.6.7` |\n| [dbt-common](https://github.com/dbt-labs/dbt-common) | `1.29.0` | `1.34.2` |\n| [sqlparse](https://github.com/andialbrecht/sqlparse) | `0.5.3` | `0.5.4` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `2.2.3` | `3.1.6` |\n\nBumps the pip group with 9 updates in the /orchestration/k8s-airflow directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `6.32.0` | `6.33.5` |\n| [cryptography](https://github.com/pyca/cryptography) | `41.0.7` | `46.0.5` |\n| [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) | `1.99.0` | `1.133.0` |\n| [flask](https://github.com/pallets/flask) | `2.2.5` | `3.1.3` |\n| [apache-airflow](https://github.com/apache/airflow) | `2.9.3` | `3.2.0b1` |\n| [authlib](https://github.com/authlib/authlib) | `1.6.0` | `1.6.7` |\n| [dbt-common](https://github.com/dbt-labs/dbt-common) | `1.29.0` | `1.34.2` |\n| [sqlparse](https://github.com/andialbrecht/sqlparse) | `0.5.3` | `0.5.4` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `2.2.3` | `3.1.6` |\n\n\nUpdates `pyasn1` from 0.6.1 to 0.6.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyasn1/pyasn1/releases\"\u003epyasn1's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 0.6.2\u003c/h2\u003e\n\u003cp\u003eIt's a minor release.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed continuation octet limits in OID/RELATIVE-OID decoder (CVE-2026-23490).\u003c/li\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eAdded SECURITY.md policy.\u003c/li\u003e\n\u003cli\u003eMigrated to pyproject.toml packaging.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eAll changes are noted in the \u003ca href=\"https://github.com/pyasn1/pyasn1/blob/master/CHANGES.rst\"\u003eCHANGELOG\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/pyasn1/pyasn1/blob/main/CHANGES.rst\"\u003epyasn1's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRevision 0.6.2, released 16-01-2026\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2026-23490 (GHSA-63vm-454h-vhhq): Fixed continuation octet limits\nin OID/RELATIVE-OID decoder (thanks to tsigouris007)\u003c/li\u003e\n\u003cli\u003eAdded support for Python 3.14\n[pr \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/97\"\u003e#97\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/pull/97\"\u003epyasn1/pyasn1#97\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded SECURITY.md policy\u003c/li\u003e\n\u003cli\u003eFixed unit tests failing due to missing code\n[issue \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/91\"\u003e#91\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/91\"\u003epyasn1/pyasn1#91\u003c/a\u003e)\n[pr \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/92\"\u003e#92\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/pull/92\"\u003epyasn1/pyasn1#92\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMigrated to pyproject.toml packaging\n[pr \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/90\"\u003e#90\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/pull/90\"\u003epyasn1/pyasn1#90\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/pyasn1/pyasn1/commit/e7356f89cf32c130d65b1a0e903fe7ecce426424\"\u003e\u003ccode\u003ee7356f8\u003c/code\u003e\u003c/a\u003e Prepare release 0.6.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/3908f144229eed4df24bd569d16e5991ace44970\"\u003e\u003ccode\u003e3908f14\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/0a7e067674b1ec558f9d233a3bc173472fe27c6c\"\u003e\u003ccode\u003e0a7e067\u003c/code\u003e\u003c/a\u003e Add support for Python 3.14 (\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/97\"\u003e#97\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/33656e986d8e2355123799e7267104ac7d8a6fb1\"\u003e\u003ccode\u003e33656e9\u003c/code\u003e\u003c/a\u003e Create Security Policy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/fa62307253f4423effac71a618e20fabaa37e22e\"\u003e\u003ccode\u003efa62307\u003c/code\u003e\u003c/a\u003e fix for issue \u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/91\"\u003e#91\u003c/a\u003e: unit tests failing due to missing code (\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/92\"\u003e#92\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/f1ed02e41c193a66741572185bab94d34f43daec\"\u003e\u003ccode\u003ef1ed02e\u003c/code\u003e\u003c/a\u003e Package pyasn1 with pyproject.toml (\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/90\"\u003e#90\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyasn1/pyasn1/commit/93c4d4f0b6af84c13517b5700104ac57fb6d3fe5\"\u003e\u003ccode\u003e93c4d4f\u003c/code\u003e\u003c/a\u003e Switch documentation user to pyasn1 (\u003ca href=\"https://redirect.github.com/pyasn1/pyasn1/issues/89\"\u003e#89\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pyasn1/pyasn1/compare/v0.6.1...v0.6.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `protobuf` from 6.32.0 to 6.33.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/protocolbuffers/protobuf/releases\"\u003eprotobuf's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eProtocol Buffers v34.0-rc1\u003c/h2\u003e\n\u003ch1\u003eAnnouncements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eThis version includes breaking changes to: C++, Objective-C, PHP, Python.\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e[Bazel] Remove deprecated ProtoInfo.transitive_imports. Use equivalent transitive_sources instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/0a5c2f6b633c1e5259f566cb42d30fe347b8aadb\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/0a5c2f6b633c1e5259f566cb42d30fe347b8aadb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Make generator headers private (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/3a2af3510f0d454dbe3e4dc281674b61c4d20b9e\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/3a2af3510f0d454dbe3e4dc281674b61c4d20b9e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Add a debug check that the target of CopyFrom is not a descendant of the source. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/7a7589823d2cfaaf7994b050e98d5d553bc9b1c1\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/7a7589823d2cfaaf7994b050e98d5d553bc9b1c1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Add [[nodiscard]] to many APIs. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/a70115f33f9af2c4b2202c800b84837e7fe0d738\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/a70115f33f9af2c4b2202c800b84837e7fe0d738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Make the arena-enabled constructors of \u003ccode\u003eRepeatedField\u003c/code\u003e, \u003ccode\u003eRepeatedPtrField\u003c/code\u003e, and \u003ccode\u003eMap\u003c/code\u003e private. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/ef890c3d0c79398c70e047fe5dd893f460ba2336\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/ef890c3d0c79398c70e047fe5dd893f460ba2336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Remove deprecated FieldDescriptor::label() in OSS. Use is_repeated() or is_required() instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/b76faa921fdd244f374c7be0bddd4050fc42c292\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/b76faa921fdd244f374c7be0bddd4050fc42c292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Removes proto2::util::MessageDifferencer::AddIgnoreCriteria that takes a raw pointer as an argument in favor of the overload that takes a unique_ptr. Remove macro PROTOBUF_FUTURE_REMOVE_ADD_IGNORE_CRITERIA (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/b115358c64127896fed88b8b5ef5d91d86d8cbae\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/b115358c64127896fed88b8b5ef5d91d86d8cbae\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Remove deprecated FieldDescriptor::has_optional_keyword() in OSS. Use is_repeated() or has_presence() instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/68346ec9348e932664e58c3ecdcd1478f95233a8\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/68346ec9348e932664e58c3ecdcd1478f95233a8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Remove AddUnusedImportTrackFile() and ClearUnusedImportTrackFiles(). Remove PROTOBUF_FUTURE_RENAME_ADD_UNUSED_IMPORT (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/837a2cd1d6c75402b2503ffe7cd8aeaf25868536\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/837a2cd1d6c75402b2503ffe7cd8aeaf25868536\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Remove deprecated FieldDescriptor::is_optional() in OSS. Use (!is_required() \u0026amp;\u0026amp; !is_repeated()) instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/9dbc5d479a8e453921485d8d3de47fb3c005f1af\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/9dbc5d479a8e453921485d8d3de47fb3c005f1af\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Remove deprecated UseDeprecatedLegacyJsonFieldConflicts() (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/c301c2ca286327a21c50c0c4cd877afc9c655b00\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/c301c2ca286327a21c50c0c4cd877afc9c655b00\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] All entity names have length limit (2afb0dc)\u003c/li\u003e\n\u003cli\u003e[ObjC] Remove \u003ccode\u003egenerate_minimal_imports\u003c/code\u003e generation option warning (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/45b1297fdaad5a9436d0e207422168c38dc45ac4\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/45b1297fdaad5a9436d0e207422168c38dc45ac4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[ObjC] Fix nullability annotations on some \u003ccode\u003eGPB*Dictionary\u003c/code\u003e types. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/ea67d6d26a48478a567c404679e3bb99cf230d50\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/ea67d6d26a48478a567c404679e3bb99cf230d50\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[ObjC] Remove \u003ccode\u003e-[GPBFieldDescriptor optional]\u003c/code\u003e (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/3414dc151eb4dcbdb2ca952e2589993bf7af75c4\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/3414dc151eb4dcbdb2ca952e2589993bf7af75c4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Other] Remove deprecated flag for enabling MSVC support (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/97c979be6e0907e1051bee62584dac4594e73fa7\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/97c979be6e0907e1051bee62584dac4594e73fa7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PHP] Remove deprecated PHP APIs (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/9c45014099a4f7004fab6dd1278de2f4f2a393c5\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/9c45014099a4f7004fab6dd1278de2f4f2a393c5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PHP] Remove deprecated PHP APIs FieldDescriptor getLabel, use IsRepeated or isRequired instead. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/42081219920c6fad17ba6ddd1e28d111bcfb3345\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/42081219920c6fad17ba6ddd1e28d111bcfb3345\u003c/a\u003e, \u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/cd76e675b14d00dda5623b30835d2bc7105fccc6\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/cd76e675b14d00dda5623b30835d2bc7105fccc6\u003c/a\u003e, \u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/42081219920c6fad17ba6ddd1e28d111bcfb3345\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/42081219920c6fad17ba6ddd1e28d111bcfb3345\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PHP]  Add PHP typehints for setters and remove redundant GPBUtil checks (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/pull/25296\"\u003eprotocolbuffers/protobuf#25296\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/aee03b78929c02461a5f9d8e136a2a016359b0cd\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/aee03b78929c02461a5f9d8e136a2a016359b0cd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PHP]  support default values for editions/proto2 (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/pull/25161\"\u003eprotocolbuffers/protobuf#25161\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/b01099d56350551bae3da88b97bf3027274c9f17\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/b01099d56350551bae3da88b97bf3027274c9f17\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Raise errors in OSS when assign bool to int/enum field in Python Proto. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/5b116fe2f14f49dd0cc3b76089983717f211025c\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/5b116fe2f14f49dd0cc3b76089983717f211025c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Remove float_format/double_format from python proto text_format (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/e4854a186e0bfa867d5bfa5cd850608a948fd488\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/e4854a186e0bfa867d5bfa5cd850608a948fd488\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Raise TypeError when convert non-timedelta to Duration, or convert non-datetime to Timestamp in python proto. (Original code may raise ArributeError) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/00aaca1b4d98954bc2933d7c8a5379ba6088124c\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/00aaca1b4d98954bc2933d7c8a5379ba6088124c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Remove float_precision from python proto json_format (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/f027f1fcd52b9d080b7ee79f4024f53cf54e0dc5\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/f027f1fcd52b9d080b7ee79f4024f53cf54e0dc5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Remove deprecated FieldDescriptor::label() in OSS. Use is_repeated() or is_required() instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/b76faa921fdd244f374c7be0bddd4050fc42c292\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/b76faa921fdd244f374c7be0bddd4050fc42c292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Remove deprecated FieldDescriptor.label (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/0a8ff55518ea5874478ad5b26515b31d186045a9\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/0a8ff55518ea5874478ad5b26515b31d186045a9\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Remove deprecated UseDeprecatedLegacyJsonFieldConflicts() (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/c301c2ca286327a21c50c0c4cd877afc9c655b00\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/c301c2ca286327a21c50c0c4cd877afc9c655b00\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://protobuf.dev/news/\"\u003eProtobuf News\u003c/a\u003e may include additional announcements or pre-announcements for upcoming changes.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://protobuf.dev/support/migration/\"\u003eMigration Guide\u003c/a\u003e may include additional guidance for breaking changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eBazel\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix: cc_toolchain should prefer protoc when prebuilt flag is flipped. (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/issues/25168\"\u003e#25168\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/8c857c3a1c6a106b0a096f1c9fa504bfaca035a9\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/8c857c3a1c6a106b0a096f1c9fa504bfaca035a9\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBreaking change: Remove deprecated ProtoInfo.transitive_imports. Use equivalent transitive_sources instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/0a5c2f6b633c1e5259f566cb42d30fe347b8aadb\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/0a5c2f6b633c1e5259f566cb42d30fe347b8aadb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFeat(bazel): wire up prebuilt protoc toolchain (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/issues/24115\"\u003e#24115\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/cc23698b486e690ea2eb873cc7596a87c74a3ba6\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/cc23698b486e690ea2eb873cc7596a87c74a3ba6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMigrate \u003ccode\u003eproto_descriptor_set\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/issues/23369\"\u003e#23369\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/8d4dfdd39a7a242a9ed631a6ab2192c57dd9b9c8\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/8d4dfdd39a7a242a9ed631a6ab2192c57dd9b9c8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eCompiler\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eRuby codegen: support generation of rbs files (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/issues/15633\"\u003e#15633\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/6ebdf851ba78728f0aa145d38454ed9a316fb08d\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/6ebdf851ba78728f0aa145d38454ed9a316fb08d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid collision name problems between a message named \u003ccode\u003eXyz\u003c/code\u003e and a direct sibling enum named \u003ccode\u003eXyzView\u003c/code\u003e (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/eba53e8f172b273d679759a72ce4250131ee3df1\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/eba53e8f172b273d679759a72ce4250131ee3df1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGeneralizing and implementing ValidateFeatureSupport for both Options and Features during proto parsing (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/ed3c57114d8e2b47cca7697ddaa50c1b3762a6b0\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/ed3c57114d8e2b47cca7697ddaa50c1b3762a6b0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a bug with custom features outside of the \u003ccode\u003epb\u003c/code\u003e package. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/872d3ce7a4da00d7dcec33ced20cfe45235935e8\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/872d3ce7a4da00d7dcec33ced20cfe45235935e8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix import option handling when include_imports isn't set. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/9ef9e80afd9bc8379d578fe67e5ab0738728c04e\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/9ef9e80afd9bc8379d578fe67e5ab0738728c04e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a bug in STRICT check of namespaced enums to properly check for 'reserved 1 to max' (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/1229d4adba24c0952ab85ce96bc7b7f8a1fe6d0f\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/1229d4adba24c0952ab85ce96bc7b7f8a1fe6d0f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent accidental stripping of \u003ccode\u003edebug_redact\u003c/code\u003e options via import option. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/f58b098bffa7ca4045ef7773b09151a6af5d0c28\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/f58b098bffa7ca4045ef7773b09151a6af5d0c28\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eC++\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd EnumerateEnumValues function. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/397d5d99db274b379d1384814074bf7df39d32f7\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/397d5d99db274b379d1384814074bf7df39d32f7\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\u003eSee full diff in \u003ca href=\"https://github.com/protocolbuffers/protobuf/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cryptography` from 41.0.7 to 46.0.5\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst\"\u003ecryptography's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e46.0.5 - 2026-02-10\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* An attacker could create a malicious public key that reveals portions of your\n  private key when using certain uncommon elliptic curves (binary curves).\n  This version now includes additional security checks to prevent this attack.\n  This issue only affects binary elliptic curves, which are rarely used in\n  real-world applications. Credit to **XlabAI Team of Tencent Xuanwu Lab and\n  Atuin Automated Vulnerability Discovery Engine** for reporting the issue.\n  **CVE-2026-26007**\n* Support for ``SECT*`` binary elliptic curves is deprecated and will be\n  removed in the next release.\n\u003cp\u003e.. v46-0-4:\u003c/p\u003e\n\u003cp\u003e46.0.4 - 2026-01-27\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eDropped support for win_arm64 wheels\u003c/code\u003e_.\u003c/li\u003e\n\u003cli\u003eUpdated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.5.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _v46-0-3:\u003c/p\u003e\n\u003cp\u003e46.0.3 - 2025-10-15\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Fixed compilation when using LibreSSL 4.2.0.\n\u003cp\u003e.. _v46-0-2:\u003c/p\u003e\n\u003cp\u003e46.0.2 - 2025-09-30\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.4.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _v46-0-1:\u003c/p\u003e\n\u003cp\u003e46.0.1 - 2025-09-16\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Fixed an issue where users installing via ``pip`` on Python 3.14 development\n  versions would not properly install a dependency.\n* Fixed an issue building the free-threaded macOS 3.14 wheels.\n\u003cp\u003e.. _v46-0-0:\u003c/p\u003e\n\u003cp\u003e46.0.0 - 2025-09-16\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eBACKWARDS INCOMPATIBLE:\u003c/strong\u003e Support for Python 3.7 has been removed.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/06e120e682cb200e3f7050c02f0bcdac90c4c6ad\"\u003e\u003ccode\u003e06e120e\u003c/code\u003e\u003c/a\u003e bump version for 46.0.5 release (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14289\"\u003e#14289\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/0eebb9dbb6343d9bc1d91e5a2482ed4e054a6d8c\"\u003e\u003ccode\u003e0eebb9d\u003c/code\u003e\u003c/a\u003e EC check key on cofactor \u0026gt; 1 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14287\"\u003e#14287\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/bedf6e186b814f69a3f54f51252c23a71d44ed2e\"\u003e\u003ccode\u003ebedf6e1\u003c/code\u003e\u003c/a\u003e fix openssl version on 46 branch (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14220\"\u003e#14220\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/e6f44fc8e6391f05d719fb9d369692325b87a471\"\u003e\u003ccode\u003ee6f44fc\u003c/code\u003e\u003c/a\u003e bump for 46.0.4 and drop win arm64 due to CI issues (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14217\"\u003e#14217\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/c0af4dd7b75921bbe9f1d41a03dbd4b64a9e3403\"\u003e\u003ccode\u003ec0af4dd\u003c/code\u003e\u003c/a\u003e release 46.0.3 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13681\"\u003e#13681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/99efe5ad150a56efadafacaffd0e3ee319373904\"\u003e\u003ccode\u003e99efe5a\u003c/code\u003e\u003c/a\u003e bump version for 46.0.2 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13531\"\u003e#13531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/e735cfc27502320101c130335c556394a125ba52\"\u003e\u003ccode\u003ee735cfc\u003c/code\u003e\u003c/a\u003e release 46.0.1 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13450\"\u003e#13450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/4e457ffba43a6d87efc63c33041e2081438dd8a4\"\u003e\u003ccode\u003e4e457ff\u003c/code\u003e\u003c/a\u003e Explicitly specify python in mac uv build invocation (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13447\"\u003e#13447\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/2726efdb6d67f1c90cf9c6062d9fe051965586f8\"\u003e\u003ccode\u003e2726efd\u003c/code\u003e\u003c/a\u003e Depend on CFFI 2.0.0 or newer on Python \u0026gt; 3.8 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13448\"\u003e#13448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/62230623d183706632c0eb7822c96ac95e3710a8\"\u003e\u003ccode\u003e6223062\u003c/code\u003e\u003c/a\u003e release 46.0.0 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13446\"\u003e#13446\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyca/cryptography/compare/41.0.7...46.0.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-cloud-aiplatform` from 1.99.0 to 1.133.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/python-aiplatform/releases\"\u003egoogle-cloud-aiplatform's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.133.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.132.0...v1.133.0\"\u003e1.133.0\u003c/a\u003e (2026-01-08)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate tuning public preview SDK in favor of tuning SDK (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/35d362ce8f6c50498f781857e0d8cabd327284be\"\u003e35d362c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI SDK client - Enabling Few-shot Prompt Optimization by passing either \u0026quot;OPTIMIZATION_TARGET_FEW_SHOT_RUBRICS\u0026quot; or \u0026quot;OPTIMIZATION_TARGET_FEW_SHOT_TARGET_RESPONSE\u0026quot; to the \u003ccode\u003eoptimize_prompt\u003c/code\u003e method (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/715cc5b71b996eecde2d97bad71a617274739dcc\"\u003e715cc5b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI SDK client(memory): Add enable_third_person_memories (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/65717fa0c3d9b8c3105638cf9c75ee415f36b6e0\"\u003e65717fa\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport Developer Connect in AE (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/04f1771e16f54a0627ecac1266764ca77f833694\"\u003e04f1771\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd None check for agent_info in evals.py (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/c8c0f0f7eb67696c2e91902af7e6dca20cea2040\"\u003ec8c0f0f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI client(evals) - Fix TypeError in _build_generate_content_config (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/be2eaaa30dbf13a86f6856771eeacd2a51a97806\"\u003ebe2eaaa\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake project_number to project_id mapping fail-open. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/f1c8458dd5e4641cb03ff175f0837b6d6017c131\"\u003ef1c8458\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace asyncio.run with create_task in ADK async thread mains. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/83f4076706d808dcc0e1784219856846540e10da\"\u003e83f4076\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace asyncio.run with create_task in ADK async thread mains. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/8c876ef069d0fe6942790ede41e203196cd4a390\"\u003e8c876ef\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRequire uri or staging bucket configuration for saving model to Vertex Experiment. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/5448f065fa30d77c2ee0868249ec0bea6a93a4c0\"\u003e5448f06\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReturn embedding metadata if available (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/d9c6eb199b6ccc1fae417463e1b374574f2ae2f8\"\u003ed9c6eb1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003eexamples_dataframe\u003c/code\u003e type to \u003ccode\u003ePandasDataFrame\u003c/code\u003e in Prompt Optimizer. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/a2564cc3ea5c4860ee732f14cea9db2c10b52420\"\u003ea2564cc\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.132.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.131.0...v1.132.0\"\u003e1.132.0\u003c/a\u003e (2025-12-17)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Lustre support to the Vertex Training Custom Job API (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eA comment for field \u003ccode\u003erestart_job_on_worker_restart\u003c/code\u003e in message \u003ccode\u003e.google.cloud.aiplatform.v1beta1.Scheduling\u003c/code\u003e is changed (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003etimeout\u003c/code\u003e in message \u003ccode\u003e.google.cloud.aiplatform.v1beta1.Scheduling\u003c/code\u003e is changed (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.131.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.130.0...v1.131.0\"\u003e1.131.0\u003c/a\u003e (2025-12-16)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow list of events to be passed to AdkApp.async_stream_query (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/dd8840a5012b2762f8b8971b6cea4302ac5c648d\"\u003edd8840a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI Client(evals) - Support CustomCodeExecution metric in Vertex Gen AI Eval Service (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/4114728750b5b12f991a18df87c1f1a570d1b29d\"\u003e4114728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdates the ADK template to direct structured JSON logs to standard output. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/a65ec297c5b8d99e4d2dfb49473c189197198f97\"\u003ea65ec29\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/python-aiplatform/blob/main/CHANGELOG.md\"\u003egoogle-cloud-aiplatform's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.132.0...v1.133.0\"\u003e1.133.0\u003c/a\u003e (2026-01-08)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate tuning public preview SDK in favor of tuning SDK (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/35d362ce8f6c50498f781857e0d8cabd327284be\"\u003e35d362c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI SDK client - Enabling Few-shot Prompt Optimization by passing either \u0026quot;OPTIMIZATION_TARGET_FEW_SHOT_RUBRICS\u0026quot; or \u0026quot;OPTIMIZATION_TARGET_FEW_SHOT_TARGET_RESPONSE\u0026quot; to the \u003ccode\u003eoptimize_prompt\u003c/code\u003e method (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/715cc5b71b996eecde2d97bad71a617274739dcc\"\u003e715cc5b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI SDK client(memory): Add enable_third_person_memories (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/65717fa0c3d9b8c3105638cf9c75ee415f36b6e0\"\u003e65717fa\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport Developer Connect in AE (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/04f1771e16f54a0627ecac1266764ca77f833694\"\u003e04f1771\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd None check for agent_info in evals.py (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/c8c0f0f7eb67696c2e91902af7e6dca20cea2040\"\u003ec8c0f0f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI client(evals) - Fix TypeError in _build_generate_content_config (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/be2eaaa30dbf13a86f6856771eeacd2a51a97806\"\u003ebe2eaaa\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake project_number to project_id mapping fail-open. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/f1c8458dd5e4641cb03ff175f0837b6d6017c131\"\u003ef1c8458\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace asyncio.run with create_task in ADK async thread mains. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/83f4076706d808dcc0e1784219856846540e10da\"\u003e83f4076\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace asyncio.run with create_task in ADK async thread mains. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/8c876ef069d0fe6942790ede41e203196cd4a390\"\u003e8c876ef\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRequire uri or staging bucket configuration for saving model to Vertex Experiment. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/5448f065fa30d77c2ee0868249ec0bea6a93a4c0\"\u003e5448f06\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReturn embedding metadata if available (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/d9c6eb199b6ccc1fae417463e1b374574f2ae2f8\"\u003ed9c6eb1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003eexamples_dataframe\u003c/code\u003e type to \u003ccode\u003ePandasDataFrame\u003c/code\u003e in Prompt Optimizer. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/a2564cc3ea5c4860ee732f14cea9db2c10b52420\"\u003ea2564cc\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.131.0...v1.132.0\"\u003e1.132.0\u003c/a\u003e (2025-12-17)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Lustre support to the Vertex Training Custom Job API (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Lustre support to the Vertex Training Custom Job API (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eA comment for field \u003ccode\u003erestart_job_on_worker_restart\u003c/code\u003e in message \u003ccode\u003e.google.cloud.aiplatform.v1beta1.Scheduling\u003c/code\u003e is changed (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA comment for field \u003ccode\u003etimeout\u003c/code\u003e in message \u003ccode\u003e.google.cloud.aiplatform.v1beta1.Scheduling\u003c/code\u003e is changed (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0\"\u003e71747e8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.130.0...v1.131.0\"\u003e1.131.0\u003c/a\u003e (2025-12-16)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow list of events to be passed to AdkApp.async_stream_query (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/dd8840a5012b2762f8b8971b6cea4302ac5c648d\"\u003edd8840a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI Client(evals) - Support CustomCodeExecution metric in Vertex Gen AI Eval Service (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/4114728750b5b12f991a18df87c1f1a570d1b29d\"\u003e4114728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdates the ADK template to direct structured JSON logs to standard output. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/a65ec297c5b8d99e4d2dfb49473c189197198f97\"\u003ea65ec29\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix RagManagedVertexVectorSearch when using backend_config (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/df0976ed3195dc8313f4728bc5ecb29dda55d467\"\u003edf0976e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI Client(evals) - patch for vulnerability in visualization (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/8a00d43dbd24e95dbab6ea32c63ce0a5a1849480\"\u003e8a00d43\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/78f2bdd08bae0696923e61ab73080b5846c67ae0\"\u003e\u003ccode\u003e78f2bdd\u003c/code\u003e\u003c/a\u003e chore(main): release 1.133.0 (\u003ca href=\"https://redirect.github.com/googleapis/python-aiplatform/issues/6211\"\u003e#6211\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/c8c0f0f7eb67696c2e91902af7e6dca20cea2040\"\u003e\u003ccode\u003ec8c0f0f\u003c/code\u003e\u003c/a\u003e fix: Add None check for agent_info in evals.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/9952b970b73cfe38e68c48b3699ee4e1df0264df\"\u003e\u003ccode\u003e9952b97\u003c/code\u003e\u003c/a\u003e chore: rollback\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/83f4076706d808dcc0e1784219856846540e10da\"\u003e\u003ccode\u003e83f4076\u003c/code\u003e\u003c/a\u003e fix: Replace asyncio.run with create_task in ADK async thread mains.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/937d5af6b9bdbbe3b50181745c99550f124ad8b4\"\u003e\u003ccode\u003e937d5af\u003c/code\u003e\u003c/a\u003e Copybara import of the project:\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/aaaf902be02747cd2281196aad6278df0fd11f7e\"\u003e\u003ccode\u003eaaaf902\u003c/code\u003e\u003c/a\u003e chore: bump google-auth lower bound to 2.47.0 in GenAI and Vertex SDKs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/8c876ef069d0fe6942790ede41e203196cd4a390\"\u003e\u003ccode\u003e8c876ef\u003c/code\u003e\u003c/a\u003e fix: Replace asyncio.run with create_task in ADK async thread mains.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/5448f065fa30d77c2ee0868249ec0bea6a93a4c0\"\u003e\u003ccode\u003e5448f06\u003c/code\u003e\u003c/a\u003e fix: Require uri or staging bucket configuration for saving model to Vertex E...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/65717fa0c3d9b8c3105638cf9c75ee415f36b6e0\"\u003e\u003ccode\u003e65717fa\u003c/code\u003e\u003c/a\u003e feat: GenAI SDK client(memory): Add enable_third_person_memories\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/be2eaaa30dbf13a86f6856771eeacd2a51a97806\"\u003e\u003ccode\u003ebe2eaaa\u003c/code\u003e\u003c/a\u003e fix: GenAI client(evals) - Fix TypeError in _build_generate_content_config\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.99.0...v1.133.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `flask` from 2.2.5 to 3.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/releases\"\u003eflask's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.3\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.3 security fix release, which fixes a security issue but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.3/\"\u003ehttps://pypi.org/project/Flask/3.1.3/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-3\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-3\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys but not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. \u003ca href=\"https://github.com/pallets/flask/security/advisories/GHSA-68rp-wp8r-4726\"\u003eGHSA-68rp-wp8r-4726\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.2\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.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/Flask/3.1.2/\"\u003ehttps://pypi.org/project/Flask/3.1.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-2\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-2\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/38?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/38?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5774\"\u003e#5774\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state of \u003ccode\u003esession\u003c/code\u003e is correct. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5786\"\u003e#5786\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5776\"\u003e#5776\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.1\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.1 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.1/\"\u003ehttps://pypi.org/project/Flask/3.1.1/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/flask/milestone/36?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/36?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. GHSA-4grg-w6v8-c28g\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5645\"\u003e#5645\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loads the app and plugins first to make sure all commands are shown. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5673\"\u003e#5673\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMark sans-io base class as being able to handle views that return \u003ccode\u003eAsyncIterable\u003c/code\u003e. This is not accurate for Flask, but makes typing easier for Quart. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5659\"\u003e#5659\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.0\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecations, or introduce potentially breaking changes. We encourage everyone to upgrade, and to use a tool such as \u003ca href=\"https://pypi.org/project/pip-tools/\"\u003epip-tools\u003c/a\u003e to pin all dependencies and control upgrades. Test with warnings treated as errors to be able to adapt to deprecation warnings early.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.0/\"\u003ehttps://pypi.org/project/Flask/3.1.0/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-0\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-0\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/33?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/33?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5623\"\u003e#5623\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate minimum dependency versions to latest feature releases. Werkzeug \u0026gt;= 3.1, ItsDangerous \u0026gt;= 2.2, Blinker \u0026gt;= 1.9. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5624\"\u003e#5624\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5633\"\u003e#5633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProvide a configuration option to control automatic option responses. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5496\"\u003e#5496\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFlask.open_resource\u003c/code\u003e/\u003ccode\u003eopen_instance_resource\u003c/code\u003e and \u003ccode\u003eBlueprint.open_resource\u003c/code\u003e take an \u003ccode\u003eencoding\u003c/code\u003e parameter to use when opening in text mode. It defaults to \u003ccode\u003eutf-8\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5504\"\u003e#5504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.max_content_length\u003c/code\u003e can be customized per-request instead of only through the \u003ccode\u003eMAX_CONTENT_LENGTH\u003c/code\u003e config. Added \u003ccode\u003eMAX_FORM_MEMORY_SIZE\u003c/code\u003e and \u003ccode\u003eMAX_FORM_PARTS\u003c/code\u003e config. Added documentation about resource limits to the security page. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5625\"\u003e#5625\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for the \u003ccode\u003ePartitioned\u003c/code\u003e cookie attribute (CHIPS), with the \u003ccode\u003eSESSION_COOKIE_PARTITIONED\u003c/code\u003e config. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5472\"\u003e#5472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e-e path\u003c/code\u003e takes precedence over default \u003ccode\u003e.env\u003c/code\u003e and \u003ccode\u003e.flaskenv\u003c/code\u003e files. \u003ccode\u003eload_dotenv\u003c/code\u003e loads default files in addition to a path unless \u003ccode\u003eload_defaults=False\u003c/code\u003e is passed. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5628\"\u003e#5628\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport key rotation with the \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e config, a list of old secret keys that can still be used for unsigning. Extensions will need to add support. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5621\"\u003e#5621\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix how setting \u003ccode\u003ehost_matching=True\u003c/code\u003e or \u003ccode\u003esubdomain_matching=False\u003c/code\u003e interacts with \u003ccode\u003eSERVER_NAME\u003c/code\u003e. Setting \u003ccode\u003eSERVER_NAME\u003c/code\u003e no longer restricts requests to only that domain. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5553\"\u003e#5553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.trusted_hosts\u003c/code\u003e is checked during routing, and can be set through the \u003ccode\u003eTRUSTED_HOSTS\u003c/code\u003e config. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5636\"\u003e#5636\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.0.3\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/blob/main/CHANGES.rst\"\u003eflask's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.1.3\u003c/h2\u003e\n\u003cp\u003eReleased 2026-02-18\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys\nbut not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. :ghsa:\u003ccode\u003e68rp-wp8r-4726\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.2\u003c/h2\u003e\n\u003cp\u003eReleased 2025-08-19\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. :issue:\u003ccode\u003e5774\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state\nof \u003ccode\u003esession\u003c/code\u003e is correct. :issue:\u003ccode\u003e5786\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. :issue:\u003ccode\u003e5776\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-05-13\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via\n\u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. :ghsa:\u003ccode\u003e4grg-w6v8-c28g\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. :issue:\u003ccode\u003e5645\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loads the app and plugins first to make sure all commands\nare shown. :issue:\u003ccode\u003e5673\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eMark sans-io base class as being able to handle views that return\n\u003ccode\u003eAsyncIterable\u003c/code\u003e. This is not accurate for Flask, but makes typing easier\nfor Quart. :pr:\u003ccode\u003e5659\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.0\u003c/h2\u003e\n\u003cp\u003eReleased 2024-11-13\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. :pr:\u003ccode\u003e5623\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUpdate minimum dependency versions to latest feature releases.\nWerkzeug \u0026gt;= 3.1, ItsDangerous \u0026gt;= 2.2, Blinker \u0026gt;= 1.9. :pr:\u003ccode\u003e5624,5633\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eProvide a configuration option to control automatic option\nresponses. :pr:\u003ccode\u003e5496\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFlask.open_resource\u003c/code\u003e/\u003ccode\u003eopen_instance_resource\u003c/code\u003e and\n\u003ccode\u003eBlueprint.open_resource\u003c/code\u003e take an \u003ccode\u003eencoding\u003c/code\u003e parameter to use when\nopening in text mode. It defaults to \u003ccode\u003eutf-8\u003c/code\u003e. :issue:\u003ccode\u003e5504\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.max_content_length\u003c/code\u003e can be customized per-request instead of only\nthrough the \u003ccode\u003eMAX_CONTENT_LENGTH\u003c/code\u003e config. Added\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/22d924701a6ae2e4cd01e9a15bbaf3946094af65\"\u003e\u003ccode\u003e22d9247\u003c/code\u003e\u003c/a\u003e release version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/089cb86dd22bff589a4eafb7ab8e42dc357623b4\"\u003e\u003ccode\u003e089cb86\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/c17f379390731543eea33a570a47bd4ef76a54fa\"\u003e\u003ccode\u003ec17f379\u003c/code\u003e\u003c/a\u003e request context tracks session access\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/27be9338405382445a7cb01151e084559b98d602\"\u003e\u003ccode\u003e27be933\u003c/code\u003e\u003c/a\u003e start version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4e652d3f68b90d50aa2301d3b7e68c3fafd9251d\"\u003e\u003ccode\u003e4e652d3\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5903\"\u003e#5903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/3d03098a97ddc6a908aa4a50c2ef7381f8297d0a\"\u003e\u003ccode\u003e3d03098\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/407eb76b27884848383a37c7274654f0271e4bc4\"\u003e\u003ccode\u003e407eb76\u003c/code\u003e\u003c/a\u003e document using gevent for async (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5900\"\u003e#5900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/ac5664d2281533eacafd64f5cc7d5edcdaccab60\"\u003e\u003ccode\u003eac5664d\u003c/code\u003e\u003c/a\u003e document using gevent for async\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4f79d5b59a56bc4356a97f2e81a35f98cb18d7b3\"\u003e\u003ccode\u003e4f79d5b\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11 (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5865\"\u003e#5865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/fe3b215d3ade4db68262dae1a3cdc464a1fc524f\"\u003e\u003ccode\u003efe3b215\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/flask/compare/2.2.5...3.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `apache-airflow` from 2.9.3 to 3.2.0b1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/airflow/releases\"\u003eapache-airflow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eApache Airflow 3.1.7\u003c/h2\u003e\n\u003cp\u003e📦 PyPI: \u003ca href=\"https://pypi.org/project/apache-airflow/3.1.7/\"\u003ehttps://pypi.org/project/apache-airflow/3.1.7/\u003c/a\u003e\n📚 Docs: \u003ca href=\"https://airflow.apache.org/docs/apache-airflow/3.1.7/\"\u003ehttps://airflow.apache.org/docs/apache-airflow/3.1.7/\u003c/a\u003e\n🛠 Release Notes: \u003ca href=\"https://airflow.apache.org/docs/apache-airflow/3.1.7/release_notes.html\"\u003ehttps://airflow.apache.org/docs/apache-airflow/3.1.7/release_notes.html\u003c/a\u003e\n🐳 Docker Image: \u0026quot;docker pull apache/airflow:3.1.7\u0026quot;\n🚏 Constraints: \u003ca href=\"https://github.com/apache/airflow/tree/constraints-3.1.7\"\u003ehttps://github.com/apache/airflow/tree/constraints-3.1.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eSignificant Changes\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix JWT token generation with unset issuer/audience config (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61331\"\u003e#61331\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix callback files losing priority during queue resort (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61232\"\u003e#61232\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61243\"\u003e#61243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Dag callback for versioned bundles in the processor (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60734\"\u003e#60734\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61230\"\u003e#61230\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd 404 handling for non-existent Dag (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61131\"\u003e#61131\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61225\"\u003e#61225\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd guardrail to handle Dag deserialization errors in scheduler (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61162\"\u003e#61162\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61210\"\u003e#61210\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix asset scheduling for stale Dags (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/59337\"\u003e#59337\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60022\"\u003e#60022\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61106\"\u003e#61106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix unnecessary Dag version churn when Dag file paths change (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60799\"\u003e#60799\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix missing warning when Bundle path may not be accessible to impersonated user (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60278\"\u003e#60278\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eTriggerDagRunOperator\u003c/code\u003e deferring when \u003ccode\u003ewait_for_completion=False\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60052\"\u003e#60052\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix NoneType error when updating serialized Dag (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/56422\"\u003e#56422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Pool API slots validation (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61071\"\u003e#61071\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61114\"\u003e#61114\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix DagBag parsing by adding bundle_path temporarily to sys.path (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/55894\"\u003e#55894\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61053\"\u003e#61053\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix API to respect maximum page limit (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60989\"\u003e#60989\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61073\"\u003e#61073\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent Triggerer from crashing when a trigger event isn't serializable (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60152\"\u003e#60152\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60981\"\u003e#60981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix permissions on get_event_logs endpoint (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60936\"\u003e#60936\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60958\"\u003e#60958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Dag access control for dag_id in query param (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60935\"\u003e#60935\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60959\"\u003e#60959\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix root logger to use log_level instead of hardcoded INFO level (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60784\"\u003e#60784\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60970\"\u003e#60970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Dag processor OOM by Avoid loading all TaskInstances when checking DagVersion in write_dag (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60937\"\u003e#60937\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60962\"\u003e#60962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix worker startup Dag load failures by rescheduling tasks instead of exiting (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/59604\"\u003e#59604\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60926\"\u003e#60926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix permissions check in import error APIs (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60801\"\u003e#60801\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60884\"\u003e#60884\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix refresh-token invalidation by logging out the user (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60781\"\u003e#60781\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60881\"\u003e#60881\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix connection test API to restore masked password/extra from existing connections (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/59643\"\u003e#59643\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60873\"\u003e#60873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Dag processor overhead by applying \u003ccode\u003egc.freeze\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60505\"\u003e#60505\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60845\"\u003e#60845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Dag processor crashing due to MySQL deadlock errors (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60166\"\u003e#60166\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60418\"\u003e#60418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure unique run_id across manually triggered Dags with schedules (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/59477\"\u003e#59477\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60468\"\u003e#60468\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Avoid gantt annotation error during resize (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60877\"\u003e#60877\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Fix react apps plugins router (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61206\"\u003e#61206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Reset pagination on search in all pages (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61169\"\u003e#61169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Explicitly set UI table ordering (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60609\"\u003e#60609\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61216\"\u003e#61216\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Plugins pagination fix  \u003ca href=\"https://redirect.github.com/apache/airflow/issues/61055\"\u003e#61055\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61059\"\u003e#61059\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61129\"\u003e#61129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Fix ui get dags permission endpoint for user without Dag run permissions (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60979\"\u003e#60979\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60988\"\u003e#60988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Convert Tasks Table from card to table mode (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60830\"\u003e#60830\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60874\"\u003e#60874\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Fix slow log scrolling for large task logs (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60806\"\u003e#60806\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60875\"\u003e#60875\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Grey out trigger button on API 403 (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60648\"\u003e#60648\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60777\"\u003e#60777\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Remove API error from disabling submit (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60473\"\u003e#60473\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60658\"\u003e#60658\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Added toasters for permission denied (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/57966\"\u003e#57966\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/58016\"\u003e#58016\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60646\"\u003e#60646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Move row count and display toggle into DataTable (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/57680\"\u003e#57680\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60639\"\u003e#60639\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Fix/backfill permission error handling (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60582\"\u003e#60582\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60587\"\u003e#60587\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/apache/airflow/blob/main/docker-stack-docs/changelog.rst\"\u003eapache-airflow's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e.. Licensed to the Apache Software Foundation (ASF) under one\nor more contributor license agreements.  See the NOTICE file\ndistributed with this work for additional information\nregarding copyright ownership.  The ASF licenses this file\nto you under the Apache License, Version 2.0 (the\n\u0026quot;License\u0026quot;); you may not use this file except in compliance\nwith the License.  You may obtain a copy of the License at\u003c/p\u003e\n\u003cp\u003e..   \u003ca href=\"http://www.apache.org/licenses/LICENSE-2.0\"\u003ehttp://www.apache.org/licenses/LICENSE-2.0\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e.. Unless required by applicable law or agreed to in writing,\nsoftware distributed under the License is distributed on an\n\u0026quot;AS IS\u0026quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, either express or implied.  See the License for the\nspecific language governing permissions and limitations\nunder the License.\u003c/p\u003e\n\u003ch1\u003eDockerfile Changelog\u003c/h1\u003e\n\u003cp\u003eThe \u003ccode\u003eDockerfile\u003c/code\u003e does not strictly follow the \u003ccode\u003eSemVer \u0026lt;https://semver.org/\u0026gt;\u003c/code\u003e_ approach of\nApache Airflow when it comes to features and backwards compatibility. While Airflow code strictly\nfollows it, the \u003ccode\u003eDockerfile\u003c/code\u003e is really a way to give users a conveniently packaged Airflow\nusing standard container approach, so occasionally there are some changes in the building process\nor in the entrypoint of the image that require slight adaptation of how it is used or built.\u003c/p\u003e\n\u003cp\u003eThe Changelog below describes the changes introduced in each version of the docker images released by\nthe Airflow team.\u003c/p\u003e\n\u003cp\u003e:note: The Changelog below concerns only the convenience production images released at\n\u003ccode\u003eAirflow DockerHub \u0026lt;https://hub.docker.com/r/apache/airflow\u0026gt;\u003c/code\u003e_ . The images that are released\nthere are usually built using the \u003ccode\u003eDockerfile\u003c/code\u003e released together with Airflow. However, you are\nfree to take latest released \u003ccode\u003eDockerfile\u003c/code\u003e from Airflow and use it to build an image for\nany Airflow version from the \u003ccode\u003eAirflow 2\u003c/code\u003e line. There is no guarantee that it will work, but if it does,\nthen you can use latest features from that image to build images for previous Airflow versions.\u003c/p\u003e\n\u003cp\u003eAirflow 3.1.4\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\nIn Airflow 3.1.4, the images are build without removing of .pyc and .pyo files when Python is built.\nThis increases the size of the image slightly (\u0026lt;0.5%), but improves performance of Python in the container\nbecause Python does not need to recompile the files on the first run but more importantly, if you use\n``exec`` to run Health Checks, removed .pyc files caused a small but ever growing memory leak in the Unix\nkernel connected to negative ``dentries`` created when .pyc files were attempted to be compiled and failed.\nThis over time could lead to out-of-memory issues on the host running the container.\n\u003cp\u003eMore information about \u003ccode\u003edentries\u003c/code\u003e can be found in \u003ccode\u003ethis article \u0026amp;lt;https://lwn.net/Articles/814535/\u0026amp;gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003cp\u003eAirflow 3.1.0\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/7989f25ab78b7561102926b4867966271ef7e42a\"\u003e\u003ccode\u003e7989f25\u003c/code\u003e\u003c/a\u003e update release notes for 3.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/346f3329ec556755a14c0acf1d57cd172d4b3b6b\"\u003e\u003ccode\u003e346f332\u003c/code\u003e\u003c/a\u003e Add 3.2.0 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/6661a58f60e0f9f9b1fff1132b2bd257b146fede\"\u003e\u003ccode\u003e6661a58\u003c/code\u003e\u003c/a\u003e Update version to 3.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/0a82c312ed98ec38c23301a856154212dbbda8ef\"\u003e\u003ccode\u003e0a82c31\u003c/code\u003e\u003c/a\u003e updated versions in README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/21f5a375352e3b1e7295179ae97c7f7de5c99b7e\"\u003e\u003ccode\u003e21f5a37\u003c/code\u003e\u003c/a\u003e Pin Task-SDK for Airflow meta package\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/4c87c4cde01eae483d40f87ee9daa037426d00a7\"\u003e\u003ccode\u003e4c87c4c\u003c/code\u003e\u003c/a\u003e Update default branches for 3-2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/d42623e2b461fa362f2a5f7e6f2ca9a028d9e4b9\"\u003e\u003ccode\u003ed42623e\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eObjectStoragePath\u003c/code\u003e to exclude \u003ccode\u003econn_id\u003c/code\u003e from storage options passed to f...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/77c38f357c3ff7af50ceda862f837dab7a93f359\"\u003e\u003ccode\u003e77c38f3\u003c/code\u003e\u003c/a\u003e docs(asset-partition): add example Dag (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62491\"\u003e#62491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/05ea74a9429156400ca89ca913c5d838e568ef3a\"\u003e\u003ccode\u003e05ea74a\u003c/code\u003e\u003c/a\u003e Prepare provider's documentation 2026-03-03 (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62752\"\u003e#62752\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/1199dc5305ea1630b0e1f7681bdbc4daff28440b\"\u003e\u003ccode\u003e1199dc5\u003c/code\u003e\u003c/a\u003e Consolidate \u003ccode\u003eSkipMixin\u003c/code\u003e imports through \u003ccode\u003ecommon-compat\u003c/code\u003e layer (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/62776\"\u003e#62776\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/airflow/compare/2.9.3...3.2.0b1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `authlib` from 1.6.0 to 1.6.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/authlib/authlib/releases\"\u003eauthlib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.7\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/authlib/authlib/compare/v1.6.6...v1.6.7\"\u003ehttps://github.com/authlib/authlib/compare/v1.6.6...v1.6.7\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eSet supported algorithms for the default \u003ccode\u003ejwt\u003c/code\u003e instance.\u003c/p\u003e\n\u003ch2\u003ev1.6.6\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix(ClientAuth): fix incorrect signature when Content-Type is x-www-form-urlencoded by \u003ca href=\"https://github.com/shc261392\"\u003e\u003ccode\u003e@​shc261392\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/authlib/authlib/pull/778\"\u003eauthlib/authlib#778\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Use \u003ccode\u003eexpires_in\u003c/code\u003e when \u003ccode\u003eexpires_at\u003c/code\u003e is unparsable by \u003ca href=\"https://github.com/bendavis78\"\u003e\u003ccode\u003e@​bendavis78\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/authlib/authlib/pull/842\"\u003eauthlib/authlib#842\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eget_jwt_config\u003c/code\u003e takes a \u003ccode\u003eclient\u003c/code\u003e parameter. by \u003ca href=\"https://github.com/azmeuk\"\u003e\u003ccode\u003e@​azmeuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/authlib/authlib/pull/844\"\u003eauthlib/authlib#844\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/shc261392\"\u003e\u003ccode\u003e@​shc261392\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/authlib/authlib/pull/778\"\u003eauthlib/authlib#778\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bendavis78\"\u003e\u003ccode\u003e@​bendavis78\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/authlib/authlib/pull/842\"\u003eauthlib/authlib#842\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/authlib/authlib/compare/v1.6.5...v1.6.6\"\u003ehttps://github.com/authlib/authlib/compare/v1.6.5...v1.6.6\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.6.5\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a \u003ccode\u003erequest\u003c/code\u003e param to RFC7591 \u003ccode\u003egenerate_client_info\u003c/code\u003e and \u003ccode\u003egenerate_client_secret\u003c/code\u003e methods by \u003ca href=\"https://github.com/azmeuk\"\u003e\u003ccode\u003e@​azmeuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/authlib/authlib/pull/825\"\u003eauthlib/authlib#825\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: support list params in prepare_grant_uri by \u003ca href=\"https://github.com/lisongmin\"\u003e\u003ccode\u003e@​lisongmin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/authlib/authlib/pull/827\"\u003eauthlib/authlib#827\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump SonarSource/sonarqube-scan-action from 5 to 6 in /.github/workflows by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/authlib/authlib/pull/828\"\u003eauthlib/authlib#828\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(jose): add max size for JWE zip=DEF decompression by \u003ca href=\"https://github.com/lepture\"\u003e\u003ccode\u003e@​lepture\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/authlib/authlib/pull/830\"\u003eauthlib/authlib#830\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/lisongmin\"\u003e\u003ccode\u003e@​lisongmin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/authlib/authlib/pull/827\"\u003eauthlib/authlib#827\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] made their first contribution in \u003ca href=\"https://redirect.github.com/authlib/authlib/pull/828\"\u003eauthlib/authlib#828\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/authlib/authlib/compare/v1.6.4...v1.6.5\"\u003ehttps://github.com/authlib/authlib/compare/v1.6.4...v1.6.5\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.6.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix(jose): prevent public/unprotected header overwriting protected header by \u003ca href=\"https://github.com/lepture\"\u003e\u003ccode\u003e@​lepture\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/authlib/authlib/pull/809\"\u003eauthlib/authlib#809\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eInsecureTransportError\u003c/code\u003e raising by \u003ca href=\"https://github.com/azmeuk\"\u003e\u003ccode\u003e@​azmeuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/authlib/authlib/pull/810\"\u003eauthlib/authlib#810\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd conventional-commits pre-commit hook by \u003ca href=\"https://github.com/azmeuk\"\u003e\u003ccode\u003e@​azmeuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/authlib/authlib/pull/811\"\u003eauthlib/authlib#811\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix response_mode=form_post with Starlette client by \u003ca href=\"https://github.com/azmeuk\"\u003e\u003ccode\u003e@​azmeuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/authlib/authlib/pull/812\"\u003eauthlib/authlib#812\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSpecify README.md as project long description by \u003ca href=\"https://github.com/EpicWink\"\u003e\u003ccode\u003e@​EpicWink\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/authlib/authlib/pull/817\"\u003eauthlib/authlib#817\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMigrate tests to pytest paradigm by \u003ca href=\"https://github.com/azmeuk\"\u003e\u003ccode\u003e@​azmeuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/authlib/authlib/pull/813\"\u003eauthlib/authlib#813\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ejose/jws: Reject unprotected ‘crit’ and enforce type; add tests by \u003ca href=\"https://github.com/AL-Cybision\"\u003e\u003ccode\u003e@​AL-Cybision\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/authlib/authlib/pull/823\"\u003eauthlib/authlib#823\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse explicit *.test urls in unit tests by \u003ca href=\"https://...\n\n_Description has been truncated_","html_url":"https://github.com/pass-culture/data-gcp/pull/4904","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/pass-culture%2Fdata-gcp/issues/4904","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/4904/packages"}},{"old_version":"3.1.0","new_version":"3.1.7","update_type":"patch","path":null,"pr_created_at":"2026-02-20T22:50:27.000Z","version_change":"3.1.0 → 3.1.7","issue":{"uuid":"3970698581","node_id":"PR_kwDOEvaoaM7FRr3f","number":1288,"state":"closed","title":"Bump the uv group across 2 directories with 6 updates","user":"dependabot[bot]","labels":["Area: Backend","Area: Airflow","python:uv"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-02-21T18:02:37.000Z","author_association":null,"state_reason":null,"created_at":"2026-02-20T22:50:27.000Z","updated_at":"2026-02-21T18:02:38.000Z","time_to_close":69130,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"uv","update_count":6,"packages":[{"name":"apache-airflow","old_version":"3.1.0","new_version":"3.1.7","repository_url":"https://github.com/apache/airflow"},{"name":"cryptography","old_version":"44.0.2","new_version":"46.0.5","repository_url":"https://github.com/pyca/cryptography"},{"name":"flask","old_version":"2.2.5","new_version":"3.1.3","repository_url":"https://github.com/pallets/flask"},{"name":"protobuf","old_version":"5.29.5","new_version":"5.29.6","repository_url":"https://github.com/protocolbuffers/protobuf"},{"name":"python-multipart","old_version":"0.0.21","new_version":"0.0.22","repository_url":"https://github.com/Kludex/python-multipart"},{"name":"sqlparse","old_version":"0.5.3","new_version":"0.5.4","repository_url":"https://github.com/andialbrecht/sqlparse"}],"path":null,"ecosystem":"pip"},"body":"Bumps the uv group with 6 updates in the /app/airflow directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [apache-airflow](https://github.com/apache/airflow) | `3.1.0` | `3.1.7` |\n| [cryptography](https://github.com/pyca/cryptography) | `44.0.2` | `46.0.5` |\n| [flask](https://github.com/pallets/flask) | `2.2.5` | `3.1.3` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `5.29.5` | `5.29.6` |\n| [python-multipart](https://github.com/Kludex/python-multipart) | `0.0.21` | `0.0.22` |\n| [sqlparse](https://github.com/andialbrecht/sqlparse) | `0.5.3` | `0.5.4` |\n\nBumps the uv group with 2 updates in the /app/api directory: [cryptography](https://github.com/pyca/cryptography) and [sqlparse](https://github.com/andialbrecht/sqlparse).\n\nUpdates `apache-airflow` from 3.1.0 to 3.1.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/airflow/releases\"\u003eapache-airflow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eApache Airflow 3.1.7\u003c/h2\u003e\n\u003cp\u003e📦 PyPI: \u003ca href=\"https://pypi.org/project/apache-airflow/3.1.7/\"\u003ehttps://pypi.org/project/apache-airflow/3.1.7/\u003c/a\u003e\n📚 Docs: \u003ca href=\"https://airflow.apache.org/docs/apache-airflow/3.1.7/\"\u003ehttps://airflow.apache.org/docs/apache-airflow/3.1.7/\u003c/a\u003e\n🛠 Release Notes: \u003ca href=\"https://airflow.apache.org/docs/apache-airflow/3.1.7/release_notes.html\"\u003ehttps://airflow.apache.org/docs/apache-airflow/3.1.7/release_notes.html\u003c/a\u003e\n🐳 Docker Image: \u0026quot;docker pull apache/airflow:3.1.7\u0026quot;\n🚏 Constraints: \u003ca href=\"https://github.com/apache/airflow/tree/constraints-3.1.7\"\u003ehttps://github.com/apache/airflow/tree/constraints-3.1.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eSignificant Changes\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix JWT token generation with unset issuer/audience config (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61331\"\u003e#61331\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix callback files losing priority during queue resort (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61232\"\u003e#61232\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61243\"\u003e#61243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Dag callback for versioned bundles in the processor (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60734\"\u003e#60734\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61230\"\u003e#61230\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd 404 handling for non-existent Dag (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61131\"\u003e#61131\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61225\"\u003e#61225\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd guardrail to handle Dag deserialization errors in scheduler (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61162\"\u003e#61162\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61210\"\u003e#61210\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix asset scheduling for stale Dags (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/59337\"\u003e#59337\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60022\"\u003e#60022\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61106\"\u003e#61106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix unnecessary Dag version churn when Dag file paths change (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60799\"\u003e#60799\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix missing warning when Bundle path may not be accessible to impersonated user (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60278\"\u003e#60278\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eTriggerDagRunOperator\u003c/code\u003e deferring when \u003ccode\u003ewait_for_completion=False\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60052\"\u003e#60052\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix NoneType error when updating serialized Dag (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/56422\"\u003e#56422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Pool API slots validation (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61071\"\u003e#61071\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61114\"\u003e#61114\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix DagBag parsing by adding bundle_path temporarily to sys.path (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/55894\"\u003e#55894\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61053\"\u003e#61053\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix API to respect maximum page limit (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60989\"\u003e#60989\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61073\"\u003e#61073\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent Triggerer from crashing when a trigger event isn't serializable (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60152\"\u003e#60152\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60981\"\u003e#60981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix permissions on get_event_logs endpoint (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60936\"\u003e#60936\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60958\"\u003e#60958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Dag access control for dag_id in query param (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60935\"\u003e#60935\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60959\"\u003e#60959\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix root logger to use log_level instead of hardcoded INFO level (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60784\"\u003e#60784\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60970\"\u003e#60970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Dag processor OOM by Avoid loading all TaskInstances when checking DagVersion in write_dag (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60937\"\u003e#60937\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60962\"\u003e#60962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix worker startup Dag load failures by rescheduling tasks instead of exiting (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/59604\"\u003e#59604\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60926\"\u003e#60926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix permissions check in import error APIs (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60801\"\u003e#60801\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60884\"\u003e#60884\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix refresh-token invalidation by logging out the user (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60781\"\u003e#60781\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60881\"\u003e#60881\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix connection test API to restore masked password/extra from existing connections (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/59643\"\u003e#59643\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60873\"\u003e#60873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Dag processor overhead by applying \u003ccode\u003egc.freeze\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60505\"\u003e#60505\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60845\"\u003e#60845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Dag processor crashing due to MySQL deadlock errors (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60166\"\u003e#60166\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60418\"\u003e#60418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure unique run_id across manually triggered Dags with schedules (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/59477\"\u003e#59477\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60468\"\u003e#60468\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Avoid gantt annotation error during resize (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60877\"\u003e#60877\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Fix react apps plugins router (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61206\"\u003e#61206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Reset pagination on search in all pages (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61169\"\u003e#61169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Explicitly set UI table ordering (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60609\"\u003e#60609\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61216\"\u003e#61216\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Plugins pagination fix  \u003ca href=\"https://redirect.github.com/apache/airflow/issues/61055\"\u003e#61055\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61059\"\u003e#61059\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61129\"\u003e#61129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Fix ui get dags permission endpoint for user without Dag run permissions (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60979\"\u003e#60979\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60988\"\u003e#60988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Convert Tasks Table from card to table mode (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60830\"\u003e#60830\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60874\"\u003e#60874\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Fix slow log scrolling for large task logs (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60806\"\u003e#60806\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60875\"\u003e#60875\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Grey out trigger button on API 403 (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60648\"\u003e#60648\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60777\"\u003e#60777\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Remove API error from disabling submit (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60473\"\u003e#60473\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60658\"\u003e#60658\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Added toasters for permission denied (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/57966\"\u003e#57966\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/58016\"\u003e#58016\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60646\"\u003e#60646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Move row count and display toggle into DataTable (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/57680\"\u003e#57680\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60639\"\u003e#60639\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Fix/backfill permission error handling (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60582\"\u003e#60582\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60587\"\u003e#60587\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/apache/airflow/commit/83ff6ecec9dd71d8b8631248bc0725afc472acd7\"\u003e\u003ccode\u003e83ff6ec\u003c/code\u003e\u003c/a\u003e Update RELEASE_NOTES.rst for rc2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/caa057100f47ff8b659178a86d565163fb71e6f9\"\u003e\u003ccode\u003ecaa0571\u003c/code\u003e\u003c/a\u003e [v3-1-test] Fix JWT token generation with unset issuer/audience config (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/6127\"\u003e#6127\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/d82bb100d738b09d9604d692913062ae8a225ee4\"\u003e\u003ccode\u003ed82bb10\u003c/code\u003e\u003c/a\u003e Update RELEASE_NOTES.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/d24ec9a649f96b4417c8440526538d81c8c78a6a\"\u003e\u003ccode\u003ed24ec9a\u003c/code\u003e\u003c/a\u003e Update Airflow Version to 3.1.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/08a5859832fc59b3413abba09c7c182f15001d48\"\u003e\u003ccode\u003e08a5859\u003c/code\u003e\u003c/a\u003e [v3-1-test] Fix callback files losing priority during queue resort (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61232\"\u003e#61232\u003c/a\u003e) (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/3b41866a2ee244a7e00332213bd0a8a5e8eaedfe\"\u003e\u003ccode\u003e3b41866\u003c/code\u003e\u003c/a\u003e dag_processing: initialize versioned bundles for callbacks (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/52040\"\u003e#52040\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60734\"\u003e#60734\u003c/a\u003e) ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/c34d2c36f2a315bb6546a6de8176d2b24bebe18b\"\u003e\u003ccode\u003ec34d2c3\u003c/code\u003e\u003c/a\u003e [v3-1-test] Add 404 handling for non-existent Dag (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61131\"\u003e#61131\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61225\"\u003e#61225\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/dd1a86593f2bd38b50b9f2a0a91529d16f89d0c4\"\u003e\u003ccode\u003edd1a865\u003c/code\u003e\u003c/a\u003e Fix import errors not showing on UI (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61163\"\u003e#61163\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61213\"\u003e#61213\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/52b7aeae50805a26218d2fd9972135ee38005920\"\u003e\u003ccode\u003e52b7aea\u003c/code\u003e\u003c/a\u003e [v3-1-test] Explicitly set table ordering (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60609\"\u003e#60609\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61216\"\u003e#61216\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/5a2b2404cfe21d912b801925210fb507d0412bf4\"\u003e\u003ccode\u003e5a2b240\u003c/code\u003e\u003c/a\u003e [v3-1-test] Add guardrail to handle DAG deserialization errors in scheduler (...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/airflow/compare/3.1.0...3.1.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cryptography` from 44.0.2 to 46.0.5\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst\"\u003ecryptography's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e46.0.5 - 2026-02-10\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* An attacker could create a malicious public key that reveals portions of your\n  private key when using certain uncommon elliptic curves (binary curves).\n  This version now includes additional security checks to prevent this attack.\n  This issue only affects binary elliptic curves, which are rarely used in\n  real-world applications. Credit to **XlabAI Team of Tencent Xuanwu Lab and\n  Atuin Automated Vulnerability Discovery Engine** for reporting the issue.\n  **CVE-2026-26007**\n* Support for ``SECT*`` binary elliptic curves is deprecated and will be\n  removed in the next release.\n\u003cp\u003e.. v46-0-4:\u003c/p\u003e\n\u003cp\u003e46.0.4 - 2026-01-27\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eDropped support for win_arm64 wheels\u003c/code\u003e_.\u003c/li\u003e\n\u003cli\u003eUpdated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.5.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _v46-0-3:\u003c/p\u003e\n\u003cp\u003e46.0.3 - 2025-10-15\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Fixed compilation when using LibreSSL 4.2.0.\n\u003cp\u003e.. _v46-0-2:\u003c/p\u003e\n\u003cp\u003e46.0.2 - 2025-09-30\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.4.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _v46-0-1:\u003c/p\u003e\n\u003cp\u003e46.0.1 - 2025-09-16\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Fixed an issue where users installing via ``pip`` on Python 3.14 development\n  versions would not properly install a dependency.\n* Fixed an issue building the free-threaded macOS 3.14 wheels.\n\u003cp\u003e.. _v46-0-0:\u003c/p\u003e\n\u003cp\u003e46.0.0 - 2025-09-16\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eBACKWARDS INCOMPATIBLE:\u003c/strong\u003e Support for Python 3.7 has been removed.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/06e120e682cb200e3f7050c02f0bcdac90c4c6ad\"\u003e\u003ccode\u003e06e120e\u003c/code\u003e\u003c/a\u003e bump version for 46.0.5 release (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14289\"\u003e#14289\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/0eebb9dbb6343d9bc1d91e5a2482ed4e054a6d8c\"\u003e\u003ccode\u003e0eebb9d\u003c/code\u003e\u003c/a\u003e EC check key on cofactor \u0026gt; 1 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14287\"\u003e#14287\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/bedf6e186b814f69a3f54f51252c23a71d44ed2e\"\u003e\u003ccode\u003ebedf6e1\u003c/code\u003e\u003c/a\u003e fix openssl version on 46 branch (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14220\"\u003e#14220\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/e6f44fc8e6391f05d719fb9d369692325b87a471\"\u003e\u003ccode\u003ee6f44fc\u003c/code\u003e\u003c/a\u003e bump for 46.0.4 and drop win arm64 due to CI issues (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14217\"\u003e#14217\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/c0af4dd7b75921bbe9f1d41a03dbd4b64a9e3403\"\u003e\u003ccode\u003ec0af4dd\u003c/code\u003e\u003c/a\u003e release 46.0.3 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13681\"\u003e#13681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/99efe5ad150a56efadafacaffd0e3ee319373904\"\u003e\u003ccode\u003e99efe5a\u003c/code\u003e\u003c/a\u003e bump version for 46.0.2 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13531\"\u003e#13531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/e735cfc27502320101c130335c556394a125ba52\"\u003e\u003ccode\u003ee735cfc\u003c/code\u003e\u003c/a\u003e release 46.0.1 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13450\"\u003e#13450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/4e457ffba43a6d87efc63c33041e2081438dd8a4\"\u003e\u003ccode\u003e4e457ff\u003c/code\u003e\u003c/a\u003e Explicitly specify python in mac uv build invocation (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13447\"\u003e#13447\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/2726efdb6d67f1c90cf9c6062d9fe051965586f8\"\u003e\u003ccode\u003e2726efd\u003c/code\u003e\u003c/a\u003e Depend on CFFI 2.0.0 or newer on Python \u0026gt; 3.8 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13448\"\u003e#13448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/62230623d183706632c0eb7822c96ac95e3710a8\"\u003e\u003ccode\u003e6223062\u003c/code\u003e\u003c/a\u003e release 46.0.0 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13446\"\u003e#13446\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyca/cryptography/compare/44.0.2...46.0.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `flask` from 2.2.5 to 3.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/releases\"\u003eflask's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.3\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.3 security fix release, which fixes a security issue but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.3/\"\u003ehttps://pypi.org/project/Flask/3.1.3/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-3\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-3\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys but not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. \u003ca href=\"https://github.com/pallets/flask/security/advisories/GHSA-68rp-wp8r-4726\"\u003eGHSA-68rp-wp8r-4726\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.2\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.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/Flask/3.1.2/\"\u003ehttps://pypi.org/project/Flask/3.1.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/page/changes/#version-3-1-2\"\u003ehttps://flask.palletsprojects.com/page/changes/#version-3-1-2\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/38?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/38?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5774\"\u003e#5774\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state of \u003ccode\u003esession\u003c/code\u003e is correct. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5786\"\u003e#5786\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5776\"\u003e#5776\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.1\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.1 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.1/\"\u003ehttps://pypi.org/project/Flask/3.1.1/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-1\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/flask/milestone/36?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/36?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. GHSA-4grg-w6v8-c28g\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5645\"\u003e#5645\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loads the app and plugins first to make sure all commands are shown. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5673\"\u003e#5673\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMark sans-io base class as being able to handle views that return \u003ccode\u003eAsyncIterable\u003c/code\u003e. This is not accurate for Flask, but makes typing easier for Quart. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5659\"\u003e#5659\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.0\u003c/h2\u003e\n\u003cp\u003eThis is the Flask 3.1.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecations, or introduce potentially breaking changes. We encourage everyone to upgrade, and to use a tool such as \u003ca href=\"https://pypi.org/project/pip-tools/\"\u003epip-tools\u003c/a\u003e to pin all dependencies and control upgrades. Test with warnings treated as errors to be able to adapt to deprecation warnings early.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Flask/3.1.0/\"\u003ehttps://pypi.org/project/Flask/3.1.0/\u003c/a\u003e\nChanges: \u003ca href=\"https://flask.palletsprojects.com/en/stable/changes/#version-3-1-0\"\u003ehttps://flask.palletsprojects.com/en/stable/changes/#version-3-1-0\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/flask/milestone/33?closed=1\"\u003ehttps://github.com/pallets/flask/milestone/33?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5623\"\u003e#5623\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate minimum dependency versions to latest feature releases. Werkzeug \u0026gt;= 3.1, ItsDangerous \u0026gt;= 2.2, Blinker \u0026gt;= 1.9. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5624\"\u003e#5624\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5633\"\u003e#5633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProvide a configuration option to control automatic option responses. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5496\"\u003e#5496\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFlask.open_resource\u003c/code\u003e/\u003ccode\u003eopen_instance_resource\u003c/code\u003e and \u003ccode\u003eBlueprint.open_resource\u003c/code\u003e take an \u003ccode\u003eencoding\u003c/code\u003e parameter to use when opening in text mode. It defaults to \u003ccode\u003eutf-8\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5504\"\u003e#5504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.max_content_length\u003c/code\u003e can be customized per-request instead of only through the \u003ccode\u003eMAX_CONTENT_LENGTH\u003c/code\u003e config. Added \u003ccode\u003eMAX_FORM_MEMORY_SIZE\u003c/code\u003e and \u003ccode\u003eMAX_FORM_PARTS\u003c/code\u003e config. Added documentation about resource limits to the security page. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5625\"\u003e#5625\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for the \u003ccode\u003ePartitioned\u003c/code\u003e cookie attribute (CHIPS), with the \u003ccode\u003eSESSION_COOKIE_PARTITIONED\u003c/code\u003e config. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5472\"\u003e#5472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e-e path\u003c/code\u003e takes precedence over default \u003ccode\u003e.env\u003c/code\u003e and \u003ccode\u003e.flaskenv\u003c/code\u003e files. \u003ccode\u003eload_dotenv\u003c/code\u003e loads default files in addition to a path unless \u003ccode\u003eload_defaults=False\u003c/code\u003e is passed. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5628\"\u003e#5628\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport key rotation with the \u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e config, a list of old secret keys that can still be used for unsigning. Extensions will need to add support. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5621\"\u003e#5621\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix how setting \u003ccode\u003ehost_matching=True\u003c/code\u003e or \u003ccode\u003esubdomain_matching=False\u003c/code\u003e interacts with \u003ccode\u003eSERVER_NAME\u003c/code\u003e. Setting \u003ccode\u003eSERVER_NAME\u003c/code\u003e no longer restricts requests to only that domain. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5553\"\u003e#5553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.trusted_hosts\u003c/code\u003e is checked during routing, and can be set through the \u003ccode\u003eTRUSTED_HOSTS\u003c/code\u003e config. \u003ca href=\"https://redirect.github.com/pallets/flask/issues/5636\"\u003e#5636\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.0.3\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/flask/blob/main/CHANGES.rst\"\u003eflask's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.1.3\u003c/h2\u003e\n\u003cp\u003eReleased 2026-02-18\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe session is marked as accessed for operations that only access the keys\nbut not the values, such as \u003ccode\u003ein\u003c/code\u003e and \u003ccode\u003elen\u003c/code\u003e. :ghsa:\u003ccode\u003e68rp-wp8r-4726\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.2\u003c/h2\u003e\n\u003cp\u003eReleased 2025-08-19\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estream_with_context\u003c/code\u003e does not fail inside async views. :issue:\u003ccode\u003e5774\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003efollow_redirects\u003c/code\u003e in the test client, the final state\nof \u003ccode\u003esession\u003c/code\u003e is correct. :issue:\u003ccode\u003e5786\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eRelax type hint for passing bytes IO to \u003ccode\u003esend_file\u003c/code\u003e. :issue:\u003ccode\u003e5776\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-05-13\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix signing key selection order when key rotation is enabled via\n\u003ccode\u003eSECRET_KEY_FALLBACKS\u003c/code\u003e. :ghsa:\u003ccode\u003e4grg-w6v8-c28g\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix type hint for \u003ccode\u003ecli_runner.invoke\u003c/code\u003e. :issue:\u003ccode\u003e5645\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflask --help\u003c/code\u003e loads the app and plugins first to make sure all commands\nare shown. :issue:\u003ccode\u003e5673\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eMark sans-io base class as being able to handle views that return\n\u003ccode\u003eAsyncIterable\u003c/code\u003e. This is not accurate for Flask, but makes typing easier\nfor Quart. :pr:\u003ccode\u003e5659\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.0\u003c/h2\u003e\n\u003cp\u003eReleased 2024-11-13\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. :pr:\u003ccode\u003e5623\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUpdate minimum dependency versions to latest feature releases.\nWerkzeug \u0026gt;= 3.1, ItsDangerous \u0026gt;= 2.2, Blinker \u0026gt;= 1.9. :pr:\u003ccode\u003e5624,5633\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eProvide a configuration option to control automatic option\nresponses. :pr:\u003ccode\u003e5496\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFlask.open_resource\u003c/code\u003e/\u003ccode\u003eopen_instance_resource\u003c/code\u003e and\n\u003ccode\u003eBlueprint.open_resource\u003c/code\u003e take an \u003ccode\u003eencoding\u003c/code\u003e parameter to use when\nopening in text mode. It defaults to \u003ccode\u003eutf-8\u003c/code\u003e. :issue:\u003ccode\u003e5504\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRequest.max_content_length\u003c/code\u003e can be customized per-request instead of only\nthrough the \u003ccode\u003eMAX_CONTENT_LENGTH\u003c/code\u003e config. Added\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/22d924701a6ae2e4cd01e9a15bbaf3946094af65\"\u003e\u003ccode\u003e22d9247\u003c/code\u003e\u003c/a\u003e release version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/089cb86dd22bff589a4eafb7ab8e42dc357623b4\"\u003e\u003ccode\u003e089cb86\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/c17f379390731543eea33a570a47bd4ef76a54fa\"\u003e\u003ccode\u003ec17f379\u003c/code\u003e\u003c/a\u003e request context tracks session access\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/27be9338405382445a7cb01151e084559b98d602\"\u003e\u003ccode\u003e27be933\u003c/code\u003e\u003c/a\u003e start version 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4e652d3f68b90d50aa2301d3b7e68c3fafd9251d\"\u003e\u003ccode\u003e4e652d3\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5903\"\u003e#5903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/3d03098a97ddc6a908aa4a50c2ef7381f8297d0a\"\u003e\u003ccode\u003e3d03098\u003c/code\u003e\u003c/a\u003e Abort if the instance folder cannot be created\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/407eb76b27884848383a37c7274654f0271e4bc4\"\u003e\u003ccode\u003e407eb76\u003c/code\u003e\u003c/a\u003e document using gevent for async (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5900\"\u003e#5900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/ac5664d2281533eacafd64f5cc7d5edcdaccab60\"\u003e\u003ccode\u003eac5664d\u003c/code\u003e\u003c/a\u003e document using gevent for async\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/4f79d5b59a56bc4356a97f2e81a35f98cb18d7b3\"\u003e\u003ccode\u003e4f79d5b\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11 (\u003ca href=\"https://redirect.github.com/pallets/flask/issues/5865\"\u003e#5865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/flask/commit/fe3b215d3ade4db68262dae1a3cdc464a1fc524f\"\u003e\u003ccode\u003efe3b215\u003c/code\u003e\u003c/a\u003e Increase required flit_core version to 3.11\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/flask/compare/2.2.5...3.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `protobuf` from 5.29.5 to 5.29.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/protocolbuffers/protobuf/releases\"\u003eprotobuf's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eProtocol Buffers v34.0-rc1\u003c/h2\u003e\n\u003ch1\u003eAnnouncements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eThis version includes breaking changes to: C++, Objective-C, PHP, Python.\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e[Bazel] Remove deprecated ProtoInfo.transitive_imports. Use equivalent transitive_sources instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/0a5c2f6b633c1e5259f566cb42d30fe347b8aadb\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/0a5c2f6b633c1e5259f566cb42d30fe347b8aadb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Make generator headers private (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/3a2af3510f0d454dbe3e4dc281674b61c4d20b9e\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/3a2af3510f0d454dbe3e4dc281674b61c4d20b9e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Add a debug check that the target of CopyFrom is not a descendant of the source. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/7a7589823d2cfaaf7994b050e98d5d553bc9b1c1\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/7a7589823d2cfaaf7994b050e98d5d553bc9b1c1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Add [[nodiscard]] to many APIs. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/a70115f33f9af2c4b2202c800b84837e7fe0d738\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/a70115f33f9af2c4b2202c800b84837e7fe0d738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Make the arena-enabled constructors of \u003ccode\u003eRepeatedField\u003c/code\u003e, \u003ccode\u003eRepeatedPtrField\u003c/code\u003e, and \u003ccode\u003eMap\u003c/code\u003e private. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/ef890c3d0c79398c70e047fe5dd893f460ba2336\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/ef890c3d0c79398c70e047fe5dd893f460ba2336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Remove deprecated FieldDescriptor::label() in OSS. Use is_repeated() or is_required() instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/b76faa921fdd244f374c7be0bddd4050fc42c292\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/b76faa921fdd244f374c7be0bddd4050fc42c292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Removes proto2::util::MessageDifferencer::AddIgnoreCriteria that takes a raw pointer as an argument in favor of the overload that takes a unique_ptr. Remove macro PROTOBUF_FUTURE_REMOVE_ADD_IGNORE_CRITERIA (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/b115358c64127896fed88b8b5ef5d91d86d8cbae\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/b115358c64127896fed88b8b5ef5d91d86d8cbae\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Remove deprecated FieldDescriptor::has_optional_keyword() in OSS. Use is_repeated() or has_presence() instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/68346ec9348e932664e58c3ecdcd1478f95233a8\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/68346ec9348e932664e58c3ecdcd1478f95233a8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Remove AddUnusedImportTrackFile() and ClearUnusedImportTrackFiles(). Remove PROTOBUF_FUTURE_RENAME_ADD_UNUSED_IMPORT (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/837a2cd1d6c75402b2503ffe7cd8aeaf25868536\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/837a2cd1d6c75402b2503ffe7cd8aeaf25868536\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Remove deprecated FieldDescriptor::is_optional() in OSS. Use (!is_required() \u0026amp;\u0026amp; !is_repeated()) instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/9dbc5d479a8e453921485d8d3de47fb3c005f1af\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/9dbc5d479a8e453921485d8d3de47fb3c005f1af\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Remove deprecated UseDeprecatedLegacyJsonFieldConflicts() (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/c301c2ca286327a21c50c0c4cd877afc9c655b00\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/c301c2ca286327a21c50c0c4cd877afc9c655b00\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] All entity names have length limit (2afb0dc)\u003c/li\u003e\n\u003cli\u003e[ObjC] Remove \u003ccode\u003egenerate_minimal_imports\u003c/code\u003e generation option warning (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/45b1297fdaad5a9436d0e207422168c38dc45ac4\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/45b1297fdaad5a9436d0e207422168c38dc45ac4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[ObjC] Fix nullability annotations on some \u003ccode\u003eGPB*Dictionary\u003c/code\u003e types. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/ea67d6d26a48478a567c404679e3bb99cf230d50\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/ea67d6d26a48478a567c404679e3bb99cf230d50\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[ObjC] Remove \u003ccode\u003e-[GPBFieldDescriptor optional]\u003c/code\u003e (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/3414dc151eb4dcbdb2ca952e2589993bf7af75c4\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/3414dc151eb4dcbdb2ca952e2589993bf7af75c4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Other] Remove deprecated flag for enabling MSVC support (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/97c979be6e0907e1051bee62584dac4594e73fa7\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/97c979be6e0907e1051bee62584dac4594e73fa7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PHP] Remove deprecated PHP APIs (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/9c45014099a4f7004fab6dd1278de2f4f2a393c5\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/9c45014099a4f7004fab6dd1278de2f4f2a393c5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PHP] Remove deprecated PHP APIs FieldDescriptor getLabel, use IsRepeated or isRequired instead. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/42081219920c6fad17ba6ddd1e28d111bcfb3345\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/42081219920c6fad17ba6ddd1e28d111bcfb3345\u003c/a\u003e, \u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/cd76e675b14d00dda5623b30835d2bc7105fccc6\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/cd76e675b14d00dda5623b30835d2bc7105fccc6\u003c/a\u003e, \u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/42081219920c6fad17ba6ddd1e28d111bcfb3345\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/42081219920c6fad17ba6ddd1e28d111bcfb3345\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PHP]  Add PHP typehints for setters and remove redundant GPBUtil checks (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/pull/25296\"\u003eprotocolbuffers/protobuf#25296\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/aee03b78929c02461a5f9d8e136a2a016359b0cd\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/aee03b78929c02461a5f9d8e136a2a016359b0cd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PHP]  support default values for editions/proto2 (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/pull/25161\"\u003eprotocolbuffers/protobuf#25161\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/b01099d56350551bae3da88b97bf3027274c9f17\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/b01099d56350551bae3da88b97bf3027274c9f17\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Raise errors in OSS when assign bool to int/enum field in Python Proto. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/5b116fe2f14f49dd0cc3b76089983717f211025c\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/5b116fe2f14f49dd0cc3b76089983717f211025c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Remove float_format/double_format from python proto text_format (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/e4854a186e0bfa867d5bfa5cd850608a948fd488\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/e4854a186e0bfa867d5bfa5cd850608a948fd488\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Raise TypeError when convert non-timedelta to Duration, or convert non-datetime to Timestamp in python proto. (Original code may raise ArributeError) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/00aaca1b4d98954bc2933d7c8a5379ba6088124c\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/00aaca1b4d98954bc2933d7c8a5379ba6088124c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Remove float_precision from python proto json_format (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/f027f1fcd52b9d080b7ee79f4024f53cf54e0dc5\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/f027f1fcd52b9d080b7ee79f4024f53cf54e0dc5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Remove deprecated FieldDescriptor::label() in OSS. Use is_repeated() or is_required() instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/b76faa921fdd244f374c7be0bddd4050fc42c292\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/b76faa921fdd244f374c7be0bddd4050fc42c292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Remove deprecated FieldDescriptor.label (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/0a8ff55518ea5874478ad5b26515b31d186045a9\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/0a8ff55518ea5874478ad5b26515b31d186045a9\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Remove deprecated UseDeprecatedLegacyJsonFieldConflicts() (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/c301c2ca286327a21c50c0c4cd877afc9c655b00\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/c301c2ca286327a21c50c0c4cd877afc9c655b00\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://protobuf.dev/news/\"\u003eProtobuf News\u003c/a\u003e may include additional announcements or pre-announcements for upcoming changes.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://protobuf.dev/support/migration/\"\u003eMigration Guide\u003c/a\u003e may include additional guidance for breaking changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eBazel\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix: cc_toolchain should prefer protoc when prebuilt flag is flipped. (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/issues/25168\"\u003e#25168\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/8c857c3a1c6a106b0a096f1c9fa504bfaca035a9\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/8c857c3a1c6a106b0a096f1c9fa504bfaca035a9\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBreaking change: Remove deprecated ProtoInfo.transitive_imports. Use equivalent transitive_sources instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/0a5c2f6b633c1e5259f566cb42d30fe347b8aadb\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/0a5c2f6b633c1e5259f566cb42d30fe347b8aadb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFeat(bazel): wire up prebuilt protoc toolchain (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/issues/24115\"\u003e#24115\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/cc23698b486e690ea2eb873cc7596a87c74a3ba6\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/cc23698b486e690ea2eb873cc7596a87c74a3ba6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMigrate \u003ccode\u003eproto_descriptor_set\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/issues/23369\"\u003e#23369\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/8d4dfdd39a7a242a9ed631a6ab2192c57dd9b9c8\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/8d4dfdd39a7a242a9ed631a6ab2192c57dd9b9c8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eCompiler\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eRuby codegen: support generation of rbs files (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/issues/15633\"\u003e#15633\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/6ebdf851ba78728f0aa145d38454ed9a316fb08d\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/6ebdf851ba78728f0aa145d38454ed9a316fb08d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid collision name problems between a message named \u003ccode\u003eXyz\u003c/code\u003e and a direct sibling enum named \u003ccode\u003eXyzView\u003c/code\u003e (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/eba53e8f172b273d679759a72ce4250131ee3df1\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/eba53e8f172b273d679759a72ce4250131ee3df1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGeneralizing and implementing ValidateFeatureSupport for both Options and Features during proto parsing (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/ed3c57114d8e2b47cca7697ddaa50c1b3762a6b0\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/ed3c57114d8e2b47cca7697ddaa50c1b3762a6b0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a bug with custom features outside of the \u003ccode\u003epb\u003c/code\u003e package. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/872d3ce7a4da00d7dcec33ced20cfe45235935e8\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/872d3ce7a4da00d7dcec33ced20cfe45235935e8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix import option handling when include_imports isn't set. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/9ef9e80afd9bc8379d578fe67e5ab0738728c04e\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/9ef9e80afd9bc8379d578fe67e5ab0738728c04e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a bug in STRICT check of namespaced enums to properly check for 'reserved 1 to max' (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/1229d4adba24c0952ab85ce96bc7b7f8a1fe6d0f\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/1229d4adba24c0952ab85ce96bc7b7f8a1fe6d0f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent accidental stripping of \u003ccode\u003edebug_redact\u003c/code\u003e options via import option. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/f58b098bffa7ca4045ef7773b09151a6af5d0c28\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/f58b098bffa7ca4045ef7773b09151a6af5d0c28\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eC++\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd EnumerateEnumValues function. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/397d5d99db274b379d1384814074bf7df39d32f7\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/397d5d99db274b379d1384814074bf7df39d32f7\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\u003eSee full diff in \u003ca href=\"https://github.com/protocolbuffers/protobuf/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `python-multipart` from 0.0.21 to 0.0.22\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kludex/python-multipart/releases\"\u003epython-multipart's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0.0.22\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop directory path from filename in \u003ccode\u003eFile\u003c/code\u003e \u003ca href=\"https://github.com/Kludex/python-multipart/commit/9433f4bbc9652bdde82bbe380984e32f8cfc89c4\"\u003e9433f4b\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/python-multipart/compare/0.0.21...0.0.22\"\u003ehttps://github.com/Kludex/python-multipart/compare/0.0.21...0.0.22\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/Kludex/python-multipart/blob/master/CHANGELOG.md\"\u003epython-multipart's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.22 (2026-01-25)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop directory path from filename in \u003ccode\u003eFile\u003c/code\u003e \u003ca href=\"https://github.com/Kludex/python-multipart/commit/9433f4bbc9652bdde82bbe380984e32f8cfc89c4\"\u003e9433f4b\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/Kludex/python-multipart/commit/bea7bbb2904da8ce39123a845088dc72464eaddf\"\u003e\u003ccode\u003ebea7bbb\u003c/code\u003e\u003c/a\u003e Version 0.0.22 (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/222\"\u003e#222\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/0fb59a9df0f273bfde99740b302ccb2ae45e2b8a\"\u003e\u003ccode\u003e0fb59a9\u003c/code\u003e\u003c/a\u003e chore: add return type on test (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/221\"\u003e#221\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/9433f4bbc9652bdde82bbe380984e32f8cfc89c4\"\u003e\u003ccode\u003e9433f4b\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/d5c91ecb0aa1cae03fe2d9811d193c952e714f17\"\u003e\u003ccode\u003ed5c91ec\u003c/code\u003e\u003c/a\u003e Bump the github-actions group with 2 updates (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/219\"\u003e#219\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/5a90631b484f8d3284b691d453c24be3db57f5cb\"\u003e\u003ccode\u003e5a90631\u003c/code\u003e\u003c/a\u003e bump uv (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/218\"\u003e#218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/Kludex/python-multipart/compare/0.0.21...0.0.22\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sqlparse` from 0.5.3 to 0.5.4\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/andialbrecht/sqlparse/blob/master/CHANGELOG\"\u003esqlparse's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 0.5.4 (Nov 28, 2025)\u003c/h2\u003e\n\u003cp\u003eEnhancements\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eAdd type annotations to top-level API functions and include py.typed marker\nfor PEP 561 compliance, enabling type checking with mypy and other tools\n(issue756).\u003c/li\u003e\n\u003cli\u003eAdd pre-commit hook support. sqlparse can now be used as a pre-commit hook\nto automatically format SQL files. The CLI now supports multiple files and\nan \u003ccode\u003e--in-place\u003c/code\u003e flag for in-place editing (issue537).\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eATTACH\u003c/code\u003e and \u003ccode\u003eDETACH\u003c/code\u003e to PostgreSQL keywords (pr808).\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eINTERSECT\u003c/code\u003e to close keywords in WHERE clause (pr820).\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003eREGEXP BINARY\u003c/code\u003e comparison operator (pr817).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBug Fixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd additional protection against denial of service attacks when parsing\nvery large lists of tuples. This enhances the existing recursion protections\nwith configurable limits for token processing to prevent DoS through\nalgorithmic complexity attacks. The new limits (MAX_GROUPING_DEPTH=100,\nMAX_GROUPING_TOKENS=10000) can be adjusted or disabled (by setting to None)\nif needed for legitimate large SQL statements.\u003c/li\u003e\n\u003cli\u003eRemove shebang from cli.py and remove executable flag (pr818).\u003c/li\u003e\n\u003cli\u003eFix strip_comments not removing all comments when input contains only\ncomments (issue801, pr803 by stropysh).\u003c/li\u003e\n\u003cli\u003eFix splitting statements with IF EXISTS/IF NOT EXISTS inside BEGIN...END\nblocks (issue812).\u003c/li\u003e\n\u003cli\u003eFix splitting on semicolons inside BEGIN...END blocks (issue809).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/14e300b165b14d1a7662a071c6481b503d367528\"\u003e\u003ccode\u003e14e300b\u003c/code\u003e\u003c/a\u003e Bump version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/96a67e286963b2497b1b3f7a1378327af6661998\"\u003e\u003ccode\u003e96a67e2\u003c/code\u003e\u003c/a\u003e Code cleanup.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/1a3bfbd50b82c05d9adcc51bacba059671dc1bc7\"\u003e\u003ccode\u003e1a3bfbd\u003c/code\u003e\u003c/a\u003e Fix handling of semicolons inside BEGIN...END blocks (fixes \u003ca href=\"https://redirect.github.com/andialbrecht/sqlparse/issues/809\"\u003e#809\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/e92a032c81d51a6645b4f8c32470481894818ba0\"\u003e\u003ccode\u003ee92a032\u003c/code\u003e\u003c/a\u003e Fix handling of IF EXISTS statements in BEGIN...END blocks (fixes \u003ca href=\"https://redirect.github.com/andialbrecht/sqlparse/issues/812\"\u003e#812\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/149bebf06c788e93a9b0dbee0e5abbc8e347b8e6\"\u003e\u003ccode\u003e149bebf\u003c/code\u003e\u003c/a\u003e Update Changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/561a67e740e9623cf81ef99f1a6cd94337e24282\"\u003e\u003ccode\u003e561a67e\u003c/code\u003e\u003c/a\u003e Update AUTHORS.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/73c8ba3ae88b608d39740c0776fb15064232258e\"\u003e\u003ccode\u003e73c8ba3\u003c/code\u003e\u003c/a\u003e bugfix ISSUE_801; Remove all comments when only comments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/1b323879f87207946e4782812e2e1254b1c0c659\"\u003e\u003ccode\u003e1b32387\u003c/code\u003e\u003c/a\u003e Update action to run on all prs.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/31903e09db518ee3969110073427196ef9cd46c3\"\u003e\u003ccode\u003e31903e0\u003c/code\u003e\u003c/a\u003e Add pre-commit hook support (fixes \u003ca href=\"https://redirect.github.com/andialbrecht/sqlparse/issues/537\"\u003e#537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/13577264eb38b88e24825022fea4bd4351449e7c\"\u003e\u003ccode\u003e1357726\u003c/code\u003e\u003c/a\u003e docs: add AGENTS.md for project guidance and development commands\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/andialbrecht/sqlparse/compare/0.5.3...0.5.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cryptography` from 44.0.1 to 46.0.5\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst\"\u003ecryptography's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e46.0.5 - 2026-02-10\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* An attacker could create a malicious public key that reveals portions of your\n  private key when using certain uncommon elliptic curves (binary curves).\n  This version now includes additional security checks to prevent this attack.\n  This issue only affects binary elliptic curves, which are rarely used in\n  real-world applications. Credit to **XlabAI Team of Tencent Xuanwu Lab and\n  Atuin Automated Vulnerability Discovery Engine** for reporting the issue.\n  **CVE-2026-26007**\n* Support for ``SECT*`` binary elliptic curves is deprecated and will be\n  removed in the next release.\n\u003cp\u003e.. v46-0-4:\u003c/p\u003e\n\u003cp\u003e46.0.4 - 2026-01-27\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eDropped support for win_arm64 wheels\u003c/code\u003e_.\u003c/li\u003e\n\u003cli\u003eUpdated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.5.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _v46-0-3:\u003c/p\u003e\n\u003cp\u003e46.0.3 - 2025-10-15\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Fixed compilation when using LibreSSL 4.2.0.\n\u003cp\u003e.. _v46-0-2:\u003c/p\u003e\n\u003cp\u003e46.0.2 - 2025-09-30\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.4.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _v46-0-1:\u003c/p\u003e\n\u003cp\u003e46.0.1 - 2025-09-16\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Fixed an issue where users installing via ``pip`` on Python 3.14 development\n  versions would not properly install a dependency.\n* Fixed an issue building the free-threaded macOS 3.14 wheels.\n\u003cp\u003e.. _v46-0-0:\u003c/p\u003e\n\u003cp\u003e46.0.0 - 2025-09-16\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eBACKWARDS INCOMPATIBLE:\u003c/strong\u003e Support for Python 3.7 has been removed.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/06e120e682cb200e3f7050c02f0bcdac90c4c6ad\"\u003e\u003ccode\u003e06e120e\u003c/code\u003e\u003c/a\u003e bump version for 46.0.5 release (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14289\"\u003e#14289\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/0eebb9dbb6343d9bc1d91e5a2482ed4e054a6d8c\"\u003e\u003ccode\u003e0eebb9d\u003c/code\u003e\u003c/a\u003e EC check key on cofactor \u0026gt; 1 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14287\"\u003e#14287\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/bedf6e186b814f69a3f54f51252c23a71d44ed2e\"\u003e\u003ccode\u003ebedf6e1\u003c/code\u003e\u003c/a\u003e fix openssl version on 46 branch (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14220\"\u003e#14220\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/e6f44fc8e6391f05d719fb9d369692325b87a471\"\u003e\u003ccode\u003ee6f44fc\u003c/code\u003e\u003c/a\u003e bump for 46.0.4 and drop win arm64 due to CI issues (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14217\"\u003e#14217\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/c0af4dd7b75921bbe9f1d41a03dbd4b64a9e3403\"\u003e\u003ccode\u003ec0af4dd\u003c/code\u003e\u003c/a\u003e release 46.0.3 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13681\"\u003e#13681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/99efe5ad150a56efadafacaffd0e3ee319373904\"\u003e\u003ccode\u003e99efe5a\u003c/code\u003e\u003c/a\u003e bump version for 46.0.2 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13531\"\u003e#13531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/e735cfc27502320101c130335c556394a125ba52\"\u003e\u003ccode\u003ee735cfc\u003c/code\u003e\u003c/a\u003e release 46.0.1 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13450\"\u003e#13450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/4e457ffba43a6d87efc63c33041e2081438dd8a4\"\u003e\u003ccode\u003e4e457ff\u003c/code\u003e\u003c/a\u003e Explicitly specify python in mac uv build invocation (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13447\"\u003e#13447\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/2726efdb6d67f1c90cf9c6062d9fe051965586f8\"\u003e\u003ccode\u003e2726efd\u003c/code\u003e\u003c/a\u003e Depend on CFFI 2.0.0 or newer on Python \u0026gt; 3.8 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13448\"\u003e#13448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/62230623d183706632c0eb7822c96ac95e3710a8\"\u003e\u003ccode\u003e6223062\u003c/code\u003e\u003c/a\u003e release 46.0.0 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13446\"\u003e#13446\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyca/cryptography/compare/44.0.2...46.0.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sqlparse` from 0.5.3 to 0.5.4\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/andialbrecht/sqlparse/blob/master/CHANGELOG\"\u003esqlparse's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 0.5.4 (Nov 28, 2025)\u003c/h2\u003e\n\u003cp\u003eEnhancements\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eAdd type annotations to top-level API functions and include py.typed marker\nfor PEP 561 compliance, enabling type checking with mypy and other tools\n(issue756).\u003c/li\u003e\n\u003cli\u003eAdd pre-commit hook support. sqlparse can now be used as a pre-commit hook\nto automatically format SQL files. The CLI now supports multiple files and\nan \u003ccode\u003e--in-place\u003c/code\u003e flag for in-place editing (issue537).\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eATTACH\u003c/code\u003e and \u003ccode\u003eDETACH\u003c/code\u003e to PostgreSQL keywords (pr808).\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eINTERSECT\u003c/code\u003e to close keywords in WHERE clause (pr820).\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003eREGEXP BINARY\u003c/code\u003e comparison operator (pr817).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBug Fixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd additional protection against denial of service attacks when parsing\nvery large lists of tuples. This enhances the existing recursion protections\nwith configurable limits for token processing to prevent DoS through\nalgorithmic complexity attacks. The new limits (MAX_GROUPING_DEPTH=100,\nMAX_GROUPING_TOKENS=10000) can be adjusted or disabled (by setting to None)\nif needed for legitimate large SQL statements.\u003c/li\u003e\n\u003cli\u003eRemove shebang from cli.py and remove executable flag (pr818).\u003c/li\u003e\n\u003cli\u003eFix strip_comments not removing all comments when input contains only\ncomments (issue801, pr803 by stropysh).\u003c/li\u003e\n\u003cli\u003eFix splitting statements with IF EXISTS/IF NOT EXISTS inside BEGIN...END\nblocks (issue812).\u003c/li\u003e\n\u003cli\u003eFix splitting on semicolons inside BEGIN...END blocks (issue809).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/14e300b165b14d1a7662a071c6481b503d367528\"\u003e\u003ccode\u003e14e300b\u003c/code\u003e\u003c/a\u003e Bump version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/96a67e286963b2497b1b3f7a1378327af6661998\"\u003e\u003ccode\u003e96a67e2\u003c/code\u003e\u003c/a\u003e Code cleanup.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/1a3bfbd50b82c05d9adcc51bacba059671dc1bc7\"\u003e\u003ccode\u003e1a3bfbd\u003c/code\u003e\u003c/a\u003e Fix handling of semicolons inside BEGIN...END blocks (fixes \u003ca href=\"https://redirect.github.com/andialbrecht/sqlparse/issues/809\"\u003e#809\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/e92a032c81d51a6645b4f8c32470481894818ba0\"\u003e\u003ccode\u003ee92a032\u003c/code\u003e\u003c/a\u003e Fix handling of IF EXISTS statements in BEGIN...END blocks (fixes \u003ca href=\"https://redirect.github.com/andialbrecht/sqlparse/issues/812\"\u003e#812\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/149bebf06c788e93a9b0dbee0e5abbc8e347b8e6\"\u003e\u003ccode\u003e149bebf\u003c/code\u003e\u003c/a\u003e Update Changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/561a67e740e9623cf81ef99f1a6cd94337e24282\"\u003e\u003ccode\u003e561a67e\u003c/code\u003e\u003c/a\u003e Update AUTHORS.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/73c8ba3ae88b608d39740c0776fb15064232258e\"\u003e\u003ccode\u003e73c8ba3\u003c/code\u003e\u003c/a\u003e bugfix ISSUE_801; Remove all comments when only comments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/1b323879f87207946e4782812e2e1254b1c0c659\"\u003e\u003ccode\u003e1b32387\u003c/code\u003e\u003c/a\u003e Update action to run on all prs.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/31903e09db518ee3969110073427196ef9cd46c3\"\u003e\u003ccode\u003e31903e0\u003c/code\u003e\u003c/a\u003e Add pre-commit hook support (fixes \u003ca href=\"https://redirect.github.com/andialbrecht/sqlparse/issues/537\"\u003e#537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/13577264eb38b88e24825022fea4bd4351449e7c\"\u003e\u003ccode\u003e1357726\u003c/code\u003e\u003c/a\u003e docs: add AGENTS.md for project guidance and development commands\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/andialbrecht/sqlparse/compare/0.5.3...0.5.4\"\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\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/Health-Informatics-UoN/carrot-mapper/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/Health-Informatics-UoN/carrot-mapper/pull/1288","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Health-Informatics-UoN%2Fcarrot-mapper/issues/1288","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1288/packages"}},{"old_version":"3.1.0","new_version":"3.1.7","update_type":"patch","path":null,"pr_created_at":"2026-02-19T13:55:27.000Z","version_change":"3.1.0 → 3.1.7","issue":{"uuid":"3963122731","node_id":"PR_kwDOEvaoaM7E4x1I","number":1287,"state":"closed","title":"Bump the uv group across 2 directories with 5 updates","user":"dependabot[bot]","labels":["Area: Backend","Area: Airflow","python:uv"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-02-20T22:50:30.000Z","author_association":null,"state_reason":null,"created_at":"2026-02-19T13:55:27.000Z","updated_at":"2026-02-20T22:50:32.000Z","time_to_close":118503,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"uv","update_count":5,"packages":[{"name":"apache-airflow","old_version":"3.1.0","new_version":"3.1.7","repository_url":"https://github.com/apache/airflow"},{"name":"cryptography","old_version":"44.0.2","new_version":"46.0.5","repository_url":"https://github.com/pyca/cryptography"},{"name":"protobuf","old_version":"5.29.5","new_version":"5.29.6","repository_url":"https://github.com/protocolbuffers/protobuf"},{"name":"python-multipart","old_version":"0.0.21","new_version":"0.0.22","repository_url":"https://github.com/Kludex/python-multipart"},{"name":"sqlparse","old_version":"0.5.3","new_version":"0.5.4","repository_url":"https://github.com/andialbrecht/sqlparse"}],"path":null,"ecosystem":"pip"},"body":"Bumps the uv group with 5 updates in the /app/airflow directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [apache-airflow](https://github.com/apache/airflow) | `3.1.0` | `3.1.7` |\n| [cryptography](https://github.com/pyca/cryptography) | `44.0.2` | `46.0.5` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `5.29.5` | `5.29.6` |\n| [python-multipart](https://github.com/Kludex/python-multipart) | `0.0.21` | `0.0.22` |\n| [sqlparse](https://github.com/andialbrecht/sqlparse) | `0.5.3` | `0.5.4` |\n\nBumps the uv group with 2 updates in the /app/api directory: [cryptography](https://github.com/pyca/cryptography) and [sqlparse](https://github.com/andialbrecht/sqlparse).\n\nUpdates `apache-airflow` from 3.1.0 to 3.1.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/airflow/releases\"\u003eapache-airflow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eApache Airflow 3.1.7\u003c/h2\u003e\n\u003cp\u003e📦 PyPI: \u003ca href=\"https://pypi.org/project/apache-airflow/3.1.7/\"\u003ehttps://pypi.org/project/apache-airflow/3.1.7/\u003c/a\u003e\n📚 Docs: \u003ca href=\"https://airflow.apache.org/docs/apache-airflow/3.1.7/\"\u003ehttps://airflow.apache.org/docs/apache-airflow/3.1.7/\u003c/a\u003e\n🛠 Release Notes: \u003ca href=\"https://airflow.apache.org/docs/apache-airflow/3.1.7/release_notes.html\"\u003ehttps://airflow.apache.org/docs/apache-airflow/3.1.7/release_notes.html\u003c/a\u003e\n🐳 Docker Image: \u0026quot;docker pull apache/airflow:3.1.7\u0026quot;\n🚏 Constraints: \u003ca href=\"https://github.com/apache/airflow/tree/constraints-3.1.7\"\u003ehttps://github.com/apache/airflow/tree/constraints-3.1.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eSignificant Changes\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix JWT token generation with unset issuer/audience config (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61331\"\u003e#61331\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix callback files losing priority during queue resort (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61232\"\u003e#61232\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61243\"\u003e#61243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Dag callback for versioned bundles in the processor (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60734\"\u003e#60734\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61230\"\u003e#61230\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd 404 handling for non-existent Dag (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61131\"\u003e#61131\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61225\"\u003e#61225\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd guardrail to handle Dag deserialization errors in scheduler (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61162\"\u003e#61162\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61210\"\u003e#61210\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix asset scheduling for stale Dags (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/59337\"\u003e#59337\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60022\"\u003e#60022\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61106\"\u003e#61106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix unnecessary Dag version churn when Dag file paths change (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60799\"\u003e#60799\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix missing warning when Bundle path may not be accessible to impersonated user (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60278\"\u003e#60278\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eTriggerDagRunOperator\u003c/code\u003e deferring when \u003ccode\u003ewait_for_completion=False\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60052\"\u003e#60052\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix NoneType error when updating serialized Dag (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/56422\"\u003e#56422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Pool API slots validation (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61071\"\u003e#61071\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61114\"\u003e#61114\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix DagBag parsing by adding bundle_path temporarily to sys.path (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/55894\"\u003e#55894\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61053\"\u003e#61053\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix API to respect maximum page limit (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60989\"\u003e#60989\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61073\"\u003e#61073\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent Triggerer from crashing when a trigger event isn't serializable (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60152\"\u003e#60152\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60981\"\u003e#60981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix permissions on get_event_logs endpoint (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60936\"\u003e#60936\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60958\"\u003e#60958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Dag access control for dag_id in query param (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60935\"\u003e#60935\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60959\"\u003e#60959\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix root logger to use log_level instead of hardcoded INFO level (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60784\"\u003e#60784\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60970\"\u003e#60970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Dag processor OOM by Avoid loading all TaskInstances when checking DagVersion in write_dag (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60937\"\u003e#60937\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60962\"\u003e#60962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix worker startup Dag load failures by rescheduling tasks instead of exiting (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/59604\"\u003e#59604\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60926\"\u003e#60926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix permissions check in import error APIs (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60801\"\u003e#60801\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60884\"\u003e#60884\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix refresh-token invalidation by logging out the user (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60781\"\u003e#60781\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60881\"\u003e#60881\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix connection test API to restore masked password/extra from existing connections (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/59643\"\u003e#59643\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60873\"\u003e#60873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Dag processor overhead by applying \u003ccode\u003egc.freeze\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60505\"\u003e#60505\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60845\"\u003e#60845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Dag processor crashing due to MySQL deadlock errors (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60166\"\u003e#60166\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60418\"\u003e#60418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure unique run_id across manually triggered Dags with schedules (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/59477\"\u003e#59477\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60468\"\u003e#60468\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Avoid gantt annotation error during resize (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60877\"\u003e#60877\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Fix react apps plugins router (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61206\"\u003e#61206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Reset pagination on search in all pages (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61169\"\u003e#61169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Explicitly set UI table ordering (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60609\"\u003e#60609\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61216\"\u003e#61216\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Plugins pagination fix  \u003ca href=\"https://redirect.github.com/apache/airflow/issues/61055\"\u003e#61055\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61059\"\u003e#61059\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61129\"\u003e#61129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Fix ui get dags permission endpoint for user without Dag run permissions (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60979\"\u003e#60979\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60988\"\u003e#60988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Convert Tasks Table from card to table mode (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60830\"\u003e#60830\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60874\"\u003e#60874\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Fix slow log scrolling for large task logs (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60806\"\u003e#60806\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60875\"\u003e#60875\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Grey out trigger button on API 403 (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60648\"\u003e#60648\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60777\"\u003e#60777\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Remove API error from disabling submit (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60473\"\u003e#60473\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60658\"\u003e#60658\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Added toasters for permission denied (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/57966\"\u003e#57966\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/58016\"\u003e#58016\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60646\"\u003e#60646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Move row count and display toggle into DataTable (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/57680\"\u003e#57680\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60639\"\u003e#60639\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Fix/backfill permission error handling (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60582\"\u003e#60582\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60587\"\u003e#60587\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/apache/airflow/commit/83ff6ecec9dd71d8b8631248bc0725afc472acd7\"\u003e\u003ccode\u003e83ff6ec\u003c/code\u003e\u003c/a\u003e Update RELEASE_NOTES.rst for rc2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/caa057100f47ff8b659178a86d565163fb71e6f9\"\u003e\u003ccode\u003ecaa0571\u003c/code\u003e\u003c/a\u003e [v3-1-test] Fix JWT token generation with unset issuer/audience config (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/6127\"\u003e#6127\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/d82bb100d738b09d9604d692913062ae8a225ee4\"\u003e\u003ccode\u003ed82bb10\u003c/code\u003e\u003c/a\u003e Update RELEASE_NOTES.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/d24ec9a649f96b4417c8440526538d81c8c78a6a\"\u003e\u003ccode\u003ed24ec9a\u003c/code\u003e\u003c/a\u003e Update Airflow Version to 3.1.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/08a5859832fc59b3413abba09c7c182f15001d48\"\u003e\u003ccode\u003e08a5859\u003c/code\u003e\u003c/a\u003e [v3-1-test] Fix callback files losing priority during queue resort (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61232\"\u003e#61232\u003c/a\u003e) (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/3b41866a2ee244a7e00332213bd0a8a5e8eaedfe\"\u003e\u003ccode\u003e3b41866\u003c/code\u003e\u003c/a\u003e dag_processing: initialize versioned bundles for callbacks (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/52040\"\u003e#52040\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60734\"\u003e#60734\u003c/a\u003e) ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/c34d2c36f2a315bb6546a6de8176d2b24bebe18b\"\u003e\u003ccode\u003ec34d2c3\u003c/code\u003e\u003c/a\u003e [v3-1-test] Add 404 handling for non-existent Dag (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61131\"\u003e#61131\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61225\"\u003e#61225\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/dd1a86593f2bd38b50b9f2a0a91529d16f89d0c4\"\u003e\u003ccode\u003edd1a865\u003c/code\u003e\u003c/a\u003e Fix import errors not showing on UI (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61163\"\u003e#61163\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61213\"\u003e#61213\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/52b7aeae50805a26218d2fd9972135ee38005920\"\u003e\u003ccode\u003e52b7aea\u003c/code\u003e\u003c/a\u003e [v3-1-test] Explicitly set table ordering (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60609\"\u003e#60609\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61216\"\u003e#61216\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/5a2b2404cfe21d912b801925210fb507d0412bf4\"\u003e\u003ccode\u003e5a2b240\u003c/code\u003e\u003c/a\u003e [v3-1-test] Add guardrail to handle DAG deserialization errors in scheduler (...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/airflow/compare/3.1.0...3.1.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cryptography` from 44.0.2 to 46.0.5\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst\"\u003ecryptography's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e46.0.5 - 2026-02-10\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* An attacker could create a malicious public key that reveals portions of your\n  private key when using certain uncommon elliptic curves (binary curves).\n  This version now includes additional security checks to prevent this attack.\n  This issue only affects binary elliptic curves, which are rarely used in\n  real-world applications. Credit to **XlabAI Team of Tencent Xuanwu Lab and\n  Atuin Automated Vulnerability Discovery Engine** for reporting the issue.\n  **CVE-2026-26007**\n* Support for ``SECT*`` binary elliptic curves is deprecated and will be\n  removed in the next release.\n\u003cp\u003e.. v46-0-4:\u003c/p\u003e\n\u003cp\u003e46.0.4 - 2026-01-27\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eDropped support for win_arm64 wheels\u003c/code\u003e_.\u003c/li\u003e\n\u003cli\u003eUpdated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.5.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _v46-0-3:\u003c/p\u003e\n\u003cp\u003e46.0.3 - 2025-10-15\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Fixed compilation when using LibreSSL 4.2.0.\n\u003cp\u003e.. _v46-0-2:\u003c/p\u003e\n\u003cp\u003e46.0.2 - 2025-09-30\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.4.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _v46-0-1:\u003c/p\u003e\n\u003cp\u003e46.0.1 - 2025-09-16\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Fixed an issue where users installing via ``pip`` on Python 3.14 development\n  versions would not properly install a dependency.\n* Fixed an issue building the free-threaded macOS 3.14 wheels.\n\u003cp\u003e.. _v46-0-0:\u003c/p\u003e\n\u003cp\u003e46.0.0 - 2025-09-16\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eBACKWARDS INCOMPATIBLE:\u003c/strong\u003e Support for Python 3.7 has been removed.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/06e120e682cb200e3f7050c02f0bcdac90c4c6ad\"\u003e\u003ccode\u003e06e120e\u003c/code\u003e\u003c/a\u003e bump version for 46.0.5 release (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14289\"\u003e#14289\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/0eebb9dbb6343d9bc1d91e5a2482ed4e054a6d8c\"\u003e\u003ccode\u003e0eebb9d\u003c/code\u003e\u003c/a\u003e EC check key on cofactor \u0026gt; 1 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14287\"\u003e#14287\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/bedf6e186b814f69a3f54f51252c23a71d44ed2e\"\u003e\u003ccode\u003ebedf6e1\u003c/code\u003e\u003c/a\u003e fix openssl version on 46 branch (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14220\"\u003e#14220\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/e6f44fc8e6391f05d719fb9d369692325b87a471\"\u003e\u003ccode\u003ee6f44fc\u003c/code\u003e\u003c/a\u003e bump for 46.0.4 and drop win arm64 due to CI issues (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14217\"\u003e#14217\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/c0af4dd7b75921bbe9f1d41a03dbd4b64a9e3403\"\u003e\u003ccode\u003ec0af4dd\u003c/code\u003e\u003c/a\u003e release 46.0.3 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13681\"\u003e#13681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/99efe5ad150a56efadafacaffd0e3ee319373904\"\u003e\u003ccode\u003e99efe5a\u003c/code\u003e\u003c/a\u003e bump version for 46.0.2 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13531\"\u003e#13531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/e735cfc27502320101c130335c556394a125ba52\"\u003e\u003ccode\u003ee735cfc\u003c/code\u003e\u003c/a\u003e release 46.0.1 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13450\"\u003e#13450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/4e457ffba43a6d87efc63c33041e2081438dd8a4\"\u003e\u003ccode\u003e4e457ff\u003c/code\u003e\u003c/a\u003e Explicitly specify python in mac uv build invocation (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13447\"\u003e#13447\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/2726efdb6d67f1c90cf9c6062d9fe051965586f8\"\u003e\u003ccode\u003e2726efd\u003c/code\u003e\u003c/a\u003e Depend on CFFI 2.0.0 or newer on Python \u0026gt; 3.8 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13448\"\u003e#13448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/62230623d183706632c0eb7822c96ac95e3710a8\"\u003e\u003ccode\u003e6223062\u003c/code\u003e\u003c/a\u003e release 46.0.0 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13446\"\u003e#13446\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyca/cryptography/compare/44.0.2...46.0.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `protobuf` from 5.29.5 to 5.29.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/protocolbuffers/protobuf/releases\"\u003eprotobuf's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eProtocol Buffers v34.0-rc1\u003c/h2\u003e\n\u003ch1\u003eAnnouncements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eThis version includes breaking changes to: C++, Objective-C, PHP, Python.\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e[Bazel] Remove deprecated ProtoInfo.transitive_imports. Use equivalent transitive_sources instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/0a5c2f6b633c1e5259f566cb42d30fe347b8aadb\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/0a5c2f6b633c1e5259f566cb42d30fe347b8aadb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Make generator headers private (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/3a2af3510f0d454dbe3e4dc281674b61c4d20b9e\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/3a2af3510f0d454dbe3e4dc281674b61c4d20b9e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Add a debug check that the target of CopyFrom is not a descendant of the source. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/7a7589823d2cfaaf7994b050e98d5d553bc9b1c1\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/7a7589823d2cfaaf7994b050e98d5d553bc9b1c1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Add [[nodiscard]] to many APIs. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/a70115f33f9af2c4b2202c800b84837e7fe0d738\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/a70115f33f9af2c4b2202c800b84837e7fe0d738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Make the arena-enabled constructors of \u003ccode\u003eRepeatedField\u003c/code\u003e, \u003ccode\u003eRepeatedPtrField\u003c/code\u003e, and \u003ccode\u003eMap\u003c/code\u003e private. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/ef890c3d0c79398c70e047fe5dd893f460ba2336\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/ef890c3d0c79398c70e047fe5dd893f460ba2336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Remove deprecated FieldDescriptor::label() in OSS. Use is_repeated() or is_required() instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/b76faa921fdd244f374c7be0bddd4050fc42c292\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/b76faa921fdd244f374c7be0bddd4050fc42c292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Removes proto2::util::MessageDifferencer::AddIgnoreCriteria that takes a raw pointer as an argument in favor of the overload that takes a unique_ptr. Remove macro PROTOBUF_FUTURE_REMOVE_ADD_IGNORE_CRITERIA (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/b115358c64127896fed88b8b5ef5d91d86d8cbae\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/b115358c64127896fed88b8b5ef5d91d86d8cbae\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Remove deprecated FieldDescriptor::has_optional_keyword() in OSS. Use is_repeated() or has_presence() instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/68346ec9348e932664e58c3ecdcd1478f95233a8\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/68346ec9348e932664e58c3ecdcd1478f95233a8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Remove AddUnusedImportTrackFile() and ClearUnusedImportTrackFiles(). Remove PROTOBUF_FUTURE_RENAME_ADD_UNUSED_IMPORT (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/837a2cd1d6c75402b2503ffe7cd8aeaf25868536\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/837a2cd1d6c75402b2503ffe7cd8aeaf25868536\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Remove deprecated FieldDescriptor::is_optional() in OSS. Use (!is_required() \u0026amp;\u0026amp; !is_repeated()) instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/9dbc5d479a8e453921485d8d3de47fb3c005f1af\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/9dbc5d479a8e453921485d8d3de47fb3c005f1af\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Remove deprecated UseDeprecatedLegacyJsonFieldConflicts() (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/c301c2ca286327a21c50c0c4cd877afc9c655b00\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/c301c2ca286327a21c50c0c4cd877afc9c655b00\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] All entity names have length limit (2afb0dc)\u003c/li\u003e\n\u003cli\u003e[ObjC] Remove \u003ccode\u003egenerate_minimal_imports\u003c/code\u003e generation option warning (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/45b1297fdaad5a9436d0e207422168c38dc45ac4\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/45b1297fdaad5a9436d0e207422168c38dc45ac4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[ObjC] Fix nullability annotations on some \u003ccode\u003eGPB*Dictionary\u003c/code\u003e types. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/ea67d6d26a48478a567c404679e3bb99cf230d50\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/ea67d6d26a48478a567c404679e3bb99cf230d50\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[ObjC] Remove \u003ccode\u003e-[GPBFieldDescriptor optional]\u003c/code\u003e (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/3414dc151eb4dcbdb2ca952e2589993bf7af75c4\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/3414dc151eb4dcbdb2ca952e2589993bf7af75c4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Other] Remove deprecated flag for enabling MSVC support (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/97c979be6e0907e1051bee62584dac4594e73fa7\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/97c979be6e0907e1051bee62584dac4594e73fa7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PHP] Remove deprecated PHP APIs (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/9c45014099a4f7004fab6dd1278de2f4f2a393c5\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/9c45014099a4f7004fab6dd1278de2f4f2a393c5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PHP] Remove deprecated PHP APIs FieldDescriptor getLabel, use IsRepeated or isRequired instead. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/42081219920c6fad17ba6ddd1e28d111bcfb3345\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/42081219920c6fad17ba6ddd1e28d111bcfb3345\u003c/a\u003e, \u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/cd76e675b14d00dda5623b30835d2bc7105fccc6\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/cd76e675b14d00dda5623b30835d2bc7105fccc6\u003c/a\u003e, \u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/42081219920c6fad17ba6ddd1e28d111bcfb3345\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/42081219920c6fad17ba6ddd1e28d111bcfb3345\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PHP]  Add PHP typehints for setters and remove redundant GPBUtil checks (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/pull/25296\"\u003eprotocolbuffers/protobuf#25296\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/aee03b78929c02461a5f9d8e136a2a016359b0cd\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/aee03b78929c02461a5f9d8e136a2a016359b0cd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PHP]  support default values for editions/proto2 (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/pull/25161\"\u003eprotocolbuffers/protobuf#25161\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/b01099d56350551bae3da88b97bf3027274c9f17\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/b01099d56350551bae3da88b97bf3027274c9f17\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Raise errors in OSS when assign bool to int/enum field in Python Proto. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/5b116fe2f14f49dd0cc3b76089983717f211025c\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/5b116fe2f14f49dd0cc3b76089983717f211025c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Remove float_format/double_format from python proto text_format (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/e4854a186e0bfa867d5bfa5cd850608a948fd488\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/e4854a186e0bfa867d5bfa5cd850608a948fd488\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Raise TypeError when convert non-timedelta to Duration, or convert non-datetime to Timestamp in python proto. (Original code may raise ArributeError) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/00aaca1b4d98954bc2933d7c8a5379ba6088124c\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/00aaca1b4d98954bc2933d7c8a5379ba6088124c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Remove float_precision from python proto json_format (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/f027f1fcd52b9d080b7ee79f4024f53cf54e0dc5\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/f027f1fcd52b9d080b7ee79f4024f53cf54e0dc5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Remove deprecated FieldDescriptor::label() in OSS. Use is_repeated() or is_required() instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/b76faa921fdd244f374c7be0bddd4050fc42c292\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/b76faa921fdd244f374c7be0bddd4050fc42c292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Remove deprecated FieldDescriptor.label (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/0a8ff55518ea5874478ad5b26515b31d186045a9\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/0a8ff55518ea5874478ad5b26515b31d186045a9\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Remove deprecated UseDeprecatedLegacyJsonFieldConflicts() (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/c301c2ca286327a21c50c0c4cd877afc9c655b00\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/c301c2ca286327a21c50c0c4cd877afc9c655b00\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://protobuf.dev/news/\"\u003eProtobuf News\u003c/a\u003e may include additional announcements or pre-announcements for upcoming changes.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://protobuf.dev/support/migration/\"\u003eMigration Guide\u003c/a\u003e may include additional guidance for breaking changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eBazel\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix: cc_toolchain should prefer protoc when prebuilt flag is flipped. (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/issues/25168\"\u003e#25168\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/8c857c3a1c6a106b0a096f1c9fa504bfaca035a9\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/8c857c3a1c6a106b0a096f1c9fa504bfaca035a9\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBreaking change: Remove deprecated ProtoInfo.transitive_imports. Use equivalent transitive_sources instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/0a5c2f6b633c1e5259f566cb42d30fe347b8aadb\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/0a5c2f6b633c1e5259f566cb42d30fe347b8aadb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFeat(bazel): wire up prebuilt protoc toolchain (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/issues/24115\"\u003e#24115\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/cc23698b486e690ea2eb873cc7596a87c74a3ba6\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/cc23698b486e690ea2eb873cc7596a87c74a3ba6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMigrate \u003ccode\u003eproto_descriptor_set\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/issues/23369\"\u003e#23369\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/8d4dfdd39a7a242a9ed631a6ab2192c57dd9b9c8\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/8d4dfdd39a7a242a9ed631a6ab2192c57dd9b9c8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eCompiler\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eRuby codegen: support generation of rbs files (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/issues/15633\"\u003e#15633\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/6ebdf851ba78728f0aa145d38454ed9a316fb08d\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/6ebdf851ba78728f0aa145d38454ed9a316fb08d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid collision name problems between a message named \u003ccode\u003eXyz\u003c/code\u003e and a direct sibling enum named \u003ccode\u003eXyzView\u003c/code\u003e (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/eba53e8f172b273d679759a72ce4250131ee3df1\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/eba53e8f172b273d679759a72ce4250131ee3df1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGeneralizing and implementing ValidateFeatureSupport for both Options and Features during proto parsing (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/ed3c57114d8e2b47cca7697ddaa50c1b3762a6b0\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/ed3c57114d8e2b47cca7697ddaa50c1b3762a6b0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a bug with custom features outside of the \u003ccode\u003epb\u003c/code\u003e package. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/872d3ce7a4da00d7dcec33ced20cfe45235935e8\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/872d3ce7a4da00d7dcec33ced20cfe45235935e8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix import option handling when include_imports isn't set. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/9ef9e80afd9bc8379d578fe67e5ab0738728c04e\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/9ef9e80afd9bc8379d578fe67e5ab0738728c04e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a bug in STRICT check of namespaced enums to properly check for 'reserved 1 to max' (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/1229d4adba24c0952ab85ce96bc7b7f8a1fe6d0f\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/1229d4adba24c0952ab85ce96bc7b7f8a1fe6d0f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent accidental stripping of \u003ccode\u003edebug_redact\u003c/code\u003e options via import option. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/f58b098bffa7ca4045ef7773b09151a6af5d0c28\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/f58b098bffa7ca4045ef7773b09151a6af5d0c28\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eC++\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd EnumerateEnumValues function. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/397d5d99db274b379d1384814074bf7df39d32f7\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/397d5d99db274b379d1384814074bf7df39d32f7\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\u003eSee full diff in \u003ca href=\"https://github.com/protocolbuffers/protobuf/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `python-multipart` from 0.0.21 to 0.0.22\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kludex/python-multipart/releases\"\u003epython-multipart's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0.0.22\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop directory path from filename in \u003ccode\u003eFile\u003c/code\u003e \u003ca href=\"https://github.com/Kludex/python-multipart/commit/9433f4bbc9652bdde82bbe380984e32f8cfc89c4\"\u003e9433f4b\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/python-multipart/compare/0.0.21...0.0.22\"\u003ehttps://github.com/Kludex/python-multipart/compare/0.0.21...0.0.22\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/Kludex/python-multipart/blob/master/CHANGELOG.md\"\u003epython-multipart's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.22 (2026-01-25)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop directory path from filename in \u003ccode\u003eFile\u003c/code\u003e \u003ca href=\"https://github.com/Kludex/python-multipart/commit/9433f4bbc9652bdde82bbe380984e32f8cfc89c4\"\u003e9433f4b\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/Kludex/python-multipart/commit/bea7bbb2904da8ce39123a845088dc72464eaddf\"\u003e\u003ccode\u003ebea7bbb\u003c/code\u003e\u003c/a\u003e Version 0.0.22 (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/222\"\u003e#222\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/0fb59a9df0f273bfde99740b302ccb2ae45e2b8a\"\u003e\u003ccode\u003e0fb59a9\u003c/code\u003e\u003c/a\u003e chore: add return type on test (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/221\"\u003e#221\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/9433f4bbc9652bdde82bbe380984e32f8cfc89c4\"\u003e\u003ccode\u003e9433f4b\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/d5c91ecb0aa1cae03fe2d9811d193c952e714f17\"\u003e\u003ccode\u003ed5c91ec\u003c/code\u003e\u003c/a\u003e Bump the github-actions group with 2 updates (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/219\"\u003e#219\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/5a90631b484f8d3284b691d453c24be3db57f5cb\"\u003e\u003ccode\u003e5a90631\u003c/code\u003e\u003c/a\u003e bump uv (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/218\"\u003e#218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/Kludex/python-multipart/compare/0.0.21...0.0.22\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sqlparse` from 0.5.3 to 0.5.4\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/andialbrecht/sqlparse/blob/master/CHANGELOG\"\u003esqlparse's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 0.5.4 (Nov 28, 2025)\u003c/h2\u003e\n\u003cp\u003eEnhancements\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eAdd type annotations to top-level API functions and include py.typed marker\nfor PEP 561 compliance, enabling type checking with mypy and other tools\n(issue756).\u003c/li\u003e\n\u003cli\u003eAdd pre-commit hook support. sqlparse can now be used as a pre-commit hook\nto automatically format SQL files. The CLI now supports multiple files and\nan \u003ccode\u003e--in-place\u003c/code\u003e flag for in-place editing (issue537).\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eATTACH\u003c/code\u003e and \u003ccode\u003eDETACH\u003c/code\u003e to PostgreSQL keywords (pr808).\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eINTERSECT\u003c/code\u003e to close keywords in WHERE clause (pr820).\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003eREGEXP BINARY\u003c/code\u003e comparison operator (pr817).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBug Fixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd additional protection against denial of service attacks when parsing\nvery large lists of tuples. This enhances the existing recursion protections\nwith configurable limits for token processing to prevent DoS through\nalgorithmic complexity attacks. The new limits (MAX_GROUPING_DEPTH=100,\nMAX_GROUPING_TOKENS=10000) can be adjusted or disabled (by setting to None)\nif needed for legitimate large SQL statements.\u003c/li\u003e\n\u003cli\u003eRemove shebang from cli.py and remove executable flag (pr818).\u003c/li\u003e\n\u003cli\u003eFix strip_comments not removing all comments when input contains only\ncomments (issue801, pr803 by stropysh).\u003c/li\u003e\n\u003cli\u003eFix splitting statements with IF EXISTS/IF NOT EXISTS inside BEGIN...END\nblocks (issue812).\u003c/li\u003e\n\u003cli\u003eFix splitting on semicolons inside BEGIN...END blocks (issue809).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/14e300b165b14d1a7662a071c6481b503d367528\"\u003e\u003ccode\u003e14e300b\u003c/code\u003e\u003c/a\u003e Bump version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/96a67e286963b2497b1b3f7a1378327af6661998\"\u003e\u003ccode\u003e96a67e2\u003c/code\u003e\u003c/a\u003e Code cleanup.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/1a3bfbd50b82c05d9adcc51bacba059671dc1bc7\"\u003e\u003ccode\u003e1a3bfbd\u003c/code\u003e\u003c/a\u003e Fix handling of semicolons inside BEGIN...END blocks (fixes \u003ca href=\"https://redirect.github.com/andialbrecht/sqlparse/issues/809\"\u003e#809\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/e92a032c81d51a6645b4f8c32470481894818ba0\"\u003e\u003ccode\u003ee92a032\u003c/code\u003e\u003c/a\u003e Fix handling of IF EXISTS statements in BEGIN...END blocks (fixes \u003ca href=\"https://redirect.github.com/andialbrecht/sqlparse/issues/812\"\u003e#812\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/149bebf06c788e93a9b0dbee0e5abbc8e347b8e6\"\u003e\u003ccode\u003e149bebf\u003c/code\u003e\u003c/a\u003e Update Changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/561a67e740e9623cf81ef99f1a6cd94337e24282\"\u003e\u003ccode\u003e561a67e\u003c/code\u003e\u003c/a\u003e Update AUTHORS.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/73c8ba3ae88b608d39740c0776fb15064232258e\"\u003e\u003ccode\u003e73c8ba3\u003c/code\u003e\u003c/a\u003e bugfix ISSUE_801; Remove all comments when only comments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/1b323879f87207946e4782812e2e1254b1c0c659\"\u003e\u003ccode\u003e1b32387\u003c/code\u003e\u003c/a\u003e Update action to run on all prs.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/31903e09db518ee3969110073427196ef9cd46c3\"\u003e\u003ccode\u003e31903e0\u003c/code\u003e\u003c/a\u003e Add pre-commit hook support (fixes \u003ca href=\"https://redirect.github.com/andialbrecht/sqlparse/issues/537\"\u003e#537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/13577264eb38b88e24825022fea4bd4351449e7c\"\u003e\u003ccode\u003e1357726\u003c/code\u003e\u003c/a\u003e docs: add AGENTS.md for project guidance and development commands\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/andialbrecht/sqlparse/compare/0.5.3...0.5.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cryptography` from 44.0.1 to 46.0.5\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst\"\u003ecryptography's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e46.0.5 - 2026-02-10\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* An attacker could create a malicious public key that reveals portions of your\n  private key when using certain uncommon elliptic curves (binary curves).\n  This version now includes additional security checks to prevent this attack.\n  This issue only affects binary elliptic curves, which are rarely used in\n  real-world applications. Credit to **XlabAI Team of Tencent Xuanwu Lab and\n  Atuin Automated Vulnerability Discovery Engine** for reporting the issue.\n  **CVE-2026-26007**\n* Support for ``SECT*`` binary elliptic curves is deprecated and will be\n  removed in the next release.\n\u003cp\u003e.. v46-0-4:\u003c/p\u003e\n\u003cp\u003e46.0.4 - 2026-01-27\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eDropped support for win_arm64 wheels\u003c/code\u003e_.\u003c/li\u003e\n\u003cli\u003eUpdated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.5.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _v46-0-3:\u003c/p\u003e\n\u003cp\u003e46.0.3 - 2025-10-15\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Fixed compilation when using LibreSSL 4.2.0.\n\u003cp\u003e.. _v46-0-2:\u003c/p\u003e\n\u003cp\u003e46.0.2 - 2025-09-30\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.4.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _v46-0-1:\u003c/p\u003e\n\u003cp\u003e46.0.1 - 2025-09-16\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Fixed an issue where users installing via ``pip`` on Python 3.14 development\n  versions would not properly install a dependency.\n* Fixed an issue building the free-threaded macOS 3.14 wheels.\n\u003cp\u003e.. _v46-0-0:\u003c/p\u003e\n\u003cp\u003e46.0.0 - 2025-09-16\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eBACKWARDS INCOMPATIBLE:\u003c/strong\u003e Support for Python 3.7 has been removed.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/06e120e682cb200e3f7050c02f0bcdac90c4c6ad\"\u003e\u003ccode\u003e06e120e\u003c/code\u003e\u003c/a\u003e bump version for 46.0.5 release (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14289\"\u003e#14289\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/0eebb9dbb6343d9bc1d91e5a2482ed4e054a6d8c\"\u003e\u003ccode\u003e0eebb9d\u003c/code\u003e\u003c/a\u003e EC check key on cofactor \u0026gt; 1 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14287\"\u003e#14287\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/bedf6e186b814f69a3f54f51252c23a71d44ed2e\"\u003e\u003ccode\u003ebedf6e1\u003c/code\u003e\u003c/a\u003e fix openssl version on 46 branch (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14220\"\u003e#14220\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/e6f44fc8e6391f05d719fb9d369692325b87a471\"\u003e\u003ccode\u003ee6f44fc\u003c/code\u003e\u003c/a\u003e bump for 46.0.4 and drop win arm64 due to CI issues (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14217\"\u003e#14217\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/c0af4dd7b75921bbe9f1d41a03dbd4b64a9e3403\"\u003e\u003ccode\u003ec0af4dd\u003c/code\u003e\u003c/a\u003e release 46.0.3 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13681\"\u003e#13681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/99efe5ad150a56efadafacaffd0e3ee319373904\"\u003e\u003ccode\u003e99efe5a\u003c/code\u003e\u003c/a\u003e bump version for 46.0.2 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13531\"\u003e#13531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/e735cfc27502320101c130335c556394a125ba52\"\u003e\u003ccode\u003ee735cfc\u003c/code\u003e\u003c/a\u003e release 46.0.1 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13450\"\u003e#13450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/4e457ffba43a6d87efc63c33041e2081438dd8a4\"\u003e\u003ccode\u003e4e457ff\u003c/code\u003e\u003c/a\u003e Explicitly specify python in mac uv build invocation (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13447\"\u003e#13447\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/2726efdb6d67f1c90cf9c6062d9fe051965586f8\"\u003e\u003ccode\u003e2726efd\u003c/code\u003e\u003c/a\u003e Depend on CFFI 2.0.0 or newer on Python \u0026gt; 3.8 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13448\"\u003e#13448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/62230623d183706632c0eb7822c96ac95e3710a8\"\u003e\u003ccode\u003e6223062\u003c/code\u003e\u003c/a\u003e release 46.0.0 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13446\"\u003e#13446\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyca/cryptography/compare/44.0.2...46.0.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sqlparse` from 0.5.3 to 0.5.4\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/andialbrecht/sqlparse/blob/master/CHANGELOG\"\u003esqlparse's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 0.5.4 (Nov 28, 2025)\u003c/h2\u003e\n\u003cp\u003eEnhancements\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eAdd type annotations to top-level API functions and include py.typed marker\nfor PEP 561 compliance, enabling type checking with mypy and other tools\n(issue756).\u003c/li\u003e\n\u003cli\u003eAdd pre-commit hook support. sqlparse can now be used as a pre-commit hook\nto automatically format SQL files. The CLI now supports multiple files and\nan \u003ccode\u003e--in-place\u003c/code\u003e flag for in-place editing (issue537).\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eATTACH\u003c/code\u003e and \u003ccode\u003eDETACH\u003c/code\u003e to PostgreSQL keywords (pr808).\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eINTERSECT\u003c/code\u003e to close keywords in WHERE clause (pr820).\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003eREGEXP BINARY\u003c/code\u003e comparison operator (pr817).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBug Fixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd additional protection against denial of service attacks when parsing\nvery large lists of tuples. This enhances the existing recursion protections\nwith configurable limits for token processing to prevent DoS through\nalgorithmic complexity attacks. The new limits (MAX_GROUPING_DEPTH=100,\nMAX_GROUPING_TOKENS=10000) can be adjusted or disabled (by setting to None)\nif needed for legitimate large SQL statements.\u003c/li\u003e\n\u003cli\u003eRemove shebang from cli.py and remove executable flag (pr818).\u003c/li\u003e\n\u003cli\u003eFix strip_comments not removing all comments when input contains only\ncomments (issue801, pr803 by stropysh).\u003c/li\u003e\n\u003cli\u003eFix splitting statements with IF EXISTS/IF NOT EXISTS inside BEGIN...END\nblocks (issue812).\u003c/li\u003e\n\u003cli\u003eFix splitting on semicolons inside BEGIN...END blocks (issue809).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/14e300b165b14d1a7662a071c6481b503d367528\"\u003e\u003ccode\u003e14e300b\u003c/code\u003e\u003c/a\u003e Bump version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/96a67e286963b2497b1b3f7a1378327af6661998\"\u003e\u003ccode\u003e96a67e2\u003c/code\u003e\u003c/a\u003e Code cleanup.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/1a3bfbd50b82c05d9adcc51bacba059671dc1bc7\"\u003e\u003ccode\u003e1a3bfbd\u003c/code\u003e\u003c/a\u003e Fix handling of semicolons inside BEGIN...END blocks (fixes \u003ca href=\"https://redirect.github.com/andialbrecht/sqlparse/issues/809\"\u003e#809\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/e92a032c81d51a6645b4f8c32470481894818ba0\"\u003e\u003ccode\u003ee92a032\u003c/code\u003e\u003c/a\u003e Fix handling of IF EXISTS statements in BEGIN...END blocks (fixes \u003ca href=\"https://redirect.github.com/andialbrecht/sqlparse/issues/812\"\u003e#812\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/149bebf06c788e93a9b0dbee0e5abbc8e347b8e6\"\u003e\u003ccode\u003e149bebf\u003c/code\u003e\u003c/a\u003e Update Changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/561a67e740e9623cf81ef99f1a6cd94337e24282\"\u003e\u003ccode\u003e561a67e\u003c/code\u003e\u003c/a\u003e Update AUTHORS.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/73c8ba3ae88b608d39740c0776fb15064232258e\"\u003e\u003ccode\u003e73c8ba3\u003c/code\u003e\u003c/a\u003e bugfix ISSUE_801; Remove all comments when only comments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/1b323879f87207946e4782812e2e1254b1c0c659\"\u003e\u003ccode\u003e1b32387\u003c/code\u003e\u003c/a\u003e Update action to run on all prs.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/31903e09db518ee3969110073427196ef9cd46c3\"\u003e\u003ccode\u003e31903e0\u003c/code\u003e\u003c/a\u003e Add pre-commit hook support (fixes \u003ca href=\"https://redirect.github.com/andialbrecht/sqlparse/issues/537\"\u003e#537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andialbrecht/sqlparse/commit/13577264eb38b88e24825022fea4bd4351449e7c\"\u003e\u003ccode\u003e1357726\u003c/code\u003e\u003c/a\u003e docs: add AGENTS.md for project guidance and development commands\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/andialbrecht/sqlparse/compare/0.5.3...0.5.4\"\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\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/Health-Informatics-UoN/carrot-mapper/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/Health-Informatics-UoN/carrot-mapper/pull/1287","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Health-Informatics-UoN%2Fcarrot-mapper/issues/1287","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1287/packages"}},{"old_version":"3.0.1","new_version":"3.0.6","update_type":"patch","path":"/pyreqs","pr_created_at":"2026-02-11T21:47:16.000Z","version_change":"3.0.1 → 3.0.6","issue":{"uuid":"3928828630","node_id":"PR_kwDOKn4vC87DH_Oz","number":9,"state":"closed","title":"Bump apache-airflow from 3.0.1 to 3.0.6 in /pyreqs","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-02-15T19:33:02.000Z","author_association":null,"state_reason":null,"created_at":"2026-02-11T21:47:16.000Z","updated_at":"2026-02-15T19:33:03.000Z","time_to_close":337546,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"apache-airflow","old_version":"3.0.1","new_version":"3.0.6","repository_url":"https://github.com/apache/airflow"}],"path":"/pyreqs","ecosystem":"pip"},"body":"Bumps [apache-airflow](https://github.com/apache/airflow) from 3.0.1 to 3.0.6.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/airflow/releases\"\u003eapache-airflow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eAirflow 3.0.6\u003c/h2\u003e\n\u003cp\u003e📦 PyPI: \u003ca href=\"https://pypi.org/project/apache-airflow/3.0.6/\"\u003ehttps://pypi.org/project/apache-airflow/3.0.6/\u003c/a\u003e\n📚 Docs: \u003ca href=\"https://airflow.apache.org/docs/apache-airflow/3.0.6/\"\u003ehttps://airflow.apache.org/docs/apache-airflow/3.0.6/\u003c/a\u003e\n🛠️ Release Notes: \u003ca href=\"https://airflow.apache.org/docs/apache-airflow/3.0.6/release_notes.html\"\u003ehttps://airflow.apache.org/docs/apache-airflow/3.0.6/release_notes.html\u003c/a\u003e\n🪶 Sources: \u003ca href=\"https://airflow.apache.org/docs/apache-airflow/3.0.6/installation/installing-from-sources.html\"\u003ehttps://airflow.apache.org/docs/apache-airflow/3.0.6/installation/installing-from-sources.html\u003c/a\u003e\n🐳 Docker Image: \u0026quot;docker pull apache/airflow:3.0.6\u0026quot;\n🚏 Constraints: \u003ca href=\"https://github.com/apache/airflow/tree/constraints-3.0.6\"\u003ehttps://github.com/apache/airflow/tree/constraints-3.0.6\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix Connection extra field masking errors when connections use masked values (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54780\"\u003e#54780\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Fix \u003ccode\u003eTriggerDagRunLink\u003c/code\u003e broken page when clicking \u0026quot;Triggered DAG\u0026quot; button (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54760\"\u003e#54760\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix remote logging connection availability in Task SDK supervisor when connections are created via UI (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54720\"\u003e#54720\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003etask_queued_timeout\u003c/code\u003e not working after first DAG run by properly resetting \u003ccode\u003equeued_by_job_id\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54604\"\u003e#54604\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix DAG version determination to use bundle path and relative fileloc instead of absolute fileloc (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54483\"\u003e#54483\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove Kerberos replay cache (\u003ccode\u003eKRB5CCNAME\u003c/code\u003e env) when running tasks with user impersonation (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54672\"\u003e#54672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip additional span-related database queries when tracing is disabled (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54626\"\u003e#54626\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003emax_active_tasks\u003c/code\u003e persisting after removal from DAG code (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54639\"\u003e#54639\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Automatically switch to the triggered DAG run in Graph/Grid view when manually triggering a DAG run (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54336\"\u003e#54336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Fix \u0026quot;Maximum update depth exceeded\u0026quot; errors in Task Log Preview by filtering out empty log entries (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54628\"\u003e#54628\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix custom logging configuration failures preventing triggerer and scheduler startup with simple module paths (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54686\"\u003e#54686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix MySQL UUID generation in task_instance migration (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54814\"\u003e#54814\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOnly redirect on the dag detail page (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54921\"\u003e#54921\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix local executor task execution (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54922\"\u003e#54922\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eMiscellaneous\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd logging when triggerer reaches maximum trigger capacity for better observability (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54549\"\u003e#54549\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePoint deprecation warning in Variable methods to specific alternatives (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54871\"\u003e#54871\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePoint deprecation warning in Connection method to specific alternatives (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54872\"\u003e#54872\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump \u003ccode\u003eaxios\u003c/code\u003e UI dependency from \u003ccode\u003e1.8.0\u003c/code\u003e to \u003ccode\u003e1.11.0\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54733\"\u003e#54733\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump \u003ccode\u003epluggy\u003c/code\u003e to \u003ccode\u003e1.6.0\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54728\"\u003e#54728\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/apache/airflow/issues/54730\"\u003e#54730\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDoc Only Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix broken link for Listener spec (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54535\"\u003e#54535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove experimental status from \u003ccode\u003eget_parsing_context\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54802\"\u003e#54802\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCorrect Trigger-Form UI documentation for current Airflow 3 features (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54806\"\u003e#54806\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd backfill through UI to docs (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54910\"\u003e#54910\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/apache/airflow/compare/3.0.5...3.0.6\"\u003ehttps://github.com/apache/airflow/compare/3.0.5...3.0.6\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eAirflow 3.0.5\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003e📦 PyPI: \u003ca href=\"https://pypi.org/project/apache-airflow/3.0.5/\"\u003ehttps://pypi.org/project/apache-airflow/3.0.5/\u003c/a\u003e\n📚 Docs: \u003ca href=\"https://airflow.apache.org/docs/apache-airflow/3.0.5/\"\u003ehttps://airflow.apache.org/docs/apache-airflow/3.0.5/\u003c/a\u003e\n🛠️ Release Notes: \u003ca href=\"https://airflow.apache.org/docs/apache-airflow/3.0.5/release_notes.html\"\u003ehttps://airflow.apache.org/docs/apache-airflow/3.0.5/release_notes.html\u003c/a\u003e\n🪶 Sources: \u003ca href=\"https://airflow.apache.org/docs/apache-airflow/3.0.5/installation/installing-from-sources.html\"\u003ehttps://airflow.apache.org/docs/apache-airflow/3.0.5/installation/installing-from-sources.html\u003c/a\u003e\n🐳 Docker Image: \u0026quot;docker pull apache/airflow:3.0.5\u0026quot;\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/e965c2e676d85ced65a485d4b2601addc2fd3e97\"\u003e\u003ccode\u003ee965c2e\u003c/code\u003e\u003c/a\u003e Update release notes for 3.0.6rc2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/f0824266977a247dc64f8a8ec791dd4c9b5f6366\"\u003e\u003ccode\u003ef082426\u003c/code\u003e\u003c/a\u003e [v3-0-test] Fix local executor task execution (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54523\"\u003e#54523\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54922\"\u003e#54922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/5fd168844f0ffd5e4bbda51b0336f5c8281d9a93\"\u003e\u003ccode\u003e5fd1688\u003c/code\u003e\u003c/a\u003e Only redirect on the dag detail page (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54920\"\u003e#54920\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54921\"\u003e#54921\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/7be5135b981838eff1eebf85d9712ff756b4fb57\"\u003e\u003ccode\u003e7be5135\u003c/code\u003e\u003c/a\u003e [v3-0-test] Add backfill through UI to docs (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54893\"\u003e#54893\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54910\"\u003e#54910\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/ecb170324d5e1add79be9a95f328920e8c845d1e\"\u003e\u003ccode\u003eecb1703\u003c/code\u003e\u003c/a\u003e [v3-0-test] Migrate windows-latest label to windows-2025 (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54866\"\u003e#54866\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54878\"\u003e#54878\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/2ae28083fe3fca12962cfc81ae692fc9bed54dd4\"\u003e\u003ccode\u003e2ae2808\u003c/code\u003e\u003c/a\u003e [v3-0-test] Fixing typo in upgrade checks CI script (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54873\"\u003e#54873\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54877\"\u003e#54877\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/a8aa67f38d2be9aa2b1df41eb3a9f52ed08cecfb\"\u003e\u003ccode\u003ea8aa67f\u003c/code\u003e\u003c/a\u003e [v3-0-test] Point deprecation warning in Variable methods to specific alterna...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/5c1b8b0a5b43ad27ea55b80e7216cd57432662e1\"\u003e\u003ccode\u003e5c1b8b0\u003c/code\u003e\u003c/a\u003e Point deprecation warning in Connection method to specific alternatives (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/548\"\u003e#548\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/0f4f663293ba635f369017c234bafc0a44d1d432\"\u003e\u003ccode\u003e0f4f663\u003c/code\u003e\u003c/a\u003e [v3-0-test] Standardize uv and prek installation (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54864\"\u003e#54864\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54870\"\u003e#54870\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/48084ea9451ffd89f8fced80a99583485af40093\"\u003e\u003ccode\u003e48084ea\u003c/code\u003e\u003c/a\u003e [v3-0-test] Bump UV and Prek versions (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54854\"\u003e#54854\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/54862\"\u003e#54862\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/airflow/compare/3.0.1...3.0.6\"\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=apache-airflow\u0026package-manager=pip\u0026previous-version=3.0.1\u0026new-version=3.0.6)](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)\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/ruupert/dags/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/ruupert/dags/pull/9","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruupert%2Fdags/issues/9","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/9/packages"}},{"old_version":"3.1.5","new_version":"3.1.7","update_type":"patch","path":null,"pr_created_at":"2026-02-11T21:43:13.000Z","version_change":"3.1.5 → 3.1.7","issue":{"uuid":"3928815413","node_id":"PR_kwDOKwCsBM7DH8fW","number":13,"state":"open","title":"deps(deps): bump apache-airflow from 3.1.5 to 3.1.7","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-02-11T21:43:13.000Z","updated_at":"2026-02-11T21:43:14.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(deps)","packages":[{"name":"apache-airflow","old_version":"3.1.5","new_version":"3.1.7","repository_url":"https://github.com/apache/airflow"}],"path":null,"ecosystem":"pip"},"body":"Bumps [apache-airflow](https://github.com/apache/airflow) from 3.1.5 to 3.1.7.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/airflow/releases\"\u003eapache-airflow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eApache Airflow 3.1.7\u003c/h2\u003e\n\u003cp\u003e📦 PyPI: \u003ca href=\"https://pypi.org/project/apache-airflow/3.1.7/\"\u003ehttps://pypi.org/project/apache-airflow/3.1.7/\u003c/a\u003e\n📚 Docs: \u003ca href=\"https://airflow.apache.org/docs/apache-airflow/3.1.7/\"\u003ehttps://airflow.apache.org/docs/apache-airflow/3.1.7/\u003c/a\u003e\n🛠 Release Notes: \u003ca href=\"https://airflow.apache.org/docs/apache-airflow/3.1.7/release_notes.html\"\u003ehttps://airflow.apache.org/docs/apache-airflow/3.1.7/release_notes.html\u003c/a\u003e\n🐳 Docker Image: \u0026quot;docker pull apache/airflow:3.1.7\u0026quot;\n🚏 Constraints: \u003ca href=\"https://github.com/apache/airflow/tree/constraints-3.1.7\"\u003ehttps://github.com/apache/airflow/tree/constraints-3.1.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eSignificant Changes\u003c/h2\u003e\n\u003cp\u003eNo significant changes.\u003c/p\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix JWT token generation with unset issuer/audience config (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61331\"\u003e#61331\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix callback files losing priority during queue resort (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61232\"\u003e#61232\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61243\"\u003e#61243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Dag callback for versioned bundles in the processor (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60734\"\u003e#60734\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61230\"\u003e#61230\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd 404 handling for non-existent Dag (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61131\"\u003e#61131\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61225\"\u003e#61225\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd guardrail to handle Dag deserialization errors in scheduler (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61162\"\u003e#61162\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61210\"\u003e#61210\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix asset scheduling for stale Dags (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/59337\"\u003e#59337\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60022\"\u003e#60022\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61106\"\u003e#61106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix unnecessary Dag version churn when Dag file paths change (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60799\"\u003e#60799\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix missing warning when Bundle path may not be accessible to impersonated user (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60278\"\u003e#60278\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eTriggerDagRunOperator\u003c/code\u003e deferring when \u003ccode\u003ewait_for_completion=False\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60052\"\u003e#60052\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix NoneType error when updating serialized Dag (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/56422\"\u003e#56422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Pool API slots validation (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61071\"\u003e#61071\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61114\"\u003e#61114\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix DagBag parsing by adding bundle_path temporarily to sys.path (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/55894\"\u003e#55894\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61053\"\u003e#61053\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix API to respect maximum page limit (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60989\"\u003e#60989\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61073\"\u003e#61073\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent Triggerer from crashing when a trigger event isn't serializable (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60152\"\u003e#60152\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60981\"\u003e#60981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix permissions on get_event_logs endpoint (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60936\"\u003e#60936\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60958\"\u003e#60958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Dag access control for dag_id in query param (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60935\"\u003e#60935\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60959\"\u003e#60959\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix root logger to use log_level instead of hardcoded INFO level (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60784\"\u003e#60784\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60970\"\u003e#60970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Dag processor OOM by Avoid loading all TaskInstances when checking DagVersion in write_dag (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60937\"\u003e#60937\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60962\"\u003e#60962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix worker startup Dag load failures by rescheduling tasks instead of exiting (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/59604\"\u003e#59604\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60926\"\u003e#60926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix permissions check in import error APIs (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60801\"\u003e#60801\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60884\"\u003e#60884\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix refresh-token invalidation by logging out the user (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60781\"\u003e#60781\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60881\"\u003e#60881\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix connection test API to restore masked password/extra from existing connections (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/59643\"\u003e#59643\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60873\"\u003e#60873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Dag processor overhead by applying \u003ccode\u003egc.freeze\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60505\"\u003e#60505\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60845\"\u003e#60845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Dag processor crashing due to MySQL deadlock errors (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60166\"\u003e#60166\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60418\"\u003e#60418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure unique run_id across manually triggered Dags with schedules (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/59477\"\u003e#59477\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60468\"\u003e#60468\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Avoid gantt annotation error during resize (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60877\"\u003e#60877\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Fix react apps plugins router (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61206\"\u003e#61206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Reset pagination on search in all pages (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61169\"\u003e#61169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Explicitly set UI table ordering (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60609\"\u003e#60609\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61216\"\u003e#61216\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Plugins pagination fix  \u003ca href=\"https://redirect.github.com/apache/airflow/issues/61055\"\u003e#61055\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61059\"\u003e#61059\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61129\"\u003e#61129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Fix ui get dags permission endpoint for user without Dag run permissions (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60979\"\u003e#60979\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60988\"\u003e#60988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Convert Tasks Table from card to table mode (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60830\"\u003e#60830\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60874\"\u003e#60874\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Fix slow log scrolling for large task logs (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60806\"\u003e#60806\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60875\"\u003e#60875\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Grey out trigger button on API 403 (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60648\"\u003e#60648\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60777\"\u003e#60777\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Remove API error from disabling submit (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60473\"\u003e#60473\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60658\"\u003e#60658\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Added toasters for permission denied (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/57966\"\u003e#57966\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/58016\"\u003e#58016\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60646\"\u003e#60646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Move row count and display toggle into DataTable (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/57680\"\u003e#57680\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60639\"\u003e#60639\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUI: Fix/backfill permission error handling (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60582\"\u003e#60582\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60587\"\u003e#60587\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/apache/airflow/commit/83ff6ecec9dd71d8b8631248bc0725afc472acd7\"\u003e\u003ccode\u003e83ff6ec\u003c/code\u003e\u003c/a\u003e Update RELEASE_NOTES.rst for rc2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/caa057100f47ff8b659178a86d565163fb71e6f9\"\u003e\u003ccode\u003ecaa0571\u003c/code\u003e\u003c/a\u003e [v3-1-test] Fix JWT token generation with unset issuer/audience config (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/6127\"\u003e#6127\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/d82bb100d738b09d9604d692913062ae8a225ee4\"\u003e\u003ccode\u003ed82bb10\u003c/code\u003e\u003c/a\u003e Update RELEASE_NOTES.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/d24ec9a649f96b4417c8440526538d81c8c78a6a\"\u003e\u003ccode\u003ed24ec9a\u003c/code\u003e\u003c/a\u003e Update Airflow Version to 3.1.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/08a5859832fc59b3413abba09c7c182f15001d48\"\u003e\u003ccode\u003e08a5859\u003c/code\u003e\u003c/a\u003e [v3-1-test] Fix callback files losing priority during queue resort (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61232\"\u003e#61232\u003c/a\u003e) (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/3b41866a2ee244a7e00332213bd0a8a5e8eaedfe\"\u003e\u003ccode\u003e3b41866\u003c/code\u003e\u003c/a\u003e dag_processing: initialize versioned bundles for callbacks (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/52040\"\u003e#52040\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60734\"\u003e#60734\u003c/a\u003e) ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/c34d2c36f2a315bb6546a6de8176d2b24bebe18b\"\u003e\u003ccode\u003ec34d2c3\u003c/code\u003e\u003c/a\u003e [v3-1-test] Add 404 handling for non-existent Dag (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61131\"\u003e#61131\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61225\"\u003e#61225\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/dd1a86593f2bd38b50b9f2a0a91529d16f89d0c4\"\u003e\u003ccode\u003edd1a865\u003c/code\u003e\u003c/a\u003e Fix import errors not showing on UI (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61163\"\u003e#61163\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61213\"\u003e#61213\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/52b7aeae50805a26218d2fd9972135ee38005920\"\u003e\u003ccode\u003e52b7aea\u003c/code\u003e\u003c/a\u003e [v3-1-test] Explicitly set table ordering (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/60609\"\u003e#60609\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/apache/airflow/issues/61216\"\u003e#61216\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/airflow/commit/5a2b2404cfe21d912b801925210fb507d0412bf4\"\u003e\u003ccode\u003e5a2b240\u003c/code\u003e\u003c/a\u003e [v3-1-test] Add guardrail to handle DAG deserialization errors in scheduler (...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/airflow/compare/3.1.5...3.1.7\"\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=apache-airflow\u0026package-manager=pip\u0026previous-version=3.1.5\u0026new-version=3.1.7)](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)\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/GuySuphakit/RedditETL/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/GuySuphakit/RedditETL/pull/13","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/GuySuphakit%2FRedditETL/issues/13","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/13/packages"}}]}