{"id":36422,"name":"pg8000","ecosystem":"pip","repository_url":"https://github.com/tlocke/pg8000","issues_count":36,"created_at":"2025-06-08T02:08:51.885Z","updated_at":"2025-06-08T02:08:51.885Z","purl":"pkg:pypi/pg8000","metadata":{"id":2850165,"name":"pg8000","ecosystem":"pypi","description":"PostgreSQL interface library","homepage":"https://github.com/tlocke/pg8000","licenses":"BSD 3-Clause License","normalized_licenses":["BSD-1-Clause"],"repository_url":"https://github.com/tlocke/pg8000","keywords_array":["dbapi","postgresql"],"namespace":null,"versions_count":98,"first_release_published_at":"2008-09-04T14:10:29.000Z","latest_release_published_at":"2024-04-28T16:57:44.000Z","latest_release_number":"1.31.2","last_synced_at":"2025-06-04T21:33:38.270Z","created_at":"2022-04-10T12:02:06.420Z","updated_at":"2025-06-04T21:33:38.270Z","registry_url":"https://pypi.org/project/pg8000/","install_command":"pip install pg8000 --index-url https://pypi.org/simple","documentation_url":"https://pg8000.readthedocs.io/","metadata":{"funding":null,"documentation":null,"classifiers":["Development Status :: 5 - Production/Stable","Intended Audience :: Developers","License :: OSI Approved :: BSD License","Operating System :: OS Independent","Programming Language :: Python","Programming Language :: Python :: 3","Programming Language :: Python :: 3.10","Programming Language :: Python :: 3.11","Programming Language :: Python :: 3.8","Programming Language :: Python :: 3.9","Programming Language :: Python :: Implementation","Programming Language :: Python :: Implementation :: CPython","Programming Language :: Python :: Implementation :: PyPy","Topic :: Database :: Front-Ends","Topic :: Software Development :: Libraries :: Python Modules"],"normalized_name":"pg8000"},"repo_metadata":{"id":9016276,"uuid":"10772220","full_name":"tlocke/pg8000","owner":"tlocke","description":"A Pure-Python PostgreSQL Driver","archived":false,"fork":false,"pushed_at":"2024-08-25T16:52:23.000Z","size":2113,"stargazers_count":500,"open_issues_count":5,"forks_count":43,"subscribers_count":12,"default_branch":"main","last_synced_at":"2024-08-25T17:58:21.169Z","etag":null,"topics":["postgresql-driver","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tlocke.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2013-06-18T19:54:47.000Z","updated_at":"2024-08-25T16:52:26.000Z","dependencies_parsed_at":"2023-01-13T15:07:10.272Z","dependency_job_id":"a61c0e8e-f134-49a3-b7d3-4ced0723daca","html_url":"https://github.com/tlocke/pg8000","commit_stats":{"total_commits":802,"total_committers":53,"mean_commits":"15.132075471698114","dds":0.529925187032419,"last_synced_commit":"9445126f7539afd78888c2dca0ae04109942c726"},"previous_names":[],"tags_count":100,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tlocke","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":216918369,"owners_count":16097816,"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":"tlocke","name":"Tony Locke","uuid":"221960","kind":"user","description":"“One does not become enlightened by imagining figures of light, but by making the darkness conscious.”\r\n\r\n- CG Jung","email":"","website":"http://www.tlocke.org.uk/","location":"Bath, UK","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/221960?u=c86947b9f32a6062313d217d4348c1bea159b44a\u0026v=4","repositories_count":44,"last_synced_at":"2024-05-01T11:20:39.686Z","metadata":{"has_sponsors_listing":true},"html_url":"https://github.com/tlocke","funding_links":["https://github.com/sponsors/tlocke"],"total_stars":600,"followers":21,"following":2,"created_at":"2022-11-02T16:25:51.217Z","updated_at":"2024-05-01T11:20:51.836Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tlocke","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tlocke/repositories"},"tags":[{"name":"1.31.2","sha":"9945228f2cec51727f83058229f59fa7397b4d64","kind":"tag","published_at":"2024-04-28T16:56:30.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.31.2","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.31.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.31.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.31.2/manifests"},{"name":"1.31.1","sha":"5ac331c260145b1d1795206dd2dea6be3b823b45","kind":"tag","published_at":"2024-04-01T12:49:36.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.31.1","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.31.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.31.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.31.1/manifests"},{"name":"1.31.0","sha":"c789c9866828a206c3e2f68f93e06a49afa20311","kind":"tag","published_at":"2024-03-31T14:40:26.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.31.0","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.31.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.31.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.31.0/manifests"},{"name":"1.30.5","sha":"bf16ea5784be3ba5a892014d933f50564376f7e4","kind":"tag","published_at":"2024-02-22T18:12:59.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.30.5","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.30.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.30.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.30.5/manifests"},{"name":"1.30.4","sha":"f6f416c52af023eb5f6fd38a842d39403a20830b","kind":"tag","published_at":"2024-01-03T19:31:37.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.30.4","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.30.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.30.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.30.4/manifests"},{"name":"1.30.3","sha":"017959e97751c35a3d58bc8bd5722cee5c10b656","kind":"tag","published_at":"2023-10-31T19:48:55.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.30.3","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.30.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.30.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.30.3/manifests"},{"name":"1.30.2","sha":"753a06fd2567e402034fcaa633e00ac7cda6da61","kind":"tag","published_at":"2023-09-17T09:09:17.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.30.2","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.30.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.30.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.30.2/manifests"},{"name":"1.30.1","sha":"bef56daff9ff2a49c01857d783f5f653216c56c5","kind":"tag","published_at":"2023-07-29T08:35:25.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.30.1","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.30.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.30.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.30.1/manifests"},{"name":"1.3.0","sha":"2efe29fcce90ab71f3ec3f7cf93bd2ead30620c9","kind":"tag","published_at":"2023-07-27T20:33:15.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.3.0","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.3.0/manifests"},{"name":"1.29.8","sha":"71b806d60365b2301fe03445f42fea3f9baf5458","kind":"tag","published_at":"2023-06-16T15:25:20.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.29.8","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.29.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.29.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.29.8/manifests"},{"name":"1.29.7","sha":"631a66af6f079013c340481c27885facfdb065c5","kind":"tag","published_at":"2023-06-16T08:07:45.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.29.7","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.29.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.29.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.29.7/manifests"},{"name":"1.29.6","sha":"fb98c407ebd8261485dc80d37a41daeb27764017","kind":"tag","published_at":"2023-05-29T19:39:05.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.29.6","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.29.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.29.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.29.6/manifests"},{"name":"1.29.5","sha":"bc6dc6fc379c4323ea889ce4f0d3baf664a61378","kind":"tag","published_at":"2023-05-09T18:40:55.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.29.5","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.29.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.29.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.29.5/manifests"},{"name":"1.29.4","sha":"95aa06dce9638a4e0087a66bbe6aaffb981bb789","kind":"tag","published_at":"2022-12-14T15:03:08.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.29.4","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.29.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.29.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.29.4/manifests"},{"name":"1.29.3","sha":"86327cf75f1c7283a4d8ada9c90532f0096e1424","kind":"tag","published_at":"2022-10-26T20:48:51.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.29.3","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.29.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.29.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.29.3/manifests"},{"name":"1.29.2","sha":"a94e94c0e6352794ce9b23b7052ba71ddb00eaa6","kind":"tag","published_at":"2022-10-09T15:15:00.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.29.2","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.29.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.29.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.29.2/manifests"},{"name":"1.29.1","sha":"b86633b4e67e3c2fd1f22c845008176c69b87e78","kind":"tag","published_at":"2022-05-23T00:20:28.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.29.1","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.29.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.29.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.29.1/manifests"},{"name":"1.29.0","sha":"d51d3daa3df7a0a95afe1cc257e8efa8bbd0eb52","kind":"tag","published_at":"2022-05-21T10:04:47.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.29.0","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.29.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.29.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.29.0/manifests"},{"name":"1.28.3","sha":"47607d66983d91c4cffd8a114fe94623904248a1","kind":"tag","published_at":"2022-05-18T10:19:58.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.28.3","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.28.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.28.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.28.3/manifests"},{"name":"1.28.2","sha":"7725e11941fd790e4c52e66de28d3db4655ac11e","kind":"tag","published_at":"2022-05-17T18:19:50.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.28.2","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.28.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.28.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.28.2/manifests"},{"name":"1.28.1","sha":"1c33bb9570a4c65e587462b40536bedb78b8eddd","kind":"tag","published_at":"2022-05-17T12:27:40.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.28.1","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.28.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.28.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.28.1/manifests"},{"name":"1.28.0","sha":"1946977dfd027ca0608e1537df6528de6a6bce7a","kind":"tag","published_at":"2022-05-17T09:04:22.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.28.0","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.28.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.28.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.28.0/manifests"},{"name":"1.27.1","sha":"019cc6027e503b5f3b58606c6b9d094034a3f2da","kind":"tag","published_at":"2022-05-16T08:51:13.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.27.1","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.27.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.27.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.27.1/manifests"},{"name":"1.27.0","sha":"cf33ba9edeb6f11156593b6be6ff9dce85137345","kind":"tag","published_at":"2022-05-16T08:06:32.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.27.0","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.27.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.27.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.27.0/manifests"},{"name":"1.26.1","sha":"794420aa5f870b5163eca79bd21ac98498f4a65c","kind":"tag","published_at":"2022-04-23T13:59:19.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.26.1","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.26.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.26.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.26.1/manifests"},{"name":"1.26.0","sha":"b1a628cf7d60b94f65ab339049313804c6cf6e0e","kind":"tag","published_at":"2022-04-18T09:12:19.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.26.0","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.26.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.26.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.26.0/manifests"},{"name":"1.25.0","sha":"940912c788922bceced71b5a58f2b0364048fd2c","kind":"tag","published_at":"2022-04-17T19:40:36.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.25.0","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.25.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.25.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.25.0/manifests"},{"name":"1.24.2","sha":"dbc416fce240a4c194f0c85c0910eede7e15c4ca","kind":"tag","published_at":"2022-04-15T09:25:10.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.24.2","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.24.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.24.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.24.2/manifests"},{"name":"1.24.1","sha":"121f754c5d423ea4785c8ed35ee72f5586a56a26","kind":"tag","published_at":"2022-03-02T19:32:36.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.24.1","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.24.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.24.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.24.1/manifests"},{"name":"1.24.0","sha":"a2a882da52ee444dea697c3f879d3f8058bff9b0","kind":"tag","published_at":"2022-02-06T16:14:26.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.24.0","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.24.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.24.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.24.0/manifests"},{"name":"1.23.0","sha":"a83e85b4a3493efe4a53fdbe142d53306c1f5622","kind":"tag","published_at":"2021-11-13T10:20:32.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.23.0","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.23.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.23.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.23.0/manifests"},{"name":"1.22.1","sha":"b2fcd30abc97c81313660cefafe1295d9e8167a5","kind":"tag","published_at":"2021-11-10T19:09:53.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.22.1","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.22.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.22.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.22.1/manifests"},{"name":"1.22.0","sha":"6dae73131c3a676d29a54ed027e917834a4e7cba","kind":"tag","published_at":"2021-10-13T18:31:38.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.22.0","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.22.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.22.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.22.0/manifests"},{"name":"1.21.3","sha":"c3b212ea835b97196ad07adf38ec5dc7db6e3eab","kind":"tag","published_at":"2021-10-10T11:28:18.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.21.3","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.21.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.21.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.21.3/manifests"},{"name":"1.21.2","sha":"7da25ff4ba68e20992501c13dea638031f32c7ca","kind":"tag","published_at":"2021-09-14T19:45:05.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.21.2","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.21.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.21.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.21.2/manifests"},{"name":"1.21.1","sha":"86ef507e37342d4917f468cdabc35af9e4a7cdd6","kind":"tag","published_at":"2021-08-25T19:13:24.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.21.1","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.21.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.21.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.21.1/manifests"},{"name":"1.21.0","sha":"c0b9a44e366686213e8933da6d377ccbf93e0287","kind":"tag","published_at":"2021-07-31T09:01:36.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.21.0","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.21.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.21.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.21.0/manifests"},{"name":"1.20.0","sha":"13bc039e805e8a2cd8d816b939362b40018ea8ef","kind":"tag","published_at":"2021-07-03T19:00:14.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.20.0","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.20.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.20.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.20.0/manifests"},{"name":"1.19.5","sha":"485f77f99c2c79f9b735bb9995b0df0de95dec8a","kind":"tag","published_at":"2021-05-18T19:40:20.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.19.5","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.19.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.19.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.19.5/manifests"},{"name":"1.19.4","sha":"678e59984c26706a4542a6498c0009d168c58dd0","kind":"tag","published_at":"2021-05-03T21:26:29.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.19.4","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.19.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.19.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.19.4/manifests"},{"name":"1.19.3","sha":"6576ad305aee892db095ac7c65f4d439b920edb8","kind":"tag","published_at":"2021-04-24T08:44:57.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.19.3","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.19.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.19.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.19.3/manifests"},{"name":"1.19.2","sha":"75f10fb4d541fabd21054c21e2d5ed90a152cf2a","kind":"tag","published_at":"2021-04-07T17:30:11.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.19.2","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.19.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.19.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.19.2/manifests"},{"name":"1.19.1","sha":"5020877458493ac3eb022e789b022540b363d3af","kind":"tag","published_at":"2021-04-03T10:10:26.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.19.1","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.19.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.19.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.19.1/manifests"},{"name":"1.19.0","sha":"770e58930a00a9a7351752629f3965af111bf757","kind":"tag","published_at":"2021-03-28T16:13:43.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.19.0","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.19.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.19.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.19.0/manifests"},{"name":"1.18.0","sha":"b2084fa1b9a9932a221e70b6becf5cc634a86974","kind":"tag","published_at":"2021-03-06T10:29:32.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.18.0","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.18.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.18.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.18.0/manifests"},{"name":"1.17.0","sha":"c8840169f0234942d3c2437b82271514a184c2ca","kind":"tag","published_at":"2021-01-30T17:59:01.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.17.0","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.17.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.17.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.17.0/manifests"},{"name":"1.16.6","sha":"37a6468064f6d44bc36b44ae7513e5b35164bf6b","kind":"tag","published_at":"2020-10-10T17:14:48.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.16.6","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.16.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.16.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.16.6/manifests"},{"name":"1.16.5","sha":"f29252c473ba52f9f4d772ac00545316e8c29911","kind":"tag","published_at":"2020-08-07T19:34:09.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.16.5","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.16.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.16.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.16.5/manifests"},{"name":"1.16.4","sha":"b1a664e21948bf6644c7c23cbf90532c78befdd3","kind":"tag","published_at":"2020-08-03T20:55:02.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.16.4","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.16.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.16.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.16.4/manifests"},{"name":"1.16.3","sha":"6a6b3b76a518863159f11e9e53d466a3ff5bf88d","kind":"tag","published_at":"2020-07-26T09:28:06.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.16.3","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.16.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.16.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.16.3/manifests"},{"name":"1.16.2","sha":"a64cf55128789e823057a8bce69205b5c19ac83d","kind":"tag","published_at":"2020-07-25T10:47:23.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.16.2","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.16.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.16.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.16.2/manifests"},{"name":"1.16.1","sha":"3338132dd830e5786c784cd67a75e4c4a3dd54c4","kind":"tag","published_at":"2020-07-18T11:01:47.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.16.1","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.16.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.16.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.16.1/manifests"},{"name":"1.16.0","sha":"ef86b4ffcf5d80e00c2c2dc13e4fc41d1c657928","kind":"tag","published_at":"2020-07-11T11:24:57.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.16.0","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.16.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.16.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.16.0/manifests"},{"name":"1.15.3","sha":"91062e7d4a05b76ab38b8146427a54987d6d1269","kind":"tag","published_at":"2020-06-14T12:20:21.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.15.3","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.15.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.15.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.15.3/manifests"},{"name":"1.15.2","sha":"edaf2de34ddc1a723f1abf419a50d0dc1ed88fec","kind":"tag","published_at":"2020-04-16T15:18:54.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.15.2","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.15.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.15.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.15.2/manifests"},{"name":"1.15.1","sha":"8805aa93c6d8c47616d97e2d01d900c8a5222596","kind":"tag","published_at":"2020-04-04T15:22:06.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.15.1","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.15.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.15.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.15.1/manifests"},{"name":"1.15.0","sha":"ad4a51f79ab51bb64e91bc716758295dd071072d","kind":"tag","published_at":"2020-04-04T14:47:44.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.15.0","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.15.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.15.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.15.0/manifests"},{"name":"1.14.1","sha":"ea334c216e8f30c38c0db84576d2fbb6d188f710","kind":"tag","published_at":"2020-03-23T21:32:22.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.14.1","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.14.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.14.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.14.1/manifests"},{"name":"1.14.0","sha":"a21834f4a4e45c41df7057e0128473411dec3b56","kind":"tag","published_at":"2020-03-21T15:00:17.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.14.0","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.14.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.14.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.14.0/manifests"},{"name":"1.13.2","sha":"9c96825cba1c629fff859060ccb852ba47d8bf4b","kind":"tag","published_at":"2019-06-30T13:42:05.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.13.2","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.13.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.13.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.13.2/manifests"},{"name":"1.13.1","sha":"69430edd49a8fdc549eadf5070b855425451af9f","kind":"tag","published_at":"2019-02-06T14:10:50.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.13.1","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.13.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.13.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.13.1/manifests"},{"name":"1.12.5","sha":"7d3ede29b362d2ae777752c41b9ade8fe05ac32e","kind":"tag","published_at":"2019-02-06T13:46:56.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.12.5","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.12.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.12.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.12.5/manifests"},{"name":"1.13.0","sha":"b3cbbf60287dd155327ff6017bb52b92cbbb3906","kind":"tag","published_at":"2019-02-01T17:12:45.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.13.0","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.13.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.13.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.13.0/manifests"},{"name":"1.12.4","sha":"5318879d80f47e4f92c6689c93249411aaa55e9c","kind":"tag","published_at":"2019-01-05T14:49:04.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.12.4","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.12.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.12.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.12.4/manifests"},{"name":"1.12.3","sha":"1f186dc585c652b370089eb4cae6b40b2d291d6a","kind":"tag","published_at":"2018-08-22T20:20:39.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.12.3","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.12.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.12.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.12.3/manifests"},{"name":"1.12.2","sha":"8d2711c764919aea6bc357f7d8688d6d3c622445","kind":"tag","published_at":"2018-06-28T22:13:08.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.12.2","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.12.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.12.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.12.2/manifests"},{"name":"1.12.1","sha":"441e3da729e23fdf79dbaa6d3760f2c181e2bffc","kind":"tag","published_at":"2018-06-13T12:57:05.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.12.1","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.12.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.12.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.12.1/manifests"},{"name":"1.12.0","sha":"767a3eba8729c376e1180e03c508d25b8ceed0c3","kind":"tag","published_at":"2018-06-12T10:10:16.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.12.0","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.12.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.12.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.12.0/manifests"},{"name":"1.11.0","sha":"5e707491be577597799645264425ac0f8471f3cf","kind":"tag","published_at":"2017-08-16T20:17:51.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.11.0","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.11.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.11.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.11.0/manifests"},{"name":"1.10.6","sha":"4098abf6be90683ab10b7b080983ed6f08476485","kind":"tag","published_at":"2016-06-10T10:33:29.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.10.6","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.10.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.10.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.10.6/manifests"},{"name":"1.10.5","sha":"cd4e1e96184f61cefa7ecb00b2fc88062aa65e5f","kind":"tag","published_at":"2016-03-04T22:39:42.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.10.5","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.10.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.10.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.10.5/manifests"},{"name":"1.10.4","sha":"5dce64b3f992cb5ffba9225ee281f12398da0822","kind":"tag","published_at":"2016-02-27T15:11:50.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.10.4","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.10.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.10.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.10.4/manifests"},{"name":"1.10.3","sha":"038a6880368cc63470678d60bcd2efba5f8b3bbb","kind":"tag","published_at":"2016-01-07T21:33:40.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.10.3","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.10.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.10.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.10.3/manifests"},{"name":"1.10.2","sha":"8ac74a5ffa83bd63d2921cc551537ce8b4ec6d5e","kind":"tag","published_at":"2015-03-17T20:54:47.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.10.2","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.10.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.10.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.10.2/manifests"},{"name":"1.10.1","sha":"c158830429134379eae2691dd677c152694f3343","kind":"tag","published_at":"2014-09-15T20:36:07.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.10.1","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.10.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.10.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.10.1/manifests"},{"name":"1.10.0","sha":"3b435126bd68dd606876058c6958d46945ed99d5","kind":"tag","published_at":"2014-08-30T18:08:16.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.10.0","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.10.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.10.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.10.0/manifests"},{"name":"1.9.14","sha":"aee810ca9c812d2aa764bf61a6a3d008e1271c66","kind":"tag","published_at":"2014-08-02T15:33:32.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.9.14","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.9.14","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.9.14","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.9.14/manifests"},{"name":"1.9.13","sha":"10fb3e05c84c96ad4ae51eb533adae9281bbb289","kind":"tag","published_at":"2014-07-27T10:48:51.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.9.13","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.9.13","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.9.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.9.13/manifests"},{"name":"1.9.12","sha":"2f1e66f3d09ae9a9a0d33aeeb0b56712659fef76","kind":"tag","published_at":"2014-07-22T22:40:26.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.9.12","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.9.12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.9.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.9.12/manifests"},{"name":"1.9.11","sha":"5baecf5486a608f4211e00236a2643b22a2b8553","kind":"tag","published_at":"2014-07-20T10:45:02.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.9.11","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.9.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.9.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.9.11/manifests"},{"name":"1.9.10","sha":"b4ce45a8ab28fe262aa924f3c24d0cb08c3d7673","kind":"tag","published_at":"2014-06-08T17:57:45.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.9.10","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.9.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.9.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.9.10/manifests"},{"name":"1.9.9","sha":"139b0226dabc50be355a820a08e926804000797a","kind":"tag","published_at":"2014-05-12T19:44:43.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.9.9","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.9.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.9.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.9.9/manifests"},{"name":"1.9.8","sha":"20fa11627def0e59c11d9dc9113e94741291bed9","kind":"tag","published_at":"2014-05-05T12:46:10.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.9.8","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.9.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.9.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.9.8/manifests"},{"name":"1.9.7","sha":"1ad91acf880ddc30daf2debc316e75ff62b6792a","kind":"tag","published_at":"2014-03-26T19:05:39.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.9.7","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.9.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.9.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.9.7/manifests"},{"name":"1.9.6","sha":"5708b9028d5822828171e7cb22c5ee2ec99eee30","kind":"tag","published_at":"2014-02-26T23:26:54.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.9.6","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.9.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.9.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.9.6/manifests"},{"name":"1.9.5","sha":"be74f7b70bc2581461809221237608be432bbdd2","kind":"tag","published_at":"2014-02-15T18:46:10.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.9.5","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.9.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.9.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.9.5/manifests"},{"name":"1.9.4","sha":"800b89d2e99f4a5b3b05bb6074ff0c6c602dc5d2","kind":"tag","published_at":"2014-01-18T23:40:17.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.9.4","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.9.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.9.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.9.4/manifests"},{"name":"1.9.3","sha":"9ca5c059071aac0fbed8df18941570e40a8daa12","kind":"tag","published_at":"2014-01-16T16:45:14.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.9.3","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.9.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.9.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.9.3/manifests"},{"name":"1.9.2","sha":"41256f2380506506c44a00594ac66b6c416a9cbd","kind":"tag","published_at":"2014-01-16T16:19:03.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.9.2","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.9.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.9.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.9.2/manifests"},{"name":"1.9.1","sha":"e0a924df582f6d2d9d99a465b1d489f4ac7ca484","kind":"tag","published_at":"2013-12-15T20:15:28.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.9.1","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.9.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.9.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.9.1/manifests"},{"name":"1.00","sha":"082475bfd7f0604362a74527790e74816bb0125d","kind":"tag","published_at":"2013-12-05T16:14:53.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.00","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.00","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.00","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.00/manifests"},{"name":"1.01","sha":"80874faf24bac972749f6e86c448db4e9f6eb23b","kind":"tag","published_at":"2013-12-05T16:13:23.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.01","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.01","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.01","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.01/manifests"},{"name":"1.02","sha":"fef694d56958b190997e62a3dce068a2e7b9acd7","kind":"tag","published_at":"2013-12-05T16:11:49.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.02","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.02","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.02","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.02/manifests"},{"name":"1.03","sha":"5faf8ace734fbc2ee1d3757fc476aafad5079570","kind":"tag","published_at":"2013-12-05T16:10:14.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.03","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.03","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.03","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.03/manifests"},{"name":"1.04","sha":"531bcaf3606f73205a77aecc2eb5a10439f0ad79","kind":"tag","published_at":"2013-12-05T16:08:19.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.04","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.04","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.04","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.04/manifests"},{"name":"1.05","sha":"6c4f156db499ad74f8f0c6eb08765e8032aad6f4","kind":"tag","published_at":"2013-12-05T16:06:24.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.05","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.05","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.05","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.05/manifests"},{"name":"1.06","sha":"283f47eb513e8f2ad590aadc6bdef43bd0cbad21","kind":"tag","published_at":"2013-12-05T16:04:59.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.06","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.06","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.06","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.06/manifests"},{"name":"1.07","sha":"18344dbfcdc8ddc1f89ef2450ee093d6081593bc","kind":"tag","published_at":"2013-12-05T16:02:19.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.07","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.07","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.07","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.07/manifests"},{"name":"1.08","sha":"389f09e8124cd3400c3eb664a6865c4dc6dd6978","kind":"tag","published_at":"2013-12-05T15:58:35.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.08","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.08","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.08","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.08/manifests"},{"name":"1.9.0","sha":"3abada0a899d75b74220feddd20708a3a72806aa","kind":"tag","published_at":"2013-12-01T17:05:46.000Z","download_url":"https://codeload.github.com/tlocke/pg8000/tar.gz/1.9.0","html_url":"https://github.com/tlocke/pg8000/releases/tag/1.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fpg8000/tags/1.9.0/manifests"}]},"repo_metadata_updated_at":"2024-08-25T18:58:21.415Z","dependent_packages_count":78,"downloads":30547462,"downloads_period":"last-month","dependent_repos_count":3165,"rankings":{"downloads":0.034665732464917,"dependent_repos_count":0.18029849213234606,"dependent_packages_count":0.2549490377049451,"stargazers_count":3.860001797482424,"forks_count":8.078949830064545,"docker_downloads_count":0.3602301511169152,"average":2.1281825068276823},"purl":"pkg:pypi/pg8000","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/pg8000","docker_dependents_count":71,"docker_downloads_count":203574746,"usage_url":"https://repos.ecosyste.ms/usage/pypi/pg8000","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/pg8000/dependencies","status":null,"funding_links":["https://github.com/sponsors/tlocke"],"critical":true,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/pg8000/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/pg8000/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/pg8000/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/pg8000/related_packages","maintainers":[{"uuid":"tlocke","login":"tlocke","name":null,"email":null,"url":null,"packages_count":14,"html_url":"https://pypi.org/user/tlocke/","role":null,"created_at":"2023-02-13T22:58:36.050Z","updated_at":"2023-02-13T22:58:36.050Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/tlocke/packages"},{"uuid":"mfenniak","login":"mfenniak","name":null,"email":null,"url":null,"packages_count":3,"html_url":"https://pypi.org/user/mfenniak/","role":null,"created_at":"2023-02-13T22:58:35.868Z","updated_at":"2023-02-13T22:58:35.868Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/mfenniak/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":690419,"maintainers_count":292811,"namespaces_count":0,"keywords_count":228590,"github":"pypi","metadata":{"funded_packages_count":48950},"icon_url":"https://github.com/pypi.png","created_at":"2022-04-04T15:19:23.364Z","updated_at":"2025-06-06T05:32:09.692Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/namespaces"}},"unique_repositories_count":24,"unique_repositories_count_past_30_days":1,"recent_issues":[{"uuid":"4331509633","node_id":"PR_kwDOSIM0nM7Vv5cY","number":8,"state":"open","title":"deps(deps): Bump pg8000 from 1.31.2 to 1.31.5 in /backend","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-26T17:31:03.000Z","updated_at":"2026-04-26T17:31:03.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(deps): Bump","packages":[{"name":"pg8000","old_version":"1.31.2","new_version":"1.31.5","repository_url":"https://github.com/tlocke/pg8000"}],"path":"/backend","ecosystem":"pip"},"body":"Bumps [pg8000](https://github.com/tlocke/pg8000) from 1.31.2 to 1.31.5.\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tlocke/pg8000/commits\"\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=pg8000\u0026package-manager=pip\u0026previous-version=1.31.2\u0026new-version=1.31.5)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/berusmith/SBOM/pull/8","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/berusmith%2FSBOM/issues/8","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/8/packages"},{"uuid":"3958997761","node_id":"PR_kwDOKO3IB87Erbff","number":223,"state":"closed","title":"requirements: bump pg8000 from 1.31.2 to 1.31.5","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-02-18T17:43:59.000Z","author_association":null,"state_reason":null,"created_at":"2026-02-18T17:34:36.000Z","updated_at":"2026-02-18T17:44:08.000Z","time_to_close":563,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"requirements","packages":[{"name":"pg8000","old_version":"1.31.2","new_version":"1.31.5","repository_url":"https://github.com/tlocke/pg8000"}],"path":null,"ecosystem":"pip"},"body":"Bumps [pg8000](https://github.com/tlocke/pg8000) from 1.31.2 to 1.31.5.\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tlocke/pg8000/commits\"\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=pg8000\u0026package-manager=pip\u0026previous-version=1.31.2\u0026new-version=1.31.5)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/tdesveaux/buildbot/pull/223","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/tdesveaux%2Fbuildbot/issues/223","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/223/packages"},{"uuid":"3898247049","node_id":"PR_kwDOKO3IB87Bje1Z","number":69,"state":"closed","title":"requirements: bump the pip-minor-patch group with 50 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-02-18T14:32:56.000Z","author_association":null,"state_reason":null,"created_at":"2026-02-04T20:16:39.000Z","updated_at":"2026-02-18T14:33:26.000Z","time_to_close":1188977,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"requirements: bump","group_name":"pip-minor-patch","update_count":50,"packages":[{"name":"attrs","old_version":"25.3.0","new_version":"25.4.0","repository_url":"https://github.com/sponsors/hynek"},{"name":"idna","old_version":"3.10","new_version":"3.11","repository_url":"https://github.com/kjd/idna"},{"name":"incremental","old_version":"24.7.2","new_version":"24.11.0","repository_url":"https://github.com/twisted/incremental"},{"name":"psutil","old_version":"7.0.0","new_version":"7.2.2","repository_url":"https://github.com/giampaolo/psutil"},{"name":"typing-extensions","old_version":"4.14.0","new_version":"4.15.0","repository_url":"https://github.com/python/typing_extensions"},{"name":"markdown","old_version":"3.8","new_version":"3.10.1","repository_url":"https://github.com/Python-Markdown/markdown"},{"name":"coverage","old_version":"7.9.1","new_version":"7.13.3","repository_url":"https://github.com/coveragepy/coveragepy"},{"name":"hvac","old_version":"2.3.0","new_version":"2.4.0","repository_url":"https://github.com/hvac/hvac"},{"name":"mypy","old_version":"1.16.0","new_version":"1.19.1","repository_url":"https://github.com/python/mypy"},{"name":"mypy-zope","old_version":"1.0.12","new_version":"1.0.14","repository_url":"https://github.com/Shoobx/mypy-zope"},{"name":"alembic","old_version":"1.18.1","new_version":"1.18.3","repository_url":"https://github.com/sqlalchemy/alembic"},{"name":"boto3","old_version":"1.38.36","new_version":"1.42.41","repository_url":"https://github.com/boto/boto3"},{"name":"botocore","old_version":"1.38.36","new_version":"1.42.41","repository_url":"https://github.com/boto/botocore"},{"name":"charset-normalizer","old_version":"3.4.2","new_version":"3.4.4","repository_url":"https://github.com/jawah/charset_normalizer"},{"name":"dill","old_version":"0.4.0","new_version":"0.4.1","repository_url":"https://github.com/uqfoundation/dill"},{"name":"evalidate","old_version":"2.0.5","new_version":"2.1.3","repository_url":"https://github.com/yaroslaff/evalidate"},{"name":"greenlet","old_version":"3.2.3","new_version":"3.3.1","repository_url":"https://github.com/python-greenlet/greenlet"},{"name":"jmespath","old_version":"1.0.1","new_version":"1.1.0","repository_url":"https://github.com/jmespath/jmespath.py"},{"name":"lz4","old_version":"4.4.4","new_version":"4.4.5","repository_url":"https://github.com/python-lz4/python-lz4"},{"name":"zstandard","old_version":"0.23.0","new_version":"0.25.0","repository_url":"https://github.com/indygreg/python-zstandard"},{"name":"brotli","old_version":"1.1.0","new_version":"1.2.0","repository_url":"https://github.com/google/brotli"},{"name":"markupsafe","old_version":"3.0.2","new_version":"3.0.3","repository_url":"https://github.com/pallets/markupsafe"},{"name":"moto","old_version":"5.1.6","new_version":"5.1.20","repository_url":"https://github.com/getmoto/moto"},{"name":"msgpack","old_version":"1.1.1","new_version":"1.1.2","repository_url":"https://github.com/msgpack/msgpack-python"},{"name":"pyjwt","old_version":"2.10.1","new_version":"2.11.0","repository_url":"https://github.com/jpadilla/pyjwt"},{"name":"pyopenssl","old_version":"25.1.0","new_version":"25.3.0","repository_url":"https://github.com/pyca/pyopenssl"},{"name":"pyyaml","old_version":"6.0.2","new_version":"6.0.3","repository_url":"https://github.com/yaml/pyyaml"},{"name":"requests","old_version":"2.32.4","new_version":"2.32.5","repository_url":"https://github.com/psf/requests"},{"name":"responses","old_version":"0.25.7","new_version":"0.25.8","repository_url":"https://github.com/getsentry/responses"},{"name":"ruff","old_version":"0.14.0","new_version":"0.15.0","repository_url":"https://github.com/astral-sh/ruff"},{"name":"s3transfer","old_version":"0.13.0","new_version":"0.16.0","repository_url":"https://github.com/boto/s3transfer"},{"name":"sqlalchemy","old_version":"2.0.41","new_version":"2.0.46","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"urllib3","old_version":"2.5.0","new_version":"2.6.3","repository_url":"https://github.com/urllib3/urllib3"},{"name":"werkzeug","old_version":"3.1.4","new_version":"3.1.5","repository_url":"https://github.com/pallets/werkzeug"},{"name":"zope-event","old_version":"6.0","new_version":"6.1","repository_url":"https://github.com/zopefoundation/zope.event"},{"name":"altgraph","old_version":"0.17.4","new_version":"0.17.5","repository_url":"https://github.com/ronaldoussoren/altgraph"},{"name":"pyinstaller","old_version":"6.14.1","new_version":"6.18.0","repository_url":"https://github.com/pyinstaller/pyinstaller"},{"name":"psycopg2","old_version":"2.9.10","new_version":"2.9.11","repository_url":"https://github.com/psycopg/psycopg2"},{"name":"pycairo","old_version":"1.28.0","new_version":"1.29.0","repository_url":"https://github.com/pygobject/pycairo"},{"name":"sphinx-rtd-theme","old_version":"3.0.2","new_version":"3.1.0","repository_url":"https://github.com/readthedocs/sphinx_rtd_theme"},{"name":"sphinxcontrib-spelling","old_version":"8.0.1","new_version":"8.0.2","repository_url":"https://github.com/sphinx-contrib/spelling"},{"name":"babel","old_version":"2.17.0","new_version":"2.18.0","repository_url":"https://github.com/python-babel/babel"},{"name":"click","old_version":"8.2.1","new_version":"8.3.1","repository_url":"https://github.com/pallets/click"},{"name":"docutils","old_version":"0.21.2","new_version":"0.22.4","repository_url":"https://github.com/rtfd/recommonmark"},{"name":"pyenchant","old_version":"3.2.2","new_version":"3.3.0","repository_url":"https://github.com/pyenchant/pyenchant"},{"name":"psycopg2-binary","old_version":"2.9.10","new_version":"2.9.11","repository_url":"https://github.com/psycopg/psycopg2"},{"name":"pg8000","old_version":"1.31.2","new_version":"1.31.5","repository_url":"https://github.com/tlocke/pg8000"},{"name":"scramp","old_version":"1.4.5","new_version":"1.4.8","repository_url":"https://github.com/tlocke/scramp"},{"name":"wheel","old_version":"0.45.1","new_version":"0.46.3","repository_url":"https://github.com/pypa/wheel"},{"name":"build","old_version":"1.2.2.post1","new_version":"1.4.0","repository_url":"https://github.com/pypa/build"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pip-minor-patch group with 50 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [attrs](https://github.com/sponsors/hynek) | `25.3.0` | `25.4.0` |\n| [idna](https://github.com/kjd/idna) | `3.10` | `3.11` |\n| [incremental](https://github.com/twisted/incremental) | `24.7.2` | `24.11.0` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.0.0` | `7.2.2` |\n| [typing-extensions](https://github.com/python/typing_extensions) | `4.14.0` | `4.15.0` |\n| [markdown](https://github.com/Python-Markdown/markdown) | `3.8` | `3.10.1` |\n| [coverage](https://github.com/coveragepy/coveragepy) | `7.9.1` | `7.13.3` |\n| [hvac](https://github.com/hvac/hvac) | `2.3.0` | `2.4.0` |\n| [mypy](https://github.com/python/mypy) | `1.16.0` | `1.19.1` |\n| [mypy-zope](https://github.com/Shoobx/mypy-zope) | `1.0.12` | `1.0.14` |\n| [alembic](https://github.com/sqlalchemy/alembic) | `1.18.1` | `1.18.3` |\n| [boto3](https://github.com/boto/boto3) | `1.38.36` | `1.42.41` |\n| [botocore](https://github.com/boto/botocore) | `1.38.36` | `1.42.41` |\n| [charset-normalizer](https://github.com/jawah/charset_normalizer) | `3.4.2` | `3.4.4` |\n| [dill](https://github.com/uqfoundation/dill) | `0.4.0` | `0.4.1` |\n| [evalidate](https://github.com/yaroslaff/evalidate) | `2.0.5` | `2.1.3` |\n| [greenlet](https://github.com/python-greenlet/greenlet) | `3.2.3` | `3.3.1` |\n| [jmespath](https://github.com/jmespath/jmespath.py) | `1.0.1` | `1.1.0` |\n| [lz4](https://github.com/python-lz4/python-lz4) | `4.4.4` | `4.4.5` |\n| [zstandard](https://github.com/indygreg/python-zstandard) | `0.23.0` | `0.25.0` |\n| [brotli](https://github.com/google/brotli) | `1.1.0` | `1.2.0` |\n| [markupsafe](https://github.com/pallets/markupsafe) | `3.0.2` | `3.0.3` |\n| [moto](https://github.com/getmoto/moto) | `5.1.6` | `5.1.20` |\n| [msgpack](https://github.com/msgpack/msgpack-python) | `1.1.1` | `1.1.2` |\n| [pyjwt](https://github.com/jpadilla/pyjwt) | `2.10.1` | `2.11.0` |\n| [pyopenssl](https://github.com/pyca/pyopenssl) | `25.1.0` | `25.3.0` |\n| [pyyaml](https://github.com/yaml/pyyaml) | `6.0.2` | `6.0.3` |\n| [requests](https://github.com/psf/requests) | `2.32.4` | `2.32.5` |\n| [responses](https://github.com/getsentry/responses) | `0.25.7` | `0.25.8` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.14.0` | `0.15.0` |\n| [s3transfer](https://github.com/boto/s3transfer) | `0.13.0` | `0.16.0` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.41` | `2.0.46` |\n| [urllib3](https://github.com/urllib3/urllib3) | `2.5.0` | `2.6.3` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `3.1.4` | `3.1.5` |\n| [zope-event](https://github.com/zopefoundation/zope.event) | `6.0` | `6.1` |\n| [altgraph](https://github.com/ronaldoussoren/altgraph) | `0.17.4` | `0.17.5` |\n| [pyinstaller](https://github.com/pyinstaller/pyinstaller) | `6.14.1` | `6.18.0` |\n| [psycopg2](https://github.com/psycopg/psycopg2) | `2.9.10` | `2.9.11` |\n| [pycairo](https://github.com/pygobject/pycairo) | `1.28.0` | `1.29.0` |\n| [sphinx-rtd-theme](https://github.com/readthedocs/sphinx_rtd_theme) | `3.0.2` | `3.1.0` |\n| [sphinxcontrib-spelling](https://github.com/sphinx-contrib/spelling) | `8.0.1` | `8.0.2` |\n| [babel](https://github.com/python-babel/babel) | `2.17.0` | `2.18.0` |\n| [click](https://github.com/pallets/click) | `8.2.1` | `8.3.1` |\n| [docutils](https://github.com/rtfd/recommonmark) | `0.21.2` | `0.22.4` |\n| [pyenchant](https://github.com/pyenchant/pyenchant) | `3.2.2` | `3.3.0` |\n| [psycopg2-binary](https://github.com/psycopg/psycopg2) | `2.9.10` | `2.9.11` |\n| [pg8000](https://github.com/tlocke/pg8000) | `1.31.2` | `1.31.5` |\n| [scramp](https://github.com/tlocke/scramp) | `1.4.5` | `1.4.8` |\n| [wheel](https://github.com/pypa/wheel) | `0.45.1` | `0.46.3` |\n| [build](https://github.com/pypa/build) | `1.2.2.post1` | `1.4.0` |\n\nUpdates `attrs` from 25.3.0 to 25.4.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sponsors/hynek/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `idna` from 3.10 to 3.11\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/kjd/idna/blob/master/HISTORY.rst\"\u003eidna's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e3.11 (2025-10-12)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate to Unicode 16.0.0, including significant changes to UTS46\nprocessing. As a result of Unicode ending support for it, transitional\nprocessing no longer has an effect and returns the same result.\u003c/li\u003e\n\u003cli\u003eAdd support for Python 3.14, lowest supported version is Python 3.8.\u003c/li\u003e\n\u003cli\u003eVarious updates to packaging, including PEP 740 support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/ad949ee3052c2265c66e3df2dd8871a5832ba327\"\u003e\u003ccode\u003ead949ee\u003c/code\u003e\u003c/a\u003e Release v3.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/cae4ba779e0a543823894bd4136651c187944da8\"\u003e\u003ccode\u003ecae4ba7\u003c/code\u003e\u003c/a\u003e Second release candidate for 3.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/8adb305165c77c4a45d1568a70ead75d2197692c\"\u003e\u003ccode\u003e8adb305\u003c/code\u003e\u003c/a\u003e Add space in RST link\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/74cb2b652bb06133b0c4ab52cc98221be63162cf\"\u003e\u003ccode\u003e74cb2b6\u003c/code\u003e\u003c/a\u003e Release candidate for 3.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/05dab09fdde5bbf7d52f757c4dc62e0ba934cca8\"\u003e\u003ccode\u003e05dab09\u003c/code\u003e\u003c/a\u003e Format idna-data with ruff\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/90eac78b737d26613776b490432fc6d926b15c55\"\u003e\u003ccode\u003e90eac78\u003c/code\u003e\u003c/a\u003e Apply ruff formatting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/a31ce7ecc0b767e40abb5ce28744ac567b73f366\"\u003e\u003ccode\u003ea31ce7e\u003c/code\u003e\u003c/a\u003e Remove errant test vectors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/81f03334211c78c1832991ce70ebafb3cbfbb79c\"\u003e\u003ccode\u003e81f0333\u003c/code\u003e\u003c/a\u003e Omit vectors known to be broken in test suite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/a0f32578c0cac28c7ffbb4c860c92eb2b9b579bd\"\u003e\u003ccode\u003ea0f3257\u003c/code\u003e\u003c/a\u003e Merge branch 'master' into unicode-16-uts46-changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/38d98860e6a1ab92fd35ab09ea4739feabf339a3\"\u003e\u003ccode\u003e38d9886\u003c/code\u003e\u003c/a\u003e Remove extra UTS46 test vector\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/kjd/idna/compare/v3.10...v3.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `incremental` from 24.7.2 to 24.11.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/twisted/incremental/blob/trunk/NEWS.rst\"\u003eincremental's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eIncremental 24.11.0 (2025-11-27)\u003c/h1\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIncremental now provides a CLI script, \u003ccode\u003eincremental\u003c/code\u003e, allowing you to run it with \u003ccode\u003epipx run incremental\u003c/code\u003e.\nThe \u003ccode\u003eincremental update\u003c/code\u003e subcommand offers the same functionality as \u003ccode\u003epython -m incremental.update\u003c/code\u003e. (\u003ccode\u003e[#99](https://github.com/twisted/incremental/issues/99) \u0026lt;https://github.com/twisted/incremental/issues/99\u0026gt;\u003c/code\u003e__)\u003c/li\u003e\n\u003cli\u003eIncremental now depends on packaging instead of setuptools at runtime (\u003ccode\u003e[#141](https://github.com/twisted/incremental/issues/141) \u0026lt;https://github.com/twisted/incremental/issues/141\u0026gt;\u003c/code\u003e__)\u003c/li\u003e\n\u003cli\u003eAdd Python 3.13 and 3.14 to the test matrix. (\u003ccode\u003e[#179](https://github.com/twisted/incremental/issues/179) \u0026lt;https://github.com/twisted/incremental/issues/179\u0026gt;\u003c/code\u003e__)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBugfixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBuild Incremental itself with Hatchling, working around failures with certain versions of setuptools (\u003ccode\u003e[#122](https://github.com/twisted/incremental/issues/122) \u0026lt;https://github.com/twisted/incremental/issues/122\u0026gt;\u003c/code\u003e__)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImproved Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIncremental's documentation now highlights its primary features: CalVer and indeterminate versions (NEXT). (\u003ccode\u003e[#2](https://github.com/twisted/incremental/issues/2) \u0026lt;https://github.com/twisted/incremental/issues/2\u0026gt;\u003c/code\u003e__)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDeprecations and Removals\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIncremental's CLI no longer depends on Click, so you no longer need to install \u003ccode\u003eincremental[scripts]\u003c/code\u003e for it to function.\nThe \u003ccode\u003escripts\u003c/code\u003e extra is deprecated. (\u003ccode\u003e[#99](https://github.com/twisted/incremental/issues/99) \u0026lt;https://github.com/twisted/incremental/issues/99\u0026gt;\u003c/code\u003e__)\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.8, which has been end-of-life since October 2024. (\u003ccode\u003e[#179](https://github.com/twisted/incremental/issues/179) \u0026lt;https://github.com/twisted/incremental/issues/179\u0026gt;\u003c/code\u003e__)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eMisc\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[#105](https://github.com/twisted/incremental/issues/105) \u0026lt;https://github.com/twisted/incremental/issues/105\u0026gt;\u003c/code\u003e\u003cstrong\u003e, \u003ccode\u003e[#116](https://github.com/twisted/incremental/issues/116) \u0026lt;https://github.com/twisted/incremental/issues/116\u0026gt;\u003c/code\u003e\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/twisted/incremental/commit/2e15ebbbd5bdddb122179074e7d088dd0f5bf198\"\u003e\u003ccode\u003e2e15ebb\u003c/code\u003e\u003c/a\u003e Release Incremental 25.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/twisted/incremental/commit/28034621f305d108c8992ef67ca1e04bfff18741\"\u003e\u003ccode\u003e2803462\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/twisted/incremental/issues/184\"\u003e#184\u003c/a\u003e from twisted/dependabot/github_actions/actions/checko...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/twisted/incremental/commit/ab9ac5cc1d8abefa00d9526100063f25c3fa770a\"\u003e\u003ccode\u003eab9ac5c\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/twisted/incremental/commit/fa2a4c70ac385ca5a8d7471313cba668356e3e77\"\u003e\u003ccode\u003efa2a4c7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/twisted/incremental/issues/183\"\u003e#183\u003c/a\u003e from twisted/dependabot/pip/packaging-9f19c49aaa\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/twisted/incremental/commit/e9a45a25824b6d37096e5cdad4a78cd2fccd21b6\"\u003e\u003ccode\u003ee9a45a2\u003c/code\u003e\u003c/a\u003e Bump build in the packaging group across 1 directory\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/twisted/incremental/commit/f72107413d4d7af3fad1cc5315ec150fd94f7ede\"\u003e\u003ccode\u003ef721074\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/twisted/incremental/issues/180\"\u003e#180\u003c/a\u003e from twisted/dependabot/pip/uv-0.9.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/twisted/incremental/commit/6678e1cd092f207915f57f2a18f71ed1cda76037\"\u003e\u003ccode\u003e6678e1c\u003c/code\u003e\u003c/a\u003e Bump uv from 0.9.5 to 0.9.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/twisted/incremental/commit/b98b8c58c98a67c038dfc1c8c993d2dd1baa8bcf\"\u003e\u003ccode\u003eb98b8c5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/twisted/incremental/issues/179\"\u003e#179\u003c/a\u003e from twisted/new-pythons\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/twisted/incremental/commit/d9ae87ec397cd465b08ac9b85877acbf8ca6a8d4\"\u003e\u003ccode\u003ed9ae87e\u003c/code\u003e\u003c/a\u003e Add newsfragments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/twisted/incremental/commit/61c2784efe858da52d31609b12cdb831aaabb75f\"\u003e\u003ccode\u003e61c2784\u003c/code\u003e\u003c/a\u003e Drop support for Python 3.8\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/twisted/incremental/compare/incremental-24.7.2...incremental-24.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `psutil` from 7.0.0 to 7.2.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/giampaolo/psutil/blob/master/HISTORY.rst\"\u003epsutil's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e7.2.2\u003c/h1\u003e\n\u003cp\u003e2026-01-28\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e2705_: [Linux]: \u003ccode\u003eProcess.wait()\u003c/code\u003e_ now uses \u003ccode\u003epidfd_open()\u003c/code\u003e + \u003ccode\u003epoll()\u003c/code\u003e for\nwaiting, resulting in no busy loop and faster response times. Requires\nLinux \u0026gt;= 5.3 and Python \u0026gt;= 3.9. Falls back to traditional polling if\nunavailable.\u003c/li\u003e\n\u003cli\u003e2705_: [macOS], [BSD]: \u003ccode\u003eProcess.wait()\u003c/code\u003e_ now uses \u003ccode\u003ekqueue()\u003c/code\u003e for waiting,\nresulting in no busy loop and faster response times.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e2701_, [macOS]: fix compilation error on macOS \u0026lt; 10.7.  (patch by Sergey\nFedorov)\u003c/li\u003e\n\u003cli\u003e2707_, [macOS]: fix potential memory leaks in error paths of\n\u003ccode\u003eProcess.memory_full_info()\u003c/code\u003e and \u003ccode\u003eProcess.threads()\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e2708_, [macOS]: Process.cmdline()\u003ccode\u003e_ and \u003c/code\u003eProcess.environ()\u003ccode\u003e_ may fail with ``OSError: [Errno 0] Undefined error`` (from ``sysctl(KERN_PROCARGS2)``). They now raise \u003c/code\u003eAccessDenied`_ instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e7.2.1\u003c/h1\u003e\n\u003cp\u003e2025-12-29\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e2699_, [FreeBSD], [NetBSD]: \u003ccode\u003eheap_info()\u003c/code\u003e_ does not detect small allocations\n(\u0026lt;= 1K). In order to fix that, we now flush internal jemalloc cache before\nfetching the metrics.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e7.2.0\u003c/h1\u003e\n\u003cp\u003e2025-12-23\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e1275_: new \u003ccode\u003eheap_info()\u003c/code\u003e_ and \u003ccode\u003eheap_trim()\u003c/code\u003e_ functions, providing direct\naccess to the platform's native C heap allocator (glibc, mimalloc,\nlibmalloc). Useful to create tools to detect memory leaks.\u003c/li\u003e\n\u003cli\u003e2403_, [Linux]: publish wheels for Linux musl.\u003c/li\u003e\n\u003cli\u003e2680_: unit tests are no longer installed / part of the distribution. They\nnow live under \u003ccode\u003etests/\u003c/code\u003e instead of \u003ccode\u003epsutil/tests\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\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/giampaolo/psutil/commit/9eea97dd6f1d16ea33f5144c8925f1ce7a0688e1\"\u003e\u003ccode\u003e9eea97d\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/938ac647418f09e4e610b2c755741316713c5592\"\u003e\u003ccode\u003e938ac64\u003c/code\u003e\u003c/a\u003e Rm sphinxcontrib.googleanalytics; override layout.html\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/9dcbb7e60e650f0ab0cb52154b0a12c70f6a1e4c\"\u003e\u003ccode\u003e9dcbb7e\u003c/code\u003e\u003c/a\u003e Add sphinxcontrib-googleanalytics to requirements.txt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/76eaf9ae0f2868569c14b46f4165310885a40a15\"\u003e\u003ccode\u003e76eaf9a\u003c/code\u003e\u003c/a\u003e Try to add google analytics to doc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/de1cafa56f54e97ca557993155e76dd98877e136\"\u003e\u003ccode\u003ede1cafa\u003c/code\u003e\u003c/a\u003e Update doc mentioning Process.wait() internal details\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/bb30943b0336a16f28437ec549c15a8ad2830cca\"\u003e\u003ccode\u003ebb30943\u003c/code\u003e\u003c/a\u003e Refact can_use_pidfd_open() and can_use_kqueue()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/a571717d6520d436273c8cb34ca871db4bfa508a\"\u003e\u003ccode\u003ea571717\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2708\"\u003e#2708\u003c/a\u003e, macos / cmdline / environ; raise AD instead of OSError(0) (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2709\"\u003e#2709\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/8b98c3effc20dcc4ed08c8f3d33e11ec0f5445b1\"\u003e\u003ccode\u003e8b98c3e\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/700b7e6a4171ae7c775679217205f1d97568ae00\"\u003e\u003ccode\u003e700b7e6\u003c/code\u003e\u003c/a\u003e [macOS] fix potential leaks in error paths (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2707\"\u003e#2707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/7cc7923a1479fb1d32bb25d3e78b465e2695fbf7\"\u003e\u003ccode\u003e7cc7923\u003c/code\u003e\u003c/a\u003e Windows / cmdline(): be more defensive in free()ing in case of error\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/giampaolo/psutil/compare/release-7.0.0...release-7.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `typing-extensions` from 4.14.0 to 4.15.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/typing_extensions/releases\"\u003etyping-extensions's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.15.0\u003c/h2\u003e\n\u003cp\u003eNo user-facing changes since 4.15.0rc1.\u003c/p\u003e\n\u003cp\u003eNew features since 4.14.1:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd the \u003ccode\u003e@typing_extensions.disjoint_base\u003c/code\u003e decorator, as specified\nin PEP 800. Patch by Jelle Zijlstra.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etyping_extensions.type_repr\u003c/code\u003e, a backport of\n\u003ca href=\"https://docs.python.org/3.14/library/annotationlib.html#annotationlib.type_repr\"\u003e\u003ccode\u003eannotationlib.type_repr\u003c/code\u003e\u003c/a\u003e,\nintroduced in Python 3.14 (CPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/124551\"\u003e#124551\u003c/a\u003e,\noriginally by Jelle Zijlstra). Patch by Semyon Moroz.\u003c/li\u003e\n\u003cli\u003eFix behavior of type params in \u003ccode\u003etyping_extensions.evaluate_forward_ref\u003c/code\u003e. Backport of\nCPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/137227\"\u003e#137227\u003c/a\u003e by Jelle Zijlstra.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.15.0rc1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd the \u003ccode\u003e@typing_extensions.disjoint_base\u003c/code\u003e decorator, as specified\nin PEP 800. Patch by Jelle Zijlstra.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etyping_extensions.type_repr\u003c/code\u003e, a backport of\n\u003ca href=\"https://docs.python.org/3.14/library/annotationlib.html#annotationlib.type_repr\"\u003e\u003ccode\u003eannotationlib.type_repr\u003c/code\u003e\u003c/a\u003e,\nintroduced in Python 3.14 (CPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/124551\"\u003e#124551\u003c/a\u003e,\noriginally by Jelle Zijlstra). Patch by Semyon Moroz.\u003c/li\u003e\n\u003cli\u003eFix behavior of type params in \u003ccode\u003etyping_extensions.evaluate_forward_ref\u003c/code\u003e. Backport of\nCPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/137227\"\u003e#137227\u003c/a\u003e by Jelle Zijlstra.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.14.1\u003c/h2\u003e\n\u003ch1\u003eRelease 4.14.1 (July 4, 2025)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix usage of \u003ccode\u003etyping_extensions.TypedDict\u003c/code\u003e nested inside other types\n(e.g., \u003ccode\u003etyping.Type[typing_extensions.TypedDict]\u003c/code\u003e). This is not allowed by the\ntype system but worked on older versions, so we maintain 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/python/typing_extensions/blob/main/CHANGELOG.md\"\u003etyping-extensions's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eRelease 4.15.0 (August 25, 2025)\u003c/h1\u003e\n\u003cp\u003eNo user-facing changes since 4.15.0rc1.\u003c/p\u003e\n\u003ch1\u003eRelease 4.15.0rc1 (August 18, 2025)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd the \u003ccode\u003e@typing_extensions.disjoint_base\u003c/code\u003e decorator, as specified\nin PEP 800. Patch by Jelle Zijlstra.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etyping_extensions.type_repr\u003c/code\u003e, a backport of\n\u003ca href=\"https://docs.python.org/3.14/library/annotationlib.html#annotationlib.type_repr\"\u003e\u003ccode\u003eannotationlib.type_repr\u003c/code\u003e\u003c/a\u003e,\nintroduced in Python 3.14 (CPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/124551\"\u003e#124551\u003c/a\u003e,\noriginally by Jelle Zijlstra). Patch by Semyon Moroz.\u003c/li\u003e\n\u003cli\u003eFix behavior of type params in \u003ccode\u003etyping_extensions.evaluate_forward_ref\u003c/code\u003e. Backport of\nCPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/137227\"\u003e#137227\u003c/a\u003e by Jelle Zijlstra.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eRelease 4.14.1 (July 4, 2025)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix usage of \u003ccode\u003etyping_extensions.TypedDict\u003c/code\u003e nested inside other types\n(e.g., \u003ccode\u003etyping.Type[typing_extensions.TypedDict]\u003c/code\u003e). This is not allowed by the\ntype system but worked on older versions, so we maintain 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/python/typing_extensions/commit/9d1637e264b5c1a6b7acee3e907015f89b20c2c9\"\u003e\u003ccode\u003e9d1637e\u003c/code\u003e\u003c/a\u003e Prepare release 4.15.0 (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/658\"\u003e#658\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/4bd67c5be5d9443c7d33c314d02a56ee125eb88d\"\u003e\u003ccode\u003e4bd67c5\u003c/code\u003e\u003c/a\u003e Coverage: exclude some noise (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/656\"\u003e#656\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/e589a26da73b075c5276bae40b86db1af0144f84\"\u003e\u003ccode\u003ee589a26\u003c/code\u003e\u003c/a\u003e Coverage: add detailed report to job summary (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/655\"\u003e#655\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/67d37fed1298e050f74d5acc95b2621bd37837ad\"\u003e\u003ccode\u003e67d37fe\u003c/code\u003e\u003c/a\u003e Coverage: Implement fail_under (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/654\"\u003e#654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/e9ae26f5286edee9262727755ecb9ad16e999192\"\u003e\u003ccode\u003ee9ae26f\u003c/code\u003e\u003c/a\u003e Don't delete previous coverage comment (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/653\"\u003e#653\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/ac80bb728a3006fc88ef7373b92f0c25cfcc7895\"\u003e\u003ccode\u003eac80bb7\u003c/code\u003e\u003c/a\u003e Add Coverage workflow (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/623\"\u003e#623\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/abaaafd98c1cc7e5baf098ec287a3d22cb339670\"\u003e\u003ccode\u003eabaaafd\u003c/code\u003e\u003c/a\u003e Prepare release 4.15.0rc1 (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/650\"\u003e#650\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/98104053ea8d49bcdd247804e5fa9f73136acbd4\"\u003e\u003ccode\u003e9810405\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003e@disjoint_base\u003c/code\u003e (PEP 800) (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/634\"\u003e#634\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/7ee9e05fd484d06899ce56e80f5e1aa4c760fc03\"\u003e\u003ccode\u003e7ee9e05\u003c/code\u003e\u003c/a\u003e Backport type_params fix from CPython (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/646\"\u003e#646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/1e8eb9c06ef51b3a1e1f05303a16feca13f5ed98\"\u003e\u003ccode\u003e1e8eb9c\u003c/code\u003e\u003c/a\u003e Do not refer to PEP 705 as being experimental (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/648\"\u003e#648\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python/typing_extensions/compare/4.14.0...4.15.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `markdown` from 3.8 to 3.10.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Python-Markdown/markdown/releases\"\u003emarkdown's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 3.10.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure nested elements inside inline comments are properly unescaped (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1571\"\u003e#1571\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eMake the docs build successfully with mkdocstrings-python 2.0 (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1575\"\u003e#1575\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix infinite loop when multiple bogus or unclosed HTML comments appear in input (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1578\"\u003e#1578\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix another infinite loop when handling bad comments (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1586\"\u003e#1586\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 3.10.0\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOfficially support Python 3.14 and PyPy 3.11 and drop support for Python 3.9\nand PyPy 3.9.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix an HTML comment parsing case in some Python versions that can cause an\ninfinite loop (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1554\"\u003e#1554\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eRevert the default behavior of \u003ccode\u003eUSE_DEFINITION_ORDER\u003c/code\u003e (to \u003ccode\u003eTrue\u003c/code\u003e). The new\nbehavior introduced in 3.9.0 is experimental and results are inconsistent.\nIt should not have been made the default behavior (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1561\"\u003e#1561\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 3.9.0\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFootnotes are now ordered by the occurrence of their references in the\ndocument. A new configuration option for the footnotes extension,\n\u003ccode\u003eUSE_DEFINITION_ORDER\u003c/code\u003e, has been added to support restoring the previous\nbehavior of ordering footnotes by the occurrence of definitions (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1367\"\u003e#1367\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure inline processing iterates through elements in document order (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1546\"\u003e#1546\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix handling of incomplete HTML tags in code spans in Python 3.14 (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1547\"\u003e#1547\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 3.8.2\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003ecodecs\u003c/code\u003e deprecation in Python 3.14.\u003c/li\u003e\n\u003cli\u003eFix issue with unclosed comment parsing in Python 3.14.\u003c/li\u003e\n\u003cli\u003eFix issue with unclosed declarations in Python 3.14.\u003c/li\u003e\n\u003cli\u003eFix issue with unclosed HTML tag \u003ccode\u003e\u0026lt;foo\u003c/code\u003e and Python 3.14.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 3.8.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure incomplete markup declaration in raw HTML doesn't crash parser (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1534\"\u003e#1534\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed dropped content in \u003ccode\u003emd_in_html\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1526\"\u003e#1526\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed HTML handling corner case that prevented some content from not being rendered (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1528\"\u003e#1528\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Python-Markdown/markdown/blob/master/docs/changelog.md\"\u003emarkdown's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[3.10.1] - 2026-01-21\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure nested elements inside inline comments are properly unescaped (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1571\"\u003e#1571\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eMake the docs build successfully with mkdocstrings-python 2.0 (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1575\"\u003e#1575\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix infinite loop when multiple bogus or unclosed HTML comments appear in input (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1578\"\u003e#1578\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix another infinite loop when handling bad comments (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1586\"\u003e#1586\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.10.0] - 2025-11-03\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOfficially support Python 3.14 and PyPy 3.11 and drop support for Python 3.9\nand PyPy 3.9.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix an HTML comment parsing case in some Python versions that can cause an\ninfinite loop (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1554\"\u003e#1554\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eRevert the default behavior of \u003ccode\u003eUSE_DEFINITION_ORDER\u003c/code\u003e (to \u003ccode\u003eTrue\u003c/code\u003e). The new\nbehavior introduced in 3.9.0 is experimental and results are inconsistent.\nIt should not have been made the default behavior (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1561\"\u003e#1561\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.9.0] - 2025-09-04\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFootnotes are now ordered by the occurrence of their references in the\ndocument. A new configuration option for the footnotes extension,\n\u003ccode\u003eUSE_DEFINITION_ORDER\u003c/code\u003e, has been added to support restoring the previous\nbehavior of ordering footnotes by the occurrence of definitions (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1367\"\u003e#1367\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure inline processing iterates through elements in document order (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1546\"\u003e#1546\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix handling of incomplete HTML tags in code spans in Python 3.14 (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1547\"\u003e#1547\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.8.2] - 2025-06-19\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003ecodecs\u003c/code\u003e deprecation in Python 3.14 (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1537\"\u003e#1537\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix issue with unclosed comment parsing in Python 3.14 (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1537\"\u003e#1537\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix issue with unclosed declarations in Python 3.14 (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1537\"\u003e#1537\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix issue with unclosed HTML tag \u003ccode\u003e\u0026lt;foo\u003c/code\u003e and Python 3.14 (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1537\"\u003e#1537\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.8.1] - 2025-06-18\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/e5fa5b86e8ec380cbc520cfc637d72c779e5c601\"\u003e\u003ccode\u003ee5fa5b8\u003c/code\u003e\u003c/a\u003e Bump version to 3.10.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/f9253495f5d9919f2fdd5e147832b5fc21330f65\"\u003e\u003ccode\u003ef925349\u003c/code\u003e\u003c/a\u003e More HTML fixes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/9933a0a4699f3dea91f46528a2bf54863f531c08\"\u003e\u003ccode\u003e9933a0a\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Allow reference links with backticks\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/07dfa4eb43f7a2ab3181b4f842a960a03a6c1221\"\u003e\u003ccode\u003e07dfa4e\u003c/code\u003e\u003c/a\u003e Allow reference links with backticks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/fb6b27a6ff90980b5bcb0cd51528a7c9dc3a93ca\"\u003e\u003ccode\u003efb6b27a\u003c/code\u003e\u003c/a\u003e Fix infinite loop when text contains multiple unclosed comments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/89112c293f7b399ae8808f3a06306f46601e9684\"\u003e\u003ccode\u003e89112c2\u003c/code\u003e\u003c/a\u003e Make the docs build successfully with mkdocstrings-python 2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/961856ceb30623b929d8b7abdf5ed7074db7184c\"\u003e\u003ccode\u003e961856c\u003c/code\u003e\u003c/a\u003e Update link\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/2b49115b1002142afbd84b3002f13c0e98a0f487\"\u003e\u003ccode\u003e2b49115\u003c/code\u003e\u003c/a\u003e Ensure nested elements inside inline comments are properly unescaped.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/22e89c1fc346f72218a10e392a0c3b4731912522\"\u003e\u003ccode\u003e22e89c1\u003c/code\u003e\u003c/a\u003e Bump version to 3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/c138aea5139a6aceae05bb957e866d9ce7577b94\"\u003e\u003ccode\u003ec138aea\u003c/code\u003e\u003c/a\u003e + PY314 - PY39\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Python-Markdown/markdown/compare/3.8...3.10.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `coverage` from 7.9.1 to 7.13.3\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/coveragepy/coveragepy/blob/main/CHANGES.rst\"\u003ecoverage's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 7.13.3 — 2026-02-03\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix: in some situations, third-party code was measured when it shouldn't have\nbeen, slowing down test execution. This happened with layered virtual\nenvironments such as uv sometimes makes. The problem is fixed, closing \u003ccode\u003eissue 2082\u003c/code\u003e_. Now any directory on sys.path that is inside a virtualenv is\nconsidered third-party code.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _issue 2082: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2082\"\u003ecoveragepy/coveragepy#2082\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e.. _changes_7-13-2:\u003c/p\u003e\n\u003ch2\u003eVersion 7.13.2 — 2026-01-25\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix: when Python is installed via symlinks, for example with Homebrew, the\nstandard library files could be incorrectly included in coverage reports.\nThis is now fixed, closing \u003ccode\u003eissue 2115\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: if a data file is created with no read permissions, the combine step\nwould fail completely. Now a warning is issued and the file is skipped.\nCloses \u003ccode\u003eissue 2117\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _issue 2115: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2115\"\u003ecoveragepy/coveragepy#2115\u003c/a\u003e\n.. _issue 2117: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2117\"\u003ecoveragepy/coveragepy#2117\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e.. _changes_7-13-1:\u003c/p\u003e\n\u003ch2\u003eVersion 7.13.1 — 2025-12-28\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded: the JSON report now includes a \u003ccode\u003e\u0026quot;start_line\u0026quot;\u003c/code\u003e key for function and\nclass regions, indicating the first line of the region in the source. Closes\n\u003ccode\u003eissue 2110\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded: The \u003ccode\u003edebug data\u003c/code\u003e command now takes file names as arguments on the\ncommand line, so you can inspect specific data files without needing to set\nthe \u003ccode\u003eCOVERAGE_FILE\u003c/code\u003e environment variable.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: the JSON report used to report module docstrings as executed lines,\nwhich no other report did, as described in \u003ccode\u003eissue 2105\u003c/code\u003e_. This is now fixed,\nthanks to Jianrong Zhao.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: coverage.py uses a more disciplined approach to detecting where\nthird-party code is installed, and avoids measuring it. This shouldn't change\nany behavior. If you find that it does, please get in touch.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/6bf962f476b2f4cf344e9aa981dbbc8138cdfb69\"\u003e\u003ccode\u003e6bf962f\u003c/code\u003e\u003c/a\u003e docs: sample HTML for 7.13.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/9f2e54c31bfe3af00d1d276a4e76014b896c13ad\"\u003e\u003ccode\u003e9f2e54c\u003c/code\u003e\u003c/a\u003e docs: prep for 7.13.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/6208c42e7ee6047d6d21b3c5c515f56fc10e7b2d\"\u003e\u003ccode\u003e6208c42\u003c/code\u003e\u003c/a\u003e fix: find third-party packages in more locations. \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2082\"\u003e#2082\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/edb50169c00ad9a90b2104a85adc57965dc23c2e\"\u003e\u003ccode\u003eedb5016\u003c/code\u003e\u003c/a\u003e refactor: make dataclass imports uniform\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/b05826a0f6ab909fe136468647a45e74926cd570\"\u003e\u003ccode\u003eb05826a\u003c/code\u003e\u003c/a\u003e chore: bump actions/setup-python in the action-dependencies group (\u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2126\"\u003e#2126\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/b519e17acf1c311c0868e7e571da47b43dd1f6f7\"\u003e\u003ccode\u003eb519e17\u003c/code\u003e\u003c/a\u003e refactor: no need for ox_profile connection\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/775f1cb19d232e6849b5bb662431390cc7d9a0b5\"\u003e\u003ccode\u003e775f1cb\u003c/code\u003e\u003c/a\u003e build: remove pudb, I can install it if I need it\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/0ccb1fe603352cfdc2c4cfbe062a84015d8f3454\"\u003e\u003ccode\u003e0ccb1fe\u003c/code\u003e\u003c/a\u003e chore: make upgrade\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/e9e2a0e8e740915c525256e84e2a628849374c5c\"\u003e\u003ccode\u003ee9e2a0e\u003c/code\u003e\u003c/a\u003e chore: bump actions/checkout in the action-dependencies group (\u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2122\"\u003e#2122\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/77e1a04e898ed8851eeb17f761b4fecacf3de01c\"\u003e\u003ccode\u003e77e1a04\u003c/code\u003e\u003c/a\u003e chore: make upgrade\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/coveragepy/coveragepy/compare/7.9.1...7.13.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `hvac` from 2.3.0 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hvac/hvac/releases\"\u003ehvac's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.4.0\u003c/h2\u003e\n\u003ch2\u003e🚀 Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eadd audience param to kubernetes role creation (\u003ca href=\"https://redirect.github.com/hvac/hvac/pull/1224\"\u003eGH-1224\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📚 Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edocs: fix AppRole.login docstring (\u003ca href=\"https://redirect.github.com/hvac/hvac/pull/1182\"\u003eGH-1182\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧰 Miscellaneous\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix a typo in read_secret_version warning message (\u003ca href=\"https://redirect.github.com/hvac/hvac/pull/1219\"\u003eGH-1219\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePin consul version in CI (\u003ca href=\"https://redirect.github.com/hvac/hvac/pull/1210\"\u003eGH-1210\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThanks to \u003ca href=\"https://github.com/EmFl\"\u003e\u003ccode\u003e@​EmFl\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/briantist\"\u003e\u003ccode\u003e@​briantist\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/deamen\"\u003e\u003ccode\u003e@​deamen\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot], \u003ca href=\"https://github.com/evan-cohen\"\u003e\u003ccode\u003e@​evan-cohen\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/roshan-baladhanvi\"\u003e\u003ccode\u003e@​roshan-baladhanvi\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e for their lovely contributions.\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/hvac/hvac/blob/main/CHANGELOG.md\"\u003ehvac's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.0\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd audience param to kubernetes role creation (\u003ca href=\"https://redirect.github.com/hvac/hvac/pull/1224\"\u003eGH-1224\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edocs: fix AppRole.login docstring (\u003ca href=\"https://redirect.github.com/hvac/hvac/pull/1182\"\u003eGH-1182\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🧰 Miscellaneous\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix a typo in read_secret_version warning message (\u003ca href=\"https://redirect.github.com/hvac/hvac/pull/1219\"\u003eGH-1219\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePin consul version in CI (\u003ca href=\"https://redirect.github.com/hvac/hvac/pull/1210\"\u003eGH-1210\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/hvac/hvac/commit/2f1a58f754526b6baeee43d8763917d308ca2997\"\u003e\u003ccode\u003e2f1a58f\u003c/code\u003e\u003c/a\u003e fix pypi release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hvac/hvac/commit/fd769362047d4c05f3260b5b508e2b92db043d27\"\u003e\u003ccode\u003efd76936\u003c/code\u003e\u003c/a\u003e use ls instead (\u003ca href=\"https://redirect.github.com/hvac/hvac/issues/1233\"\u003e#1233\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hvac/hvac/commit/7ae23dfe283f43ca6b355080494e6110cc46da8d\"\u003e\u003ccode\u003e7ae23df\u003c/code\u003e\u003c/a\u003e remove tree command from release workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hvac/hvac/commit/bba486c05642ed04fb89abb3543c7641333346f1\"\u003e\u003ccode\u003ebba486c\u003c/code\u003e\u003c/a\u003e Release/v2.4.0 (\u003ca href=\"https://redirect.github.com/hvac/hvac/issues/1232\"\u003e#1232\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hvac/hvac/commit/531b9df740819d8961d1eab3623ab642c6188524\"\u003e\u003ccode\u003e531b9df\u003c/code\u003e\u003c/a\u003e coverage: skip on schedule, try slim runner (\u003ca href=\"https://redirect.github.com/hvac/hvac/issues/1231\"\u003e#1231\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hvac/hvac/commit/b8167a7545bbf541200f6acef949b28d888faca2\"\u003e\u003ccode\u003eb8167a7\u003c/code\u003e\u003c/a\u003e add audience param to kubernetes role creation (\u003ca href=\"https://redirect.github.com/hvac/hvac/issues/1224\"\u003e#1224\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hvac/hvac/commit/590537d15b389946eb0d34081f2bb3275f33ece6\"\u003e\u003ccode\u003e590537d\u003c/code\u003e\u003c/a\u003e Fix tests and CI - certs, schedule, etc. (\u003ca href=\"https://redirect.github.com/hvac/hvac/issues/1230\"\u003e#1230\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hvac/hvac/commit/4c0b650c2adbf4f8af72372e0b33ea60259c7397\"\u003e\u003ccode\u003e4c0b650\u003c/code\u003e\u003c/a\u003e fix: Fixing a typo in read_secret_version (\u003ca href=\"https://redirect.github.com/hvac/hvac/issues/1219\"\u003e#1219\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hvac/hvac/commit/ea3a6520cc08f69470494cce0ac26a2ab025f91d\"\u003e\u003ccode\u003eea3a652\u003c/code\u003e\u003c/a\u003e Pin consul version in CI (\u003ca href=\"https://redirect.github.com/hvac/hvac/issues/1210\"\u003e#1210\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hvac/hvac/commit/2d2c80e296f2983c00486ee2a2ea000a3cc15604\"\u003e\u003ccode\u003e2d2c80e\u003c/code\u003e\u003c/a\u003e docs: fix AppRole.login docstring (\u003ca href=\"https://redirect.github.com/hvac/hvac/issues/1182\"\u003e#1182\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/hvac/hvac/compare/v2.3.0...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mypy` from 1.16.0 to 1.19.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/mypy/blob/master/CHANGELOG.md\"\u003emypy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003eMypy 1.19.1\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix noncommutative joins with bounded TypeVars (Shantanu, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20345\"\u003e20345\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRespect output format for cached runs by serializing raw errors in cache metas (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20372\"\u003e20372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003etypes.NoneType\u003c/code\u003e in match cases (A5rocks, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20383\"\u003e20383\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix mypyc generator regression with empty tuple (BobTheBuidler, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20371\"\u003e20371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash involving Unpack-ed TypeVarTuple (Shantanu, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20323\"\u003e20323\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on star import of redefinition (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20333\"\u003e20333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on typevar with forward ref used in other module (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20334\"\u003e20334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFail with an explicit error on PyPy (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20389\"\u003e20389\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAcknowledgements\u003c/h3\u003e\n\u003cp\u003eThanks to all mypy contributors who contributed to this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eA5rocks\u003c/li\u003e\n\u003cli\u003eBobTheBuidler\u003c/li\u003e\n\u003cli\u003ebzoracler\u003c/li\u003e\n\u003cli\u003eChainfire\u003c/li\u003e\n\u003cli\u003eChristoph Tyralla\u003c/li\u003e\n\u003cli\u003eDavid Foster\u003c/li\u003e\n\u003cli\u003eFrank Dana\u003c/li\u003e\n\u003cli\u003eGuo Ci\u003c/li\u003e\n\u003cli\u003eiap\u003c/li\u003e\n\u003cli\u003eIvan Levkivskyi\u003c/li\u003e\n\u003cli\u003eJames Hilton-Balfe\u003c/li\u003e\n\u003cli\u003ejhance\u003c/li\u003e\n\u003cli\u003eJoren Hammudoglu\u003c/li\u003e\n\u003cli\u003eJukka Lehtosalo\u003c/li\u003e\n\u003cli\u003eKarelKenens\u003c/li\u003e\n\u003cli\u003eKevin Kannammalil\u003c/li\u003e\n\u003cli\u003eMarc Mueller\u003c/li\u003e\n\u003cli\u003eMichael Carlstrom\u003c/li\u003e\n\u003cli\u003eMichael J. Sullivan\u003c/li\u003e\n\u003cli\u003ePiotr Sawicki\u003c/li\u003e\n\u003cli\u003eRandolf Scholz\u003c/li\u003e\n\u003cli\u003eShantanu\u003c/li\u003e\n\u003cli\u003eSigve Sebastian Farstad\u003c/li\u003e\n\u003cli\u003esobolevn\u003c/li\u003e\n\u003cli\u003eStanislav Terliakov\u003c/li\u003e\n\u003cli\u003eStephen Morton\u003c/li\u003e\n\u003cli\u003eTheodore Ando\u003c/li\u003e\n\u003cli\u003eThiago J. Barbalho\u003c/li\u003e\n\u003cli\u003ewyattscarpenter\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eI’d also like to thank my employer, Dropbox, for supporting mypy development.\u003c/p\u003e\n\u003ch2\u003eMypy 1.18\u003c/h2\u003e\n\u003cp\u003eWe’ve just uploaded mypy 1.18.1 to the Python Package Index (\u003ca href=\"https://pypi.org/project/mypy/\"\u003ePyPI\u003c/a\u003e).\nMypy is a static type checker for Python. This release includes new features, performance\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/412c19a6bde31e7afa7f41afdf8356664689ae80\"\u003e\u003ccode\u003e412c19a\u003c/code\u003e\u003c/a\u003e Bump version to 1.19.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/20aea0a6ca0710f5427239bdd2fd8e8bf1caf634\"\u003e\u003ccode\u003e20aea0a\u003c/code\u003e\u003c/a\u003e Update changelog for 1.19.1 (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20414\"\u003e#20414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/2b23b507524bf1bd7513eea6f2a16fb91e072cb6\"\u003e\u003ccode\u003e2b23b50\u003c/code\u003e\u003c/a\u003e Serialize raw errors in cache metas (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20372\"\u003e#20372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/f60f90fb8872bf722e32aefd548daaf6d8560e05\"\u003e\u003ccode\u003ef60f90f\u003c/code\u003e\u003c/a\u003e Fail on PyPy in main instead of setup.py (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20389\"\u003e#20389\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/58d485b4ea4776e0b9d4045b306cb0818ecc2aa6\"\u003e\u003ccode\u003e58d485b\u003c/code\u003e\u003c/a\u003e Fail with an explicit error on PyPy (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20384\"\u003e#20384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/a4b31a26788b70c4a2a19adbafa2bbda43dc2e8b\"\u003e\u003ccode\u003ea4b31a2\u003c/code\u003e\u003c/a\u003e Allow \u003ccode\u003etypes.NoneType\u003c/code\u003e in match cases (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20383\"\u003e#20383\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/8a6eff478416cd3ed3931a6ed77ce61c88ab69e9\"\u003e\u003ccode\u003e8a6eff4\u003c/code\u003e\u003c/a\u003e [mypyc] fix generator regression with empty tuple (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20371\"\u003e#20371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/70eceea682c041c0d8e8462dffef9c7bb252e014\"\u003e\u003ccode\u003e70eceea\u003c/code\u003e\u003c/a\u003e Fix noncommutative joins with bounded TypeVars (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20345\"\u003e#20345\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/3890fc49bf7cc02db04b1e63eb2540aaacdeecc0\"\u003e\u003ccode\u003e3890fc4\u003c/code\u003e\u003c/a\u003e Fix crash involving Unpack-ed TypeVarTuple (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20323\"\u003e#20323\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/c93d917a86993e06dcc88e508f28f4f5199ce1c8\"\u003e\u003ccode\u003ec93d917\u003c/code\u003e\u003c/a\u003e Fix crash on star import of redefinition (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20333\"\u003e#20333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python/mypy/compare/v1.16.0...v1.19.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mypy-zope` from 1.0.12 to 1.0.14\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Shoobx/mypy-zope/blob/master/CHANGELOG.md\"\u003emypy-zope's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.0.14 (2025-12-01)\u003c/h2\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003eSupport mypy-1.19\u003c/li\u003e\n\u003cli\u003eSupport mypy-1.18\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.0.13 (2025-07-17)\u003c/h2\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for python-3.8 (follow mypy).\u003c/li\u003e\n\u003cli\u003eSupport mypy-1.17\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shoobx/mypy-zope/commit/38d22f3f4f6fc1b85c9a0d3b64577749f682a6d2\"\u003e\u003ccode\u003e38d22f3\u003c/code\u003e\u003c/a\u003e Preparing release 1.0.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shoobx/mypy-zope/commit/76762ec861b1b3cddc471f1e8949902f3f3264be\"\u003e\u003ccode\u003e76762ec\u003c/code\u003e\u003c/a\u003e Maintain changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shoobx/mypy-zope/commit/4971d98ab80db3362bd5864a92d385e8c5a43aec\"\u003e\u003ccode\u003e4971d98\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shoobx/mypy-zope/issues/134\"\u003e#134\u003c/a\u003e from Shoobx/dependabot/pip/mypy-gte-1.0.0-and-lt-1.20.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shoobx/mypy-zope/commit/47af89d2c709f9e478ddbd5590994eba0829fb34\"\u003e\u003ccode\u003e47af89d\u003c/code\u003e\u003c/a\u003e Update mypy requirement from \u0026lt;1.19.0,\u0026gt;=1.0.0 to \u0026gt;=1.0.0,\u0026lt;1.20.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shoobx/mypy-zope/commit/0c596ff804a1ece6a8d33c0abf1587a766e047c8\"\u003e\u003ccode\u003e0c596ff\u003c/code\u003e\u003c/a\u003e Maintain changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shoobx/mypy-zope/commit/dcaa27841defa865c474f585e8bb799a8242399f\"\u003e\u003ccode\u003edcaa278\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shoobx/mypy-zope/issues/132\"\u003e#132\u003c/a\u003e from Shoobx/dependabot/pip/mypy-gte-1.0.0-and-lt-1.19.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shoobx/mypy-zope/commit/8f7b6778df6e3dde48c082ec07182e50b9938c76\"\u003e\u003ccode\u003e8f7b677\u003c/code\u003e\u003c/a\u003e Update mypy requirement from \u0026lt;1.18.0,\u0026gt;=1.0.0 to \u0026gt;=1.0.0,\u0026lt;1.19.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shoobx/mypy-zope/commit/91b275b364cc90403b2a160695f32ca27bc06bb9\"\u003e\u003ccode\u003e91b275b\u003c/code\u003e\u003c/a\u003e Back to development: 1.0.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shoobx/mypy-zope/commit/8a3165b79643927ae8b03902baaf1651a2f5ca9c\"\u003e\u003ccode\u003e8a3165b\u003c/code\u003e\u003c/a\u003e Preparing release 1.0.13\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shoobx/mypy-zope/commit/421b21ff753291f3b62b4b3deef9bc4cb91b199e\"\u003e\u003ccode\u003e421b21f\u003c/code\u003e\u003c/a\u003e Maintain changelog\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Shoobx/mypy-zope/compare/1.0.12...1.0.14\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `alembic` from 1.18.1 to 1.18.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sqlalchemy/alembic/releases\"\u003ealembic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.18.3\u003c/h1\u003e\n\u003cp\u003eReleased: January 29, 2026\u003c/p\u003e\n\u003ch2\u003ebug\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[bug] [autogenerate]\u003c/strong\u003e Fixed regression in version 1.18.0 due to \u003ca href=\"https://redirect.github.com/sqlalchemy/alembic/issues/1771\"\u003e#1771\u003c/a\u003e where autogenerate\nwould raise \u003ccode\u003eNoReferencedTableError\u003c/code\u003e when a foreign key constraint\nreferenced a table that was not part of the initial table load, including\ntables filtered out by the\n\u003ccode\u003eEnvironmentContext.configure.include_name\u003c/code\u003e callable or tables\nin remote schemas that were not included in the initial reflection run.\u003c/p\u003e\n\u003cp\u003eThe change in \u003ca href=\"https://redirect.github.com/sqlalchemy/alembic/issues/1771\"\u003e#1771\u003c/a\u003e was a performance optimization that eliminated\nadditional reflection queries for tables that were only referenced by\nforeign keys but not explicitly included in the main reflection run.\nHowever, this optimization inadvertently removed the creation of\n\u003ccode\u003eTable\u003c/code\u003e objects for these referenced tables, causing autogenerate\nto fail when processing foreign key constraints that pointed to them.\u003c/p\u003e\n\u003cp\u003eThe fix creates placeholder \u003ccode\u003eTable\u003c/code\u003e objects for foreign key targets\nthat are not reflected, allowing the autogenerate comparison to proceed\nwithout error while maintaining the performance improvement from\n\u003ca href=\"https://redirect.github.com/sqlalchemy/alembic/issues/1771\"\u003e#1771\u003c/a\u003e. When multiple foreign keys reference different columns in\nthe same filtered table, the placeholder table accumulates all necessary\ncolumns. These placeholder tables may be visible when using the\n\u003ccode\u003eEnvironmentContext.configure.include_object\u003c/code\u003e callable to\ninspect \u003ccode\u003eForeignKeyConstraint\u003c/code\u003e objects; they will have the name,\nschema and basic column information for the relevant columns present.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://redirect.github.com/sqlalchemy/alembic/issues/1787\"\u003e#1787\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[bug] [general]\u003c/strong\u003e Fixed regression caused by \u003ca href=\"https://redirect.github.com/sqlalchemy/alembic/issues/1669\"\u003e#1669\u003c/a\u003e which requires SQLAlchemy objects\nto support generic type subscripting; for the older SQLAlchemy 1.4 series,\nthis requires version 1.4.23.  Changed the minimum requirements to require\nversion 1.4.23 rather than 1.4.0.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://redirect.github.com/sqlalchemy/alembic/issues/1788\"\u003e#1788\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.18.2\u003c/h1\u003e\n\u003cp\u003eReleased: January 28, 2026\u003c/p\u003e\n\u003ch2\u003eusecase\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e[usecase] [operations]\u003c/strong\u003e The \u003ccode\u003eprimary_key\u003c/code\u003e parameter on \u003ccode\u003eColumn\u003c/code\u003e is now honored when\n\u003ccode\u003eOperations.add_column()\u003c/code\u003e is used, and will emit the \u0026quot;PRIMARY KEY\u0026quot;\nkeyword inline within the ADD COLUMN directive.  This is strictly a syntax\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\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/sqlalchemy/alembic/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `boto3` from 1.38.36 to 1.42.41\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/60637f8fc25c9411abb7f430eb3c2466437d1704\"\u003e\u003ccode\u003e60637f8\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.41'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/662d4a34c5c6dea278de160e694e1e8055c590bf\"\u003e\u003ccode\u003e662d4a3\u003c/code\u003e\u003c/a\u003e Bumping version to 1.42.41\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/5dcc61b903fef7201710dab6ac14a8d3b0dbbc3d\"\u003e\u003ccode\u003e5dcc61b\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/15a78179d4ba9127aa5903edd9fe6265a45dc25f\"\u003e\u003ccode\u003e15a7817\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.40'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/6bea7925951176592700c630baaa3a35eaec1d6b\"\u003e\u003ccode\u003e6bea792\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.40' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/3f92d07e04146184a1769c89616ccb8d304e9fd3\"\u003e\u003ccode\u003e3f92d07\u003c/code\u003e\u003c/a\u003e Bumping version to 1.42.40\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/0069675fdee79041187d17d3d96cbe47daa992c9\"\u003e\u003ccode\u003e0069675\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/66d036066f907ffebf4f49c87cde3009ec270b87\"\u003e\u003ccode\u003e66d0360\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.31.0 to 4.32.1 (\u003ca href=\"https://redirect.github.com/boto/boto3/issues/4715\"\u003e#4715\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/fd93dbb656cec791e048992bc24d78850e672c59\"\u003e\u003ccode\u003efd93dbb\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.39'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/18836475f987e84d196a6ddd485ae1a3d876dd32\"\u003e\u003ccode\u003e1883647\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.39' into develop\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/boto/boto3/compare/1.38.36...1.42.41\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `botocore` from 1.38.36 to 1.42.41\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/104e8ef284991c77c516d1da7f9cf9917d6e63f2\"\u003e\u003ccode\u003e104e8ef\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.41'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/7436ba994fe0e5cc69f302be8e5efd4c8c9859ce\"\u003e\u003ccode\u003e7436ba9\u003c/code\u003e\u003c/a\u003e Bumping version to 1.42.41\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/1a0813ab227c0a0275b3b332b051a737ecec68fc\"\u003e\u003ccode\u003e1a0813a\u003c/code\u003e\u003c/a\u003e Update to latest models\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/12d57f623893fafc71889af397fd3df30b321318\"\u003e\u003ccode\u003e12d57f6\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.40'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/a7e48591d05e948cb7f126d7cc5a6a7ce9313859\"\u003e\u003ccode\u003ea7e4859\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.40' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/fa102f5401b0b251d5ba0431a69d1c18d2165c21\"\u003e\u003ccode\u003efa102f5\u003c/code\u003e\u003c/a\u003e Bumping version to 1.42.40\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/84898c56e81e251bd97373233550cdf3c83593b1\"\u003e\u003ccode\u003e84898c5\u003c/code\u003e\u003c/a\u003e Update endpoints model\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/14b6a17a426ad0f8e0abe2540dfd43a736b1c2eb\"\u003e\u003ccode\u003e14b6a17\u003c/code\u003e\u003c/a\u003e Update to latest models\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/bb59587528ecc5193b8af2ef6ead9503364bbe7a\"\u003e\u003ccode\u003ebb59587\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.31.0 to 4.32.0 (\u003ca href=\"https://redirect.github.com/boto/botocore/issues/3625\"\u003e#3625\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/26a688fcf87081fb56bd950f8feaef8d3a1abd06\"\u003e\u003ccode\u003e26a688f\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.39'\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/boto/botocore/compare/1.38.36...1.42.41\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `charset-normalizer` from 3.4.2 to 3.4.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jawah/charset_normalizer/releases\"\u003echarset-normalizer's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.4.4\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Ousret/charset_normalizer/compare/3.4.3...3.4.4\"\u003e3.4.4\u003c/a\u003e (2025-10-13)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBound \u003ccode\u003esetuptools\u003c/code\u003e to a specific constraint \u003ccode\u003esetuptools\u0026gt;=68,\u0026lt;=81\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRaised upper bound of mypyc for the optional pre-built extension to v1.18.2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esetuptools-scm\u003c/code\u003e as a build dependency.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnforced hashes in \u003ccode\u003edev-requirements.txt\u003c/code\u003e and created \u003ccode\u003eci-requirements.txt\u003c/code\u003e for security purposes.\u003c/li\u003e\n\u003cli\u003eAdditional pre-built wheels for riscv64, s390x, and armv7l architectures.\u003c/li\u003e\n\u003cli\u003eRestore \u003ccode\u003emultiple.intoto.jsonl\u003c/code\u003e in GitHub releases in addition to individual attestation file per wheel.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.4.3\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Ousret/charset_normalizer/compare/3.4.2...3.4.3\"\u003e3.4.3\u003c/a\u003e (2025-08-09)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003emypy(c) is no longer a required dependency at build time if \u003ccode\u003eCHARSET_NORMALIZER_USE_MYPYC\u003c/code\u003e isn't set to \u003ccode\u003e1\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/595\"\u003e#595\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/583\"\u003e#583\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eautomatically lower confidence on small bytes samples that are not Unicode in \u003ccode\u003edetect\u003c/code\u003e output legacy function. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/391\"\u003e#391\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCustom build backend to overcome inability to mark mypy as an optional dependency in the build phase.\u003c/li\u003e\n\u003cli\u003eSupport for Python 3.14\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esdist archive contained useless directories.\u003c/li\u003e\n\u003cli\u003eautomatically fallback on valid UTF-16 or UTF-32 even if the md says it's noisy. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/633\"\u003e#633\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSBOM are automatically published to the relevant GitHub release to comply with regulatory changes.\nEach published wheel comes with its SBOM. We choose CycloneDX as the format.\u003c/li\u003e\n\u003cli\u003ePrebuilt optimized wheel are no longer distributed by default for CPython 3.7 due to a change in cibuildwheel.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jawah/charset_normalizer/blob/master/CHANGELOG.md\"\u003echarset-normalizer's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Ousret/charset_normalizer/compare/3.4.2...3.4.4\"\u003e3.4.4\u003c/a\u003e (2025-10-13)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBound \u003ccode\u003esetuptools\u003c/code\u003e to a specific constraint \u003ccode\u003esetuptools\u0026gt;=68,\u0026lt;=81\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRaised upper bound of mypyc for the optional pre-built extension to v1.18.2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esetuptools-scm\u003c/code\u003e as a build dependency.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnforced hashes in \u003ccode\u003edev-requirements.txt\u003c/code\u003e and created \u003ccode\u003eci-requirements.txt\u003c/code\u003e for security purposes.\u003c/li\u003e\n\u003cli\u003eAdditional pre-built wheels for riscv64, s390x, and armv7l architectures.\u003c/li\u003e\n\u003cli\u003eRestore \u003ccode\u003e multiple.intoto.jsonl\u003c/code\u003e in GitHub releases in addition to individual attestation file per wheel.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Ousret/charset_normalizer/compare/3.4.2...3.4.3\"\u003e3.4.3\u003c/a\u003e (2025-08-09)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003emypy(c) is no longer a required dependency at build time if \u003ccode\u003eCHARSET_NORMALIZER_USE_MYPYC\u003c/code\u003e isn't set to \u003ccode\u003e1\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/595\"\u003e#595\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/583\"\u003e#583\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eautomatically lower confidence on small bytes samples that are not Unicode in \u003ccode\u003edetect\u003c/code\u003e output legacy function. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/391\"\u003e#391\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCustom build backend to overcome inability to mark mypy as an optional dependency in the build phase.\u003c/li\u003e\n\u003cli\u003eSupport for Python 3.14\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esdist archive contained useless directories.\u003c/li\u003e\n\u003cli\u003eautomatically fallback on valid UTF-16 or UTF-32 even if the md says it's noisy. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/633\"\u003e#633\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSBOM are automatically published to the relevant GitHub release to comply with regulatory changes.\nEach published wheel comes with its SBOM. We choose CycloneDX as the format.\u003c/li\u003e\n\u003cli\u003ePrebuilt optimized wheel are no longer distributed by default for CPython 3.7 due to a change in cibuildwheel.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/b30ffdcc2f11043c0d34e60fe66d3815cd49b32b\"\u003e\u003ccode\u003eb30ffdc\u003c/code\u003e\u003c/a\u003e :wrench: fix checksum step in cd.yml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/d3fbfcfad7dfe3c640886f1a6a6351da527f6634\"\u003e\u003ccode\u003ed3fbfcf\u003c/code\u003e\u003c/a\u003e :wrench: fix cd.yml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/dafbb95f8c00d3cc8b99158caa63006ffab98749\"\u003e\u003ccode\u003edafbb95\u003c/code\u003e\u003c/a\u003e Release 3.4.4 (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/658\"\u003e#658\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/1f18ffaa69d2c84fea7abedb8840197ba9c14562\"\u003e\u003ccode\u003e1f18ffa\u003c/code\u003e\u003c/a\u003e :arrow_up: raise mypy upper bound to 1.18.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/ef4ac69ad203891f24e26b2422ab3a08053044fa\"\u003e\u003ccode\u003eef4ac69\u003c/code\u003e\u003c/a\u003e Merge branch 'release-3.4.4' of github.com:jawah/charset_normalizer into rele...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/4b35dda053db5e2e60a247e80a116e4ef04f439b\"\u003e\u003ccode\u003e4b35dda\u003c/code\u003e\u003c/a\u003e :pencil: write changelog for 3.4.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/0ec6452f1a34cbc77a55b237c4118807b44c2a33\"\u003e\u003ccode\u003e0ec6452\u003c/code\u003e\u003c/a\u003e :wrench: update cd.yml workflow (add riscv64, s390x and armv7l)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/f341edec8a828dda394abfa011b1ded8b4b102e2\"\u003e\u003ccode\u003ef341ede\u003c/code\u003e\u003c/a\u003e :arrow_up: upgrade dependencies (dev, ci)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/a308841e660a4d61ea6c448e7b8bf97415ecdc4a\"\u003e\u003ccode\u003ea308841\u003c/code\u003e\u003c/a\u003e :pencil: write changelog for 3.4.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/9c906da611d5ca5ef076d6bf7f60e629f661d0b0\"\u003e\u003ccode\u003e9c906da\u003c/code\u003e\u003c/a\u003e :wrench: update cd.yml workflow (add riscv64, s390x and armv7l)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jawah/charset_normalizer/compare/3.4.2...3.4.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dill` from 0.4.0 to 0.4.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uqfoundation/dill/commit/a9d4d39c411296fb3608c4ffd142134559942d21\"\u003e\u003ccode\u003ea9d4d39\u003c/code\u003e\u003c/a\u003e tag: 0.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uqfoundation/dill/commit/54370bde90434f98100c646d4b78575b3385840f\"\u003e\u003ccode\u003e54370bd\u003c/code\u003e\u003c/a\u003e cleanup outdated docs (\u003ca href=\"https://redirect.github.com/uqfoundation/dill/issues/742\"\u003e#742\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uqfoundation/dill/commit/bae7c217fea05667e1e20ea29239878f9bab6930\"\u003e\u003ccode\u003ebae7c21\u003c/code\u003e\u003c/a\u003e fix pypy311 registered, update travis ci (\u003ca href=\"https://redirect.github.com/uqfoundation/dill/issues/741\"\u003e#741\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uqfoundation/dill/commit/7daa95d0a5caaeeb0bf8705ec339215ff90c1425\"\u003e\u003ccode\u003e7daa95d\u003c/code\u003e\u003c/a\u003e Bump urllib3 from 2.6.0 to 2.6.3 in /docs (\u003ca href=\"https://redirect.github.com/uqfoundation/dill/issues/739\"\u003e#739\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uqfoundation/dill/commit/5fbd3a77aa53205ea0b19dc343e69f5d8701e09e\"\u003e\u003ccode\u003e5fbd3a7\u003c/code\u003e\u003c/a\u003e sync with rtfd 15.10.0 (\u003ca href=\"https://redirect.github.com/uqfoundation/dill/issues/740\"\u003e#740\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uqfoundation/dill/commit/fdb4b720e34d539589180ccbb68ac6cd04d8c927\"\u003e\u003ccode\u003efdb4b72\u003c/code\u003e\u003c/a\u003e update copyright for 2026, urllib3 to 2.6.0 (\u003ca href=\"https://redirect.github.com/uqfoundation/dill/issues/738\"\u003e#738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uqfoundation/dill/commit/e8c4221ffe177c48e50a569c8a72e669f7bd1ac1\"\u003e\u003ccode\u003ee8c4221\u003c/code\u003e\u003c/a\u003e avoid numpy segfault for 3.15.0a3 (\u003ca href=\"https://redirect.github.com/uqfoundation/dill/issues/737\"\u003e#737\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uqfoundation/dill/commit/d948ecd748772f2812361982ec1496da0cd47b53\"\u003e\u003ccode\u003ed948ecd\u003c/code\u003e\u003c/a\u003e ensure valid class qualname in getsource (\u003ca href=\"https://redirect.github.com/uqfoundation/dill/issues/733\"\u003e#733\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uqfoundation/dill/commit/a843f9013fab9a2cccedf1cec32e39aad1a81cad\"\u003e\u003ccode\u003ea843f90\u003c/code\u003e\u003c/a\u003e sync with rtd 15.4.1 (\u003ca href=\"https://redirect.github.com/uqfoundation/dill/issues/731\"\u003e#731\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uqfoundation/dill/commit/08f613da299c61b7a3c6afc95c0d7a71ab63857b\"\u003e\u003ccode\u003e08f613d\u003c/code\u003e\u003c/a\u003e dict and weakref attribute are singletons in 3.15 (\u003ca href=\"https://redirect.github.com/uqfoundation/dill/issues/728\"\u003e#728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/uqfoundation/dill/compare/0.4.0...0.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `evalidate` from 2.0.5 to 2.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/yaroslaff/evalidate/releases\"\u003eevalidate's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.1.3 Is/IsNot\u003c/h2\u003e\n\u003cp\u003e2.1.3 \u003ccode\u003eIs\u003c/code\u003e and \u003ccode\u003eIsNot\u003c/code\u003e nodes are whitelisted by default\u003c/p\u003e\n\u003ch2\u003e2.1.1\u003c/h2\u003e\n\u003cp\u003eExpr.eval() accepts both local and global ctx (since 2.1.0)\u003c/p\u003e\n\u003cp\u003eTwo CLI utilities:\njg (json grep, fast small alternative to jq) added\ngenfakeproducts - simple utility to generate JSON lists for tests\u003c/p\u003e\n\u003cp\u003ein 2.1.1 - removed wrong dependency on \u0026quot;requests\u0026quot;\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/yaroslaff/evalidate/commit/411745abd02910f646f0fc215d235ae48fd027fc\"\u003e\u003ccode\u003e411745a\u003c/code\u003e\u003c/a\u003e Is/IsNot whitelisted\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yaroslaff/evalidate/commit/bc2606c7be297422be3a136d79b68cb2679cc4d1\"\u003e\u003ccode\u003ebc2606c\u003c/code\u003e\u003c/a\u003e [generate] extra\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yaroslaff/evalidate/commit/77bf1af5385a1dd436f0fc6ea6589fda1a5a2ad4\"\u003e\u003ccode\u003e77bf1af\u003c/code\u003e\u003c/a\u003e removed wrong requests dependency\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yaroslaff/evalidate/commit/f50a2954124cffa87f69c61e738d75b3fa3a0cec\"\u003e\u003ccode\u003ef50a295\u003c/code\u003e\u003c/a\u003e dependency added: requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yaroslaff/evalidate/commit/a264b9d23cf1d17813bb5cc0c61a35535eff3206\"\u003e\u003ccode\u003ea264b9d\u003c/code\u003e\u003c/a\u003e README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yaroslaff/evalidate/commit/52c0fe8cf097d63c5c288d3e1067ce047923e876\"\u003e\u003ccode\u003e52c0fe8\u003c/code\u003e\u003c/a\u003e Expr accepts ctx_globals/ctx_locals. jg and genfakeproducts CLI tools.\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/yaroslaff/evalidate/compare/v2.0.5...v2.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `greenlet` from 3.2.3 to 3.3.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-greenlet/greenlet/blob/master/CHANGES.rst\"\u003egreenlet's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.3.1 (2026-01-23)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003ePublish Windows ARM binary wheels, where available.\u003c/li\u003e\n\u003cli\u003eFix compilation for 3.14t on Windows.\u003c/li\u003e\n\u003cli\u003ePublish Windows 3.14t binary wheels for Intel...\n\n_Description has been truncated_","html_url":"https://github.com/tdesveaux/buildbot/pull/69","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/tdesveaux%2Fbuildbot/issues/69","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/69/packages"},{"uuid":"3559578897","node_id":"PR_kwDOO-7yx86wCu4O","number":4,"state":"open","title":"Bump pg8000 from 1.31.2 to 1.31.5","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-10-28T03:09:15.000Z","updated_at":"2025-10-28T03:11:19.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"pg8000","old_version":"1.31.2","new_version":"1.31.5","repository_url":"https://github.com/tlocke/pg8000"}],"path":null,"ecosystem":"pip"},"body":"Bumps [pg8000](https://github.com/tlocke/pg8000) from 1.31.2 to 1.31.5.\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tlocke/pg8000/commits\"\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=pg8000\u0026package-manager=pip\u0026previous-version=1.31.2\u0026new-version=1.31.5)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/Aysher-Intelligence-Agency/Arellez/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/Aysher-Intelligence-Agency/Arellez/pull/4","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aysher-Intelligence-Agency%2FArellez/issues/4","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/4/packages"},{"uuid":"3559573703","node_id":"PR_kwDOEUacns6wCtuA","number":122,"state":"open","title":"build(deps): bump pg8000 from 1.16.5 to 1.31.5","user":"dependabot[bot]","labels":["dependencies","python","stalled"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-10-28T03:07:29.000Z","updated_at":"2025-12-27T08:47:23.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"pg8000","old_version":"1.16.5","new_version":"1.31.5","repository_url":"https://github.com/tlocke/pg8000"}],"path":null,"ecosystem":"pip"},"body":"Bumps [pg8000](https://github.com/tlocke/pg8000) from 1.16.5 to 1.31.5.\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tlocke/pg8000/commits\"\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=pg8000\u0026package-manager=pip\u0026previous-version=1.16.5\u0026new-version=1.31.5)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/hixio-mh/buildbot/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/snitebobbie/buildbot/pull/122","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/snitebobbie%2Fbuildbot/issues/122","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/122/packages"},{"uuid":"3559560002","node_id":"PR_kwDOOi7xOs6wCqpb","number":8,"state":"open","title":"chore(deps): bump pg8000 from 1.31.2 to 1.31.5 in /backend","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-10-28T03:02:52.000Z","updated_at":"2025-10-28T03:03:32.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"pg8000","old_version":"1.31.2","new_version":"1.31.5","repository_url":"https://github.com/tlocke/pg8000"}],"path":"/backend","ecosystem":"pip"},"body":"Bumps [pg8000](https://github.com/tlocke/pg8000) from 1.31.2 to 1.31.5.\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tlocke/pg8000/commits\"\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=pg8000\u0026package-manager=pip\u0026previous-version=1.31.2\u0026new-version=1.31.5)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/neurons-lab/bedrock-chat/network/alerts).\n\n\u003c/details\u003e\n\n---\n## EntelligenceAI PR Summary \n This PR updates the pg8000 PostgreSQL database adapter dependency to version 1.31.5.\n- Updated pg8000 from ^1.30.3 to ^1.31.5 in pyproject.toml\n- Updated Poetry lock file from version 1.8.4 to 2.2.1 with structural changes\n- Added 'groups' field categorizing dependencies as 'main', 'dev', or both\n- Changed minimum Python version requirement from 3.8 to 3.9 for pg8000\n- Updated lock-version from 2.0 to 2.1 \n\n","html_url":"https://github.com/neurons-lab/bedrock-chat/pull/8","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/neurons-lab%2Fbedrock-chat/issues/8","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/8/packages"},{"uuid":"3559556908","node_id":"PR_kwDOJdMYR86wCp8f","number":179,"state":"open","title":"build(deps): bump the pip group across 1 directory with 14 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":4,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-10-28T03:01:53.000Z","updated_at":"2025-10-28T03:04:29.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"pip","update_count":14,"packages":[{"name":"cryptography","old_version":"3.4.7","new_version":"44.0.1","repository_url":"https://github.com/pyca/cryptography"},{"name":"future","old_version":"0.18.2","new_version":"1.0.0","repository_url":"https://github.com/PythonCharmers/python-future"},{"name":"idna","old_version":"2.10","new_version":"3.7","repository_url":"https://github.com/kjd/idna"},{"name":"twisted","old_version":"22.4.0","new_version":"24.7.0rc1","repository_url":"https://github.com/twisted/twisted"},{"name":"certifi","old_version":"2021.10.8","new_version":"2024.7.4","repository_url":"https://github.com/certifi/python-certifi"},{"name":"jinja2","old_version":"3.1.2","new_version":"3.1.6","repository_url":"https://github.com/pallets/jinja"},{"name":"mako","old_version":"1.2.0","new_version":"1.2.2","repository_url":"https://github.com/sqlalchemy/mako"},{"name":"pillow","old_version":"9.1.1","new_version":"10.3.0","repository_url":"https://github.com/python-pillow/Pillow"},{"name":"requests","old_version":"2.27.1","new_version":"2.32.4","repository_url":"https://github.com/psf/requests"},{"name":"sqlparse","old_version":"0.4.2","new_version":"0.5.0","repository_url":"https://github.com/andialbrecht/sqlparse"},{"name":"urllib3","old_version":"1.26.9","new_version":"2.5.0","repository_url":"https://github.com/urllib3/urllib3"},{"name":"werkzeug","old_version":"2.1.2","new_version":"3.0.6","repository_url":"https://github.com/pallets/werkzeug"},{"name":"zipp","old_version":"3.8.1","new_version":"3.19.1","repository_url":"https://github.com/jaraco/zipp"},{"name":"pg8000","old_version":"1.26.1","new_version":"1.31.5","repository_url":"https://github.com/tlocke/pg8000"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pip group with 14 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [cryptography](https://github.com/pyca/cryptography) | `3.4.7` | `44.0.1` |\n| [future](https://github.com/PythonCharmers/python-future) | `0.18.2` | `1.0.0` |\n| [idna](https://github.com/kjd/idna) | `2.10` | `3.7` |\n| [twisted](https://github.com/twisted/twisted) | `22.4.0` | `24.7.0rc1` |\n| [certifi](https://github.com/certifi/python-certifi) | `2021.10.8` | `2024.7.4` |\n| [jinja2](https://github.com/pallets/jinja) | `3.1.2` | `3.1.6` |\n| [mako](https://github.com/sqlalchemy/mako) | `1.2.0` | `1.2.2` |\n| [pillow](https://github.com/python-pillow/Pillow) | `9.1.1` | `10.3.0` |\n| [requests](https://github.com/psf/requests) | `2.27.1` | `2.32.4` |\n| [sqlparse](https://github.com/andialbrecht/sqlparse) | `0.4.2` | `0.5.0` |\n| [urllib3](https://github.com/urllib3/urllib3) | `1.26.9` | `2.5.0` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `2.1.2` | `3.0.6` |\n| [zipp](https://github.com/jaraco/zipp) | `3.8.1` | `3.19.1` |\n| [pg8000](https://github.com/tlocke/pg8000) | `1.26.1` | `1.31.5` |\n\n\nUpdates `cryptography` from 3.4.7 to 44.0.1\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\u003e44.0.1 - 2025-02-11\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.4.1.\n* We now build ``armv7l`` ``manylinux`` wheels and publish them to PyPI.\n* We now build ``manylinux_2_34`` wheels and publish them to PyPI.\n\u003cp\u003e.. _v44-0-0:\u003c/p\u003e\n\u003cp\u003e44.0.0 - 2024-11-27\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eBACKWARDS INCOMPATIBLE:\u003c/strong\u003e Dropped support for LibreSSL \u0026lt; 3.9.\u003c/li\u003e\n\u003cli\u003eDeprecated Python 3.7 support. Python 3.7 is no longer supported by the\nPython core team. Support for Python 3.7 will be removed in a future\n\u003ccode\u003ecryptography\u003c/code\u003e release.\u003c/li\u003e\n\u003cli\u003eUpdated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.4.0.\u003c/li\u003e\n\u003cli\u003emacOS wheels are now built against the macOS 10.13 SDK. Users on older\nversions of macOS should upgrade, or they will need to build\n\u003ccode\u003ecryptography\u003c/code\u003e themselves.\u003c/li\u003e\n\u003cli\u003eEnforce the :rfc:\u003ccode\u003e5280\u003c/code\u003e requirement that extended key usage extensions must\nnot be empty.\u003c/li\u003e\n\u003cli\u003eAdded support for timestamp extraction to the\n:class:\u003ccode\u003e~cryptography.fernet.MultiFernet\u003c/code\u003e class.\u003c/li\u003e\n\u003cli\u003eRelax the Authority Key Identifier requirements on root CA certificates\nduring X.509 verification to allow fields permitted by :rfc:\u003ccode\u003e5280\u003c/code\u003e but\nforbidden by the CA/Browser BRs.\u003c/li\u003e\n\u003cli\u003eAdded support for :class:\u003ccode\u003e~cryptography.hazmat.primitives.kdf.argon2.Argon2id\u003c/code\u003e\nwhen using OpenSSL 3.2.0+.\u003c/li\u003e\n\u003cli\u003eAdded support for the :class:\u003ccode\u003e~cryptography.x509.Admissions\u003c/code\u003e certificate extension.\u003c/li\u003e\n\u003cli\u003eAdded basic support for PKCS7 decryption (including S/MIME 3.2) via\n:func:\u003ccode\u003e~cryptography.hazmat.primitives.serialization.pkcs7.pkcs7_decrypt_der\u003c/code\u003e,\n:func:\u003ccode\u003e~cryptography.hazmat.primitives.serialization.pkcs7.pkcs7_decrypt_pem\u003c/code\u003e, and\n:func:\u003ccode\u003e~cryptography.hazmat.primitives.serialization.pkcs7.pkcs7_decrypt_smime\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _v43-0-3:\u003c/p\u003e\n\u003cp\u003e43.0.3 - 2024-10-18\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Fixed release metadata for ``cryptography-vectors``\n\u003cp\u003e.. _v43-0-2:\u003c/p\u003e\n\u003cp\u003e43.0.2 - 2024-10-18\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed compilation when using LibreSSL 4.0.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _v43-0-1:\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/adaaaed77db676bbaa9d171175db81dce056e2a7\"\u003e\u003ccode\u003eadaaaed\u003c/code\u003e\u003c/a\u003e Bump for 44.0.1 release (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/12441\"\u003e#12441\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/ccc61dabe38b86956bf218565cd4e82b918345a1\"\u003e\u003ccode\u003eccc61da\u003c/code\u003e\u003c/a\u003e [backport] test and build on armv7l (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/12420\"\u003e#12420\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/12431\"\u003e#12431\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/f299a48153650f2dd87716343f2daa7cd39a1f59\"\u003e\u003ccode\u003ef299a48\u003c/code\u003e\u003c/a\u003e remove deprecated call (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/12052\"\u003e#12052\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/439eb0594a9ffb7c9adedb2490998d83914d141e\"\u003e\u003ccode\u003e439eb05\u003c/code\u003e\u003c/a\u003e Bump version for 44.0.0 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/12051\"\u003e#12051\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/2c5ad4d8dcec1b8f833198bc2f3b4634c4fd9d78\"\u003e\u003ccode\u003e2c5ad4d\u003c/code\u003e\u003c/a\u003e chore(deps): bump maturin from 1.7.4 to 1.7.5 in /.github/requirements (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/12050\"\u003e#12050\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/d23968adddd79aa8508d7c1f985da09383b3808f\"\u003e\u003ccode\u003ed23968a\u003c/code\u003e\u003c/a\u003e chore(deps): bump libc from 0.2.165 to 0.2.166 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/12049\"\u003e#12049\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/133c0e02edf2f172318eb27d8f50525ed64c9ec3\"\u003e\u003ccode\u003e133c0e0\u003c/code\u003e\u003c/a\u003e Bump x509-limbo and/or wycheproof in CI (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/12047\"\u003e#12047\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/f2259d7aa0d134c839ebe298baa8b63de9ead804\"\u003e\u003ccode\u003ef2259d7\u003c/code\u003e\u003c/a\u003e Bump BoringSSL and/or OpenSSL in CI (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/12046\"\u003e#12046\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/e201c870b89fd2606d67230a97e50c3badb07907\"\u003e\u003ccode\u003ee201c87\u003c/code\u003e\u003c/a\u003e fixed metadata in changelog (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/12044\"\u003e#12044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/c6104cc3669585941dc1d2b9c6507621c53d242f\"\u003e\u003ccode\u003ec6104cc\u003c/code\u003e\u003c/a\u003e Prohibit Python 3.9.0, 3.9.1 -- they have a bug that causes errors (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/12045\"\u003e#12045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyca/cryptography/compare/3.4.7...44.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `future` from 0.18.2 to 1.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/PythonCharmers/python-future/releases\"\u003efuture's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.0.0\u003c/h2\u003e\n\u003cp\u003eThe new version number of 1.0.0 indicates that the python-future project, like\nPython 2, is now done.\u003c/p\u003e\n\u003cp\u003eThe most important change in this release is adding support for Python 3.12\n(ba1cc50 and a6222d2 and bcced95).\u003c/p\u003e\n\u003cp\u003eThis release also includes these fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSmall updates to the docs\u003c/li\u003e\n\u003cli\u003eAdd SECURITY.md describing security policy (0598d1b)\u003c/li\u003e\n\u003cli\u003eFix pasteurize: NameError: name 'unicode' is not defined (de68c10)\u003c/li\u003e\n\u003cli\u003eMove CI to GitHub Actions (8cd11e8)\u003c/li\u003e\n\u003cli\u003eAdd setuptools to requirements for building docs (0c347ff)\u003c/li\u003e\n\u003cli\u003eFix typos in docs (350e87a)\u003c/li\u003e\n\u003cli\u003eMake the fix_unpacking fixer more robust (de68c10)\u003c/li\u003e\n\u003cli\u003eSmall improvements to shell scripts according to shellcheck (6153844)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.18.3\u003c/h2\u003e\n\u003cp\u003eThis is a minor bug-fix release containing a number of fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eBackport fix for bpo-38804 (c91d70b)\u003c/li\u003e\n\u003cli\u003eFix bug in fix_print.py fixer (dffc579)\u003c/li\u003e\n\u003cli\u003eFix bug in fix_raise.py fixer (3401099)\u003c/li\u003e\n\u003cli\u003eFix newint bool in py3 (fe645ba)\u003c/li\u003e\n\u003cli\u003eFix bug in super() with metaclasses (6e27aac)\u003c/li\u003e\n\u003cli\u003edocs: fix simple typo, reqest -\u0026gt; request (974eb1f)\u003c/li\u003e\n\u003cli\u003eCorrect \u003cstrong\u003eeq\u003c/strong\u003e (c780bf5)\u003c/li\u003e\n\u003cli\u003ePass if lint fails (2abe00d)\u003c/li\u003e\n\u003cli\u003eUpdate docker image and parcel out to constant variable.  Add comment to update version constant (45cf382)\u003c/li\u003e\n\u003cli\u003efix order (f96a219)\u003c/li\u003e\n\u003cli\u003eAdd flake8 to image (046ff18)\u003c/li\u003e\n\u003cli\u003eMake lint.sh executable (58cc984)\u003c/li\u003e\n\u003cli\u003eAdd docker push to optimize CI (01e8440)\u003c/li\u003e\n\u003cli\u003eBuild System (42b3025)\u003c/li\u003e\n\u003cli\u003eAdd docs build status badge to README.md (3f40bd7)\u003c/li\u003e\n\u003cli\u003eUse same docs requirements in tox (18ecc5a)\u003c/li\u003e\n\u003cli\u003eAdd docs/requirements.txt (5f9893f)\u003c/li\u003e\n\u003cli\u003eAdd PY37_PLUS, PY38_PLUS, and PY39_PLUS (bee0247)\u003c/li\u003e\n\u003cli\u003efix 2.6 test, better comment (ddedcb9)\u003c/li\u003e\n\u003cli\u003efix 2.6 test (3f1ff7e)\u003c/li\u003e\n\u003cli\u003eremove nan test (4dbded1)\u003c/li\u003e\n\u003cli\u003einclude list test values (e3f1a12)\u003c/li\u003e\n\u003cli\u003efix other python2 test issues (c051026)\u003c/li\u003e\n\u003cli\u003efix missing subTest (f006cad)\u003c/li\u003e\n\u003cli\u003eimport from old imp library on older python versions (fc84fa8)\u003c/li\u003e\n\u003cli\u003ereplace fstrings with format for python 3.4,3.5 (4a687ea)\u003c/li\u003e\n\u003cli\u003eminor style/spelling fixes (8302d8c)\u003c/li\u003e\n\u003cli\u003eimprove cmp function, add unittest (0d95a40)\u003c/li\u003e\n\u003cli\u003ePin typing==3.7.4.1 for Python 3.3 compatiblity (1a48f1b)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/PythonCharmers/python-future/blob/master/docs/changelog.rst\"\u003efuture's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e.. _whats-old:\u003c/p\u003e\n\u003cp\u003eChanges in previous versions\u003c/p\u003e\n\u003chr /\u003e\n\u003cp\u003eChanges in the most recent major version are here: :ref:\u003ccode\u003ewhats-new\u003c/code\u003e.\u003c/p\u003e\n\u003ch1\u003eChanges in version 0.18.3 (2023-01-13)\u003c/h1\u003e\n\u003cp\u003eThis is a minor bug-fix release containing a number of fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eBackport fix for bpo-38804 (c91d70b)\u003c/li\u003e\n\u003cli\u003eFix bug in fix_print.py fixer (dffc579)\u003c/li\u003e\n\u003cli\u003eFix bug in fix_raise.py fixer (3401099)\u003c/li\u003e\n\u003cli\u003eFix newint bool in py3 (fe645ba)\u003c/li\u003e\n\u003cli\u003eFix bug in super() with metaclasses (6e27aac)\u003c/li\u003e\n\u003cli\u003edocs: fix simple typo, reqest -\u0026gt; request (974eb1f)\u003c/li\u003e\n\u003cli\u003eCorrect \u003cstrong\u003eeq\u003c/strong\u003e (c780bf5)\u003c/li\u003e\n\u003cli\u003ePass if lint fails (2abe00d)\u003c/li\u003e\n\u003cli\u003eUpdate docker image and parcel out to constant variable.  Add comment to update version constant (45cf382)\u003c/li\u003e\n\u003cli\u003efix order (f96a219)\u003c/li\u003e\n\u003cli\u003eAdd flake8 to image (046ff18)\u003c/li\u003e\n\u003cli\u003eMake lint.sh executable (58cc984)\u003c/li\u003e\n\u003cli\u003eAdd docker push to optimize CI (01e8440)\u003c/li\u003e\n\u003cli\u003eBuild System (42b3025)\u003c/li\u003e\n\u003cli\u003eAdd docs build status badge to README.md (3f40bd7)\u003c/li\u003e\n\u003cli\u003eUse same docs requirements in tox (18ecc5a)\u003c/li\u003e\n\u003cli\u003eAdd docs/requirements.txt (5f9893f)\u003c/li\u003e\n\u003cli\u003eAdd PY37_PLUS, PY38_PLUS, and PY39_PLUS (bee0247)\u003c/li\u003e\n\u003cli\u003efix 2.6 test, better comment (ddedcb9)\u003c/li\u003e\n\u003cli\u003efix 2.6 test (3f1ff7e)\u003c/li\u003e\n\u003cli\u003eremove nan test (4dbded1)\u003c/li\u003e\n\u003cli\u003einclude list test values (e3f1a12)\u003c/li\u003e\n\u003cli\u003efix other python2 test issues (c051026)\u003c/li\u003e\n\u003cli\u003efix missing subTest (f006cad)\u003c/li\u003e\n\u003cli\u003eimport from old imp library on older python versions (fc84fa8)\u003c/li\u003e\n\u003cli\u003ereplace fstrings with format for python 3.4,3.5 (4a687ea)\u003c/li\u003e\n\u003cli\u003eminor style/spelling fixes (8302d8c)\u003c/li\u003e\n\u003cli\u003eimprove cmp function, add unittest (0d95a40)\u003c/li\u003e\n\u003cli\u003ePin typing==3.7.4.1 for Python 3.3 compatiblity (1a48f1b)\u003c/li\u003e\n\u003cli\u003eFix various py26 unit test failures (9ca5a14)\u003c/li\u003e\n\u003cli\u003eAdd initial contributing guide with docs build instruction (e55f915)\u003c/li\u003e\n\u003cli\u003eAdd docs building to tox.ini (3ee9e7f)\u003c/li\u003e\n\u003cli\u003eSupport NumPy's specialized int types in builtins.round (b4b54f0)\u003c/li\u003e\n\u003cli\u003eAdded r\u0026quot;\u0026quot;\u0026quot; to the docstring to avoid warnings in python3 (5f94572)\u003c/li\u003e\n\u003cli\u003eAdd \u003cstrong\u003esubclasscheck\u003c/strong\u003e for past.types.basestring (c9bc0ff)\u003c/li\u003e\n\u003cli\u003eCorrect example in README (681e78c)\u003c/li\u003e\n\u003cli\u003eAdd simple documentation (6c6e3ae)\u003c/li\u003e\n\u003cli\u003eAdd pre-commit hooks (a9c6a37)\u003c/li\u003e\n\u003cli\u003eHandling of \u003cstrong\u003enext\u003c/strong\u003e and next by future.utils.get_next was reversed (52b0ff9)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PythonCharmers/python-future/commit/2bdbfa5664241fee622b23590abd3492f973afc9\"\u003e\u003ccode\u003e2bdbfa5\u003c/code\u003e\u003c/a\u003e Tidy up README\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PythonCharmers/python-future/commit/a7097f804cd83fe1fd6a50ab088ae1d4ab303246\"\u003e\u003ccode\u003ea7097f8\u003c/code\u003e\u003c/a\u003e Update docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PythonCharmers/python-future/commit/e32250e67423aaf4fbccd332be8a40fdcdba2711\"\u003e\u003ccode\u003ee32250e\u003c/code\u003e\u003c/a\u003e Update docs pointing to changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PythonCharmers/python-future/commit/dde60ad4c9857a11b9f54e8ae671aacde703e71a\"\u003e\u003ccode\u003edde60ad\u003c/code\u003e\u003c/a\u003e Move old \u0026quot;What's New\u0026quot; entries to the change log\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PythonCharmers/python-future/commit/b2ea4204fc269ede619526c7753c0fa6579d5d0d\"\u003e\u003ccode\u003eb2ea420\u003c/code\u003e\u003c/a\u003e Remove hacky logo from docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PythonCharmers/python-future/commit/a10a78bbd2921a4deaa423bdf5712acf9eb8d5a4\"\u003e\u003ccode\u003ea10a78b\u003c/code\u003e\u003c/a\u003e Update \u0026quot;What's New\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PythonCharmers/python-future/commit/9f8763032b4ac1dbe043db363feae26fe6d0bacc\"\u003e\u003ccode\u003e9f87630\u003c/code\u003e\u003c/a\u003e Update the FAQ entries on compatibility and contributing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PythonCharmers/python-future/commit/f4a1f0406b47e8ef91838fcff9d679ee6fe186d9\"\u003e\u003ccode\u003ef4a1f04\u003c/code\u003e\u003c/a\u003e Docs: replace http links with https\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PythonCharmers/python-future/commit/30c525e1aa6aa5a5a2b5d2ec4769feb00aa7a726\"\u003e\u003ccode\u003e30c525e\u003c/code\u003e\u003c/a\u003e Merge branch 'master' of \u003ca href=\"https://github.com/PythonCharmers/python-future\"\u003ehttps://github.com/PythonCharmers/python-future\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PythonCharmers/python-future/commit/70b36a8a514e45a2582589991be4a2c1fd1944b7\"\u003e\u003ccode\u003e70b36a8\u003c/code\u003e\u003c/a\u003e Disable Python 2.6 CI tests for now\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/PythonCharmers/python-future/compare/v0.18.2...v1.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `idna` from 2.10 to 3.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/kjd/idna/releases\"\u003eidna's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.7\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix issue where specially crafted inputs to encode() could take exceptionally long amount of time to process. [CVE-2024-3651]\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThanks to Guido Vranken for reporting the issue.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/kjd/idna/compare/v3.6...v3.7\"\u003ehttps://github.com/kjd/idna/compare/v3.6...v3.7\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/kjd/idna/blob/master/HISTORY.rst\"\u003eidna's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e3.7 (2024-04-11)\n++++++++++++++++\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix issue where specially crafted inputs to encode() could\ntake exceptionally long amount of time to process. [CVE-2024-3651]\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThanks to Guido Vranken for reporting the issue.\u003c/p\u003e\n\u003cp\u003e3.6 (2023-11-25)\n++++++++++++++++\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix regression to include tests in source distribution.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e3.5 (2023-11-24)\n++++++++++++++++\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate to Unicode 15.1.0\u003c/li\u003e\n\u003cli\u003eString codec name is now \u0026quot;idna2008\u0026quot; as overriding the system codec\n\u0026quot;idna\u0026quot; was not working.\u003c/li\u003e\n\u003cli\u003eFix typing error for codec encoding\u003c/li\u003e\n\u003cli\u003e\u0026quot;setup.cfg\u0026quot; has been added for this release due to some downstream\nlack of adherence to PEP 517. Should be removed in a future release\nso please prepare accordingly.\u003c/li\u003e\n\u003cli\u003eRemoved reliance on a symlink for the \u0026quot;idna-data\u0026quot; tool to comport\nwith PEP 517 and the Python Packaging User Guide for sdist archives.\u003c/li\u003e\n\u003cli\u003eAdded security reporting protocol for project\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThanks Jon Ribbens, Diogo Teles Sant'Anna, Wu Tingfeng for contributions\nto this release.\u003c/p\u003e\n\u003cp\u003e3.4 (2022-09-14)\n++++++++++++++++\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate to Unicode 15.0.0\u003c/li\u003e\n\u003cli\u003eMigrate to pyproject.toml for build information (PEP 621)\u003c/li\u003e\n\u003cli\u003eCorrect another instance where generic exception was raised instead of\nIDNAError for malformed input\u003c/li\u003e\n\u003cli\u003eSource distribution uses zeroized file ownership for improved\nreproducibility\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThanks to Seth Michael Larson for contributions to this release.\u003c/p\u003e\n\u003cp\u003e3.3 (2021-10-13)\n++++++++++++++++\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate to Unicode 14.0.0\u003c/li\u003e\n\u003cli\u003eUpdate to in-line type annotations\u003c/li\u003e\n\u003cli\u003eThrow IDNAError exception correctly for some malformed input\u003c/li\u003e\n\u003cli\u003eAdvertise support for Python 3.10\u003c/li\u003e\n\u003cli\u003eImprove testing regime on Github\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/1d365e17e10d72d0b7876316fc7b9ca0eebdd38d\"\u003e\u003ccode\u003e1d365e1\u003c/code\u003e\u003c/a\u003e Release v3.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/c1b3154939907fab67c5754346afaebe165ce8e6\"\u003e\u003ccode\u003ec1b3154\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/kjd/idna/issues/172\"\u003e#172\u003c/a\u003e from kjd/optimize-contextj\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/0394ec76ff022813e770ba1fd89658790ea35623\"\u003e\u003ccode\u003e0394ec7\u003c/code\u003e\u003c/a\u003e Merge branch 'master' into optimize-contextj\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/cd58a23173d2b0a40b95ee680baf3e59e8d33966\"\u003e\u003ccode\u003ecd58a23\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/kjd/idna/issues/152\"\u003e#152\u003c/a\u003e from elliotwutingfeng/dev\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/5beb28b9dd77912c0dd656d8b0fdba3eb80222e7\"\u003e\u003ccode\u003e5beb28b\u003c/code\u003e\u003c/a\u003e More efficient resolution of joiner contexts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/1b121483ed04d9576a1291758f537e1318cddc8b\"\u003e\u003ccode\u003e1b12148\u003c/code\u003e\u003c/a\u003e Update ossf/scorecard-action to v2.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/d516b874c3388047934938a500c7488d52c4e067\"\u003e\u003ccode\u003ed516b87\u003c/code\u003e\u003c/a\u003e Update Github actions/checkout to v4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/c095c75943413c75ebf8ac74179757031b7f80b7\"\u003e\u003ccode\u003ec095c75\u003c/code\u003e\u003c/a\u003e Merge branch 'master' into dev\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/60a0a4cb61ec6834d74306bd8a1fa46daac94c98\"\u003e\u003ccode\u003e60a0a4c\u003c/code\u003e\u003c/a\u003e Fix typo in GitHub Actions workflow key\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/5918a0ef8034379c2e409ae93ee11d24295bb201\"\u003e\u003ccode\u003e5918a0e\u003c/code\u003e\u003c/a\u003e Merge branch 'master' into dev\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/kjd/idna/compare/v2.10...v3.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `twisted` from 22.4.0 to 24.7.0rc1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/twisted/twisted/releases\"\u003etwisted's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eTwisted 24.7.0rc1 (2024-07-29)\u003c/h1\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003etwisted.protocols.ftp now supports the IPv6 extensions defined in RFC 2428. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/9645\"\u003e#9645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwisted.internet.defer.inlineCallbacks can now yield a coroutine. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/9972\"\u003e#9972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwisted.python._shellcomp.ZshArgumentsGenerator was updated for Python 3.13. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/12065\"\u003e#12065\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwisted.web.wsgi request environment now contains the peer port number as \u003ccode\u003eREMOTE_PORT\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/12096\"\u003e#12096\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwisted.internet.defer.Deferred.callback() and twisted.internet.defer.Deferred.addCallbacks() no longer use \u003ccode\u003eassert\u003c/code\u003e to check the type of the arguments. You should now use type checking to validate your code. These changes were done to reduce the CPU usage. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/12122\"\u003e#12122\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded two new methods, twisted.logger.Logger.failuresHandled and twisted.logger.Logger.failureHandler, which allow for more concise and convenient handling of exceptions when dispatching out to application code.  The former can arbitrarily customize failure handling at the call site, and the latter can be used for performance-sensitive cases where no additional information needs to be logged. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/12188\"\u003e#12188\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwisted.internet.defer.Deferred.addCallback now runs about 10% faster. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/12223\"\u003e#12223\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwisted.internet.defer.Deferred error handling is now faster, taking 40% less time to run. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/12227\"\u003e#12227\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBugfixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003etwisted.internet.ssl.Certificate.\u003cstrong\u003erepr\u003c/strong\u003e can now handle certificates without a common name (CN) in the certificate itself or the signing CA. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/5851\"\u003e#5851\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eType annotations have been added to twisted.conch.interfaces.IKnownHostEntry and its implementations, twisted.conch.client.knownhosts.PlainHost and twisted.conch.client.knownhosts.HashedHost, correcting a variety of type confusion issues throughout the conch client code. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/9713\"\u003e#9713\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwisted.python.failure.Failure once again utilizes the custom pickling logic it used to in the past. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/12112\"\u003e#12112\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwisted.conch.client.knownhosts.KnownHostsFile.verifyHostKey no longer logs an exception when automatically adding an IP address host key, which means the interactive \u003ccode\u003econch\u003c/code\u003e command-line no longer will either. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/12141\"\u003e#12141\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImproved Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eThe IRC server example found in the documentation was updated for readability. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/12097\"\u003e#12097\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove contextvars from list of optional dependencies. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/12128\"\u003e#12128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eThe documentation for installing Twisted was moved into a single page. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/12145\"\u003e#12145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eThe project's compatibility policy now clearly indicates that the GitHub Actions test matrix defines the supported platforms. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/12167\"\u003e#12167\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdated imap4client.py example, it no longer references Python 2. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/12252\"\u003e#12252\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDeprecations and Removals\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003etwisted.internet.defer.returnValue has been deprecated. You can replace it with the standard \u003ccode\u003ereturn\u003c/code\u003e statement. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/9930\"\u003e#9930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003etwisted-iocpsupport\u003c/code\u003e is no longer a hard dependency on Windows.\nThe IOCP support is now installed together with the other Windows soft\ndependencies via \u003ccode\u003etwisted[windows-platform]\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/11893\"\u003e#11893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwisted.python.deprecate helper function will now always strip whitespaces from the docstrings.\nThis is done to have the same behaviour as with Python 3.13. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/12063\"\u003e#12063\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwisted.conch.manhole.ManholeInterpreter.write, twisted.conch.manhole.ManholeInterpreter.addOutput, twisted.mail.imap4.IMAP4Server.sendUntaggedResponse \u003ccode\u003easync\u003c/code\u003e argument, deprecated since 18.9.0, has been removed. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/12130\"\u003e#12130\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwisted.web.soap was removed.\nThe SOAP support was already broken, for at least the last 4 years.\nThe SOAP support in Twisted has no active maintainer. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/12146\"\u003e#12146\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/twisted/twisted/blob/twisted-24.7.0rc1/NEWS.rst\"\u003etwisted's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eTwisted 24.7.0rc1 (2024-07-29)\u003c/h1\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003etwisted.protocols.ftp now supports the IPv6 extensions defined in RFC 2428. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/9645\"\u003e#9645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwisted.internet.defer.inlineCallbacks can now yield a coroutine. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/9972\"\u003e#9972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwisted.python._shellcomp.ZshArgumentsGenerator was updated for Python 3.13. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/12065\"\u003e#12065\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwisted.web.wsgi request environment now contains the peer port number as \u003ccode\u003eREMOTE_PORT\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/12096\"\u003e#12096\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwisted.internet.defer.Deferred.callback() and twisted.internet.defer.Deferred.addCallbacks() no longer use \u003ccode\u003eassert\u003c/code\u003e to check the type of the arguments. You should now use type checking to validate your code. These changes were done to reduce the CPU usage. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/12122\"\u003e#12122\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded two new methods, twisted.logger.Logger.failuresHandled and twisted.logger.Logger.failureHandler, which allow for more concise and convenient handling of exceptions when dispatching out to application code.  The former can arbitrarily customize failure handling at the call site, and the latter can be used for performance-sensitive cases where no additional information needs to be logged. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/12188\"\u003e#12188\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwisted.internet.defer.Deferred.addCallback now runs about 10% faster. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/12223\"\u003e#12223\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwisted.internet.defer.Deferred error handling is now faster, taking 40% less time to run. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/12227\"\u003e#12227\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBugfixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003etwisted.internet.ssl.Certificate.\u003cstrong\u003erepr\u003c/strong\u003e can now handle certificates without a common name (CN) in the certificate itself or the signing CA. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/5851\"\u003e#5851\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eType annotations have been added to twisted.conch.interfaces.IKnownHostEntry and its implementations, twisted.conch.client.knownhosts.PlainHost and twisted.conch.client.knownhosts.HashedHost, correcting a variety of type confusion issues throughout the conch client code. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/9713\"\u003e#9713\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwisted.python.failure.Failure once again utilizes the custom pickling logic it used to in the past. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/12112\"\u003e#12112\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwisted.conch.client.knownhosts.KnownHostsFile.verifyHostKey no longer logs an exception when automatically adding an IP address host key, which means the interactive \u003ccode\u003econch\u003c/code\u003e command-line no longer will either. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/12141\"\u003e#12141\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImproved Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eThe IRC server example found in the documentation was updated for readability. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/12097\"\u003e#12097\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove contextvars from list of optional dependencies. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/12128\"\u003e#12128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eThe documentation for installing Twisted was moved into a single page. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/12145\"\u003e#12145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eThe project's compatibility policy now clearly indicates that the GitHub Actions test matrix defines the supported platforms. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/12167\"\u003e#12167\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdated imap4client.py example, it no longer references Python 2. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/12252\"\u003e#12252\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDeprecations and Removals\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003etwisted.internet.defer.returnValue has been deprecated. You can replace it with the standard \u003ccode\u003ereturn\u003c/code\u003e statement. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/9930\"\u003e#9930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003etwisted-iocpsupport\u003c/code\u003e is no longer a hard dependency on Windows.\nThe IOCP support is now installed together with the other Windows soft\ndependencies via \u003ccode\u003etwisted[windows-platform]\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/11893\"\u003e#11893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwisted.python.deprecate helper function will now always strip whitespaces from the docstrings.\nThis is done to have the same behaviour as with Python 3.13. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/12063\"\u003e#12063\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwisted.conch.manhole.ManholeInterpreter.write, twisted.conch.manhole.ManholeInterpreter.addOutput, twisted.mail.imap4.IMAP4Server.sendUntaggedResponse \u003ccode\u003easync\u003c/code\u003e argument, deprecated since 18.9.0, has been removed. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/12130\"\u003e#12130\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwisted.web.soap was removed.\nThe SOAP support was already broken, for at least the last 4 years.\nThe SOAP support in Twisted has no active maintainer. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/12146\"\u003e#12146\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/twisted/twisted/commit/6d157ca99cccf2479dfb7dcb7e9dd4d9b748fe59\"\u003e\u003ccode\u003e6d157ca\u003c/code\u003e\u003c/a\u003e tox -e towncrier\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/twisted/twisted/commit/046a164f89a0f08d3239ecebd750360f8914df33\"\u003e\u003ccode\u003e046a164\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/twisted/twisted/commit/4a930de12fb67e88fefcb8822104152f42b27abc\"\u003e\u003ccode\u003e4a930de\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/twisted/twisted/commit/83bfa2af23109a2feb915fd5379f497abe50b27c\"\u003e\u003ccode\u003e83bfa2a\u003c/code\u003e\u003c/a\u003e Merge branch 'trunk' into advisory-fix-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/twisted/twisted/commit/bbb59e62473f67b2bef81f0cd3b66db2856e97fc\"\u003e\u003ccode\u003ebbb59e6\u003c/code\u003e\u003c/a\u003e - bugfix news fragment added\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/twisted/twisted/commit/bf29cc5a75667e4a08869bb59343ed14786a7788\"\u003e\u003ccode\u003ebf29cc5\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/twisted/twisted/issues/12257\"\u003e#12257\u003c/a\u003e More HTTP server benchmarks (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/12258\"\u003e#12258\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/twisted/twisted/commit/c678ea77f853b9d7543e9fc4c764c4e050a882fa\"\u003e\u003ccode\u003ec678ea7\u003c/code\u003e\u003c/a\u003e Align the Tox config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/twisted/twisted/commit/b53f137543559067f8a08770eb013770137de978\"\u003e\u003ccode\u003eb53f137\u003c/code\u003e\u003c/a\u003e Fix the bugs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/twisted/twisted/commit/612b1540aab97872ce8dc012acfb8561080ebc2f\"\u003e\u003ccode\u003e612b154\u003c/code\u003e\u003c/a\u003e Show uncovered lines\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/twisted/twisted/commit/bf5fc20dbc1b55f88b6a9acfa8c63ba698c770df\"\u003e\u003ccode\u003ebf5fc20\u003c/code\u003e\u003c/a\u003e Don't rename so Codspeed is happy\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/twisted/twisted/compare/twisted-22.4.0...twisted-24.7.0rc1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `certifi` from 2021.10.8 to 2024.7.4\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/bd8153872e9c6fc98f4023df9c2deaffea2fa463\"\u003e\u003ccode\u003ebd81538\u003c/code\u003e\u003c/a\u003e 2024.07.04 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/295\"\u003e#295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/06a2cbf21f345563dde6c28b60e29d57e9b210b3\"\u003e\u003ccode\u003e06a2cbf\u003c/code\u003e\u003c/a\u003e Bump peter-evans/create-pull-request from 6.0.5 to 6.1.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/294\"\u003e#294\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/13bba02b72bac97c432c277158bc04b4d2a6bc23\"\u003e\u003ccode\u003e13bba02\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4.1.6 to 4.1.7 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/293\"\u003e#293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/e8abcd0e62b334c164b95d49fcabdc9ecbca0554\"\u003e\u003ccode\u003ee8abcd0\u003c/code\u003e\u003c/a\u003e Bump pypa/gh-action-pypi-publish from 1.8.14 to 1.9.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/292\"\u003e#292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/124f4adf171e15cd9a91a8b6e0325ecc97be8fe1\"\u003e\u003ccode\u003e124f4ad\u003c/code\u003e\u003c/a\u003e 2024.06.02 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/291\"\u003e#291\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/c2196ce5d6ee675b27755a19948480a7823e2c6a\"\u003e\u003ccode\u003ec2196ce\u003c/code\u003e\u003c/a\u003e --- (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/290\"\u003e#290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/fefdeec7588ff1c05214b85a552afcad5fdb51b2\"\u003e\u003ccode\u003efefdeec\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4.1.4 to 4.1.5 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/289\"\u003e#289\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/3c5fb1560b826a7f83f1f9750173ff766492c9cf\"\u003e\u003ccode\u003e3c5fb15\u003c/code\u003e\u003c/a\u003e Bump actions/download-artifact from 4.1.6 to 4.1.7 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/286\"\u003e#286\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/4a9569a3eb58db8548536fc16c5c5c7af946a5b1\"\u003e\u003ccode\u003e4a9569a\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4.1.2 to 4.1.4 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/287\"\u003e#287\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/1fc808626a895a916b1e4c2b63abae6c5eafdbe3\"\u003e\u003ccode\u003e1fc8086\u003c/code\u003e\u003c/a\u003e Bump peter-evans/create-pull-request from 6.0.4 to 6.0.5 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/288\"\u003e#288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/certifi/python-certifi/compare/2021.10.08...2024.07.04\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jinja2` from 3.1.2 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/jinja/releases\"\u003ejinja2'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 Jinja 3.1.6 security release, which fixes security issues 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/Jinja2/3.1.6/\"\u003ehttps://pypi.org/project/Jinja2/3.1.6/\u003c/a\u003e\nChanges: \u003ca href=\"https://jinja.palletsprojects.com/en/stable/changes/#version-3-1-6\"\u003ehttps://jinja.palletsprojects.com/en/stable/changes/#version-3-1-6\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003e|attr\u003c/code\u003e filter does not bypass the environment's attribute lookup, allowing the sandbox to apply its checks. \u003ca href=\"https://github.com/pallets/jinja/security/advisories/GHSA-cpwx-vrp4-4pq7\"\u003ehttps://github.com/pallets/jinja/security/advisories/GHSA-cpwx-vrp4-4pq7\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.5\u003c/h2\u003e\n\u003cp\u003eThis is the Jinja 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/Jinja2/3.1.5/\"\u003ehttps://pypi.org/project/Jinja2/3.1.5/\u003c/a\u003e\nChanges: \u003ca href=\"https://jinja.palletsprojects.com/changes/#version-3-1-5\"\u003ehttps://jinja.palletsprojects.com/changes/#version-3-1-5\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/jinja/milestone/16?closed=1\"\u003ehttps://github.com/pallets/jinja/milestone/16?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe sandboxed environment handles indirect calls to \u003ccode\u003estr.format\u003c/code\u003e, such as by passing a stored reference to a filter that calls its argument. \u003ca href=\"https://github.com/pallets/jinja/security/advisories/GHSA-q2x7-8rv6-6q7h\"\u003eGHSA-q2x7-8rv6-6q7h\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEscape template name before formatting it into error messages, to avoid issues with names that contain f-string syntax. \u003ca href=\"https://redirect.github.com/pallets/jinja/issues/1792\"\u003e#1792\u003c/a\u003e, \u003ca href=\"https://github.com/pallets/jinja/security/advisories/GHSA-gmj6-6f8f-6699\"\u003eGHSA-gmj6-6f8f-6699\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSandbox does not allow \u003ccode\u003eclear\u003c/code\u003e and \u003ccode\u003epop\u003c/code\u003e on known mutable sequence types. \u003ca href=\"https://redirect.github.com/pallets/jinja/issues/2032\"\u003e#2032\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCalling sync \u003ccode\u003erender\u003c/code\u003e for an async template uses \u003ccode\u003easyncio.run\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/jinja/issues/1952\"\u003e#1952\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid unclosed \u003ccode\u003eauto_aiter\u003c/code\u003e warnings. \u003ca href=\"https://redirect.github.com/pallets/jinja/issues/1960\"\u003e#1960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReturn an \u003ccode\u003eaclose\u003c/code\u003e-able \u003ccode\u003eAsyncGenerator\u003c/code\u003e from \u003ccode\u003eTemplate.generate_async\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/jinja/issues/1960\"\u003e#1960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid leaving \u003ccode\u003eroot_render_func()\u003c/code\u003e unclosed in \u003ccode\u003eTemplate.generate_async\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/jinja/issues/1960\"\u003e#1960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid leaving async generators unclosed in blocks, includes and extends. \u003ca href=\"https://redirect.github.com/pallets/jinja/issues/1960\"\u003e#1960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe runtime uses the correct \u003ccode\u003econcat\u003c/code\u003e function for the current environment when calling block references. \u003ca href=\"https://redirect.github.com/pallets/jinja/issues/1701\"\u003e#1701\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003e|unique\u003c/code\u003e async-aware, allowing it to be used after another async-aware filter. \u003ca href=\"https://redirect.github.com/pallets/jinja/issues/1781\"\u003e#1781\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e|int\u003c/code\u003e filter handles \u003ccode\u003eOverflowError\u003c/code\u003e from scientific notation. \u003ca href=\"https://redirect.github.com/pallets/jinja/issues/1921\"\u003e#1921\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake compiling deterministic for tuple unpacking in a \u003ccode\u003e{% set ... %}\u003c/code\u003e call. \u003ca href=\"https://redirect.github.com/pallets/jinja/issues/2021\"\u003e#2021\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix dunder protocol (\u003ccode\u003ecopy\u003c/code\u003e/\u003ccode\u003epickle\u003c/code\u003e/etc) interaction with \u003ccode\u003eUndefined\u003c/code\u003e objects. \u003ca href=\"https://redirect.github.com/pallets/jinja/issues/2025\"\u003e#2025\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003ecopy\u003c/code\u003e/\u003ccode\u003epickle\u003c/code\u003e support for the internal \u003ccode\u003emissing\u003c/code\u003e object. \u003ca href=\"https://redirect.github.com/pallets/jinja/issues/2027\"\u003e#2027\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eEnvironment.overlay(enable_async)\u003c/code\u003e is applied correctly. \u003ca href=\"https://redirect.github.com/pallets/jinja/issues/2061\"\u003e#2061\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe error message from \u003ccode\u003eFileSystemLoader\u003c/code\u003e includes the paths that were searched. \u003ca href=\"https://redirect.github.com/pallets/jinja/issues/1661\"\u003e#1661\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ePackageLoader\u003c/code\u003e shows a clearer error message when the package does not contain the templates directory. \u003ca href=\"https://redirect.github.com/pallets/jinja/issues/1705\"\u003e#1705\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove annotations for methods returning copies. \u003ca href=\"https://redirect.github.com/pallets/jinja/issues/1880\"\u003e#1880\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eurlize\u003c/code\u003e does not add \u003ccode\u003emailto:\u003c/code\u003e to values like \u003ccode\u003e@a@b\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/jinja/issues/1870\"\u003e#1870\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTests decorated with \u003ccode\u003e@pass_context\u003c/code\u003e can be used with the \u003ccode\u003e|select\u003c/code\u003e filter. \u003ca href=\"https://redirect.github.com/pallets/jinja/issues/1624\"\u003e#1624\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUsing \u003ccode\u003eset\u003c/code\u003e for multiple assignment (\u003ccode\u003ea, b = 1, 2\u003c/code\u003e) does not fail when the target is a namespace attribute. \u003ca href=\"https://redirect.github.com/pallets/jinja/issues/1413\"\u003e#1413\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUsing \u003ccode\u003eset\u003c/code\u003e in all branches of \u003ccode\u003e{% if %}{% elif %}{% else %}\u003c/code\u003e blocks does not cause the variable to be considered initially undefined. \u003ca href=\"https://redirect.github.com/pallets/jinja/issues/1253\"\u003e#1253\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.4\u003c/h2\u003e\n\u003cp\u003eThis is the Jinja 3.1.4 security release, which fixes security issues and bugs but does not otherwise change behavior and should not result in breaking changes.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Jinja2/3.1.4/\"\u003ehttps://pypi.org/project/Jinja2/3.1.4/\u003c/a\u003e\nChanges: \u003ca href=\"https://jinja.palletsprojects.com/en/3.1.x/changes/#version-3-1-4\"\u003ehttps://jinja.palletsprojects.com/en/3.1.x/changes/#version-3-1-4\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003exmlattr\u003c/code\u003e filter does not allow keys with \u003ccode\u003e/\u003c/code\u003e solidus, \u003ccode\u003e\u0026gt;\u003c/code\u003e greater-than sign, or \u003ccode\u003e=\u003c/code\u003e equals sign, in addition to disallowing spaces. Regardless of any validation done by Jinja, user input should never be used as keys to this filter, or must be separately validated first. GHSA-h75v-3vvj-5mfj\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.3\u003c/h2\u003e\n\u003cp\u003eThis is a fix release for the 3.1.x feature branch.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix for \u003ca href=\"https://github.com/pallets/jinja/security/advisories/GHSA-h5c8-rqwp-cp95\"\u003eGHSA-h5c8-rqwp-cp95\u003c/a\u003e. You are affected if you are using \u003ccode\u003exmlattr\u003c/code\u003e and passing user input as attribute keys.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/jinja/blob/main/CHANGES.rst\"\u003ejinja2'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 2025-03-05\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003e|attr\u003c/code\u003e filter does not bypass the environment's attribute lookup,\nallowing the sandbox to apply its checks. :ghsa:\u003ccode\u003ecpwx-vrp4-4pq7\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.5\u003c/h2\u003e\n\u003cp\u003eReleased 2024-12-21\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe sandboxed environment handles indirect calls to \u003ccode\u003estr.format\u003c/code\u003e, such as\nby passing a stored reference to a filter that calls its argument.\n:ghsa:\u003ccode\u003eq2x7-8rv6-6q7h\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eEscape template name before formatting it into error messages, to avoid\nissues with names that contain f-string syntax.\n:issue:\u003ccode\u003e1792\u003c/code\u003e, :ghsa:\u003ccode\u003egmj6-6f8f-6699\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eSandbox does not allow \u003ccode\u003eclear\u003c/code\u003e and \u003ccode\u003epop\u003c/code\u003e on known mutable sequence\ntypes. :issue:\u003ccode\u003e2032\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eCalling sync \u003ccode\u003erender\u003c/code\u003e for an async template uses \u003ccode\u003easyncio.run\u003c/code\u003e.\n:pr:\u003ccode\u003e1952\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAvoid unclosed \u003ccode\u003eauto_aiter\u003c/code\u003e warnings. :pr:\u003ccode\u003e1960\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eReturn an \u003ccode\u003eaclose\u003c/code\u003e-able \u003ccode\u003eAsyncGenerator\u003c/code\u003e from\n\u003ccode\u003eTemplate.generate_async\u003c/code\u003e. :pr:\u003ccode\u003e1960\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAvoid leaving \u003ccode\u003eroot_render_func()\u003c/code\u003e unclosed in\n\u003ccode\u003eTemplate.generate_async\u003c/code\u003e. :pr:\u003ccode\u003e1960\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAvoid leaving async generators unclosed in blocks, includes and extends.\n:pr:\u003ccode\u003e1960\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe runtime uses the correct \u003ccode\u003econcat\u003c/code\u003e function for the current environment\nwhen calling block references. :issue:\u003ccode\u003e1701\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003e|unique\u003c/code\u003e async-aware, allowing it to be used after another\nasync-aware filter. :issue:\u003ccode\u003e1781\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e|int\u003c/code\u003e filter handles \u003ccode\u003eOverflowError\u003c/code\u003e from scientific notation.\n:issue:\u003ccode\u003e1921\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eMake compiling deterministic for tuple unpacking in a \u003ccode\u003e{% set ... %}\u003c/code\u003e\ncall. :issue:\u003ccode\u003e2021\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix dunder protocol (\u003ccode\u003ecopy\u003c/code\u003e/\u003ccode\u003epickle\u003c/code\u003e/etc) interaction with \u003ccode\u003eUndefined\u003c/code\u003e\nobjects. :issue:\u003ccode\u003e2025\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003ecopy\u003c/code\u003e/\u003ccode\u003epickle\u003c/code\u003e support for the internal \u003ccode\u003emissing\u003c/code\u003e object.\n:issue:\u003ccode\u003e2027\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eEnvironment.overlay(enable_async)\u003c/code\u003e is applied correctly. :pr:\u003ccode\u003e2061\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe error message from \u003ccode\u003eFileSystemLoader\u003c/code\u003e includes the paths that were\nsearched. :issue:\u003ccode\u003e1661\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ePackageLoader\u003c/code\u003e shows a clearer error message when the package does not\ncontain the templates directory. :issue:\u003ccode\u003e1705\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eImprove annotations for methods returning copies. :pr:\u003ccode\u003e1880\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eurlize\u003c/code\u003e does not add \u003ccode\u003emailto:\u003c/code\u003e to values like \u003ccode\u003e@a@b\u003c/code\u003e. :pr:\u003ccode\u003e1870\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/jinja/commit/15206881c006c79667fe5154fe80c01c65410679\"\u003e\u003ccode\u003e1520688\u003c/code\u003e\u003c/a\u003e release version 3.1.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/jinja/commit/90457bbf33b8662926ae65cdde4c4c32e756e403\"\u003e\u003ccode\u003e90457bb\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/jinja/commit/065334d1ee5b7210e1a0a93c37238c86858f2af7\"\u003e\u003ccode\u003e065334d\u003c/code\u003e\u003c/a\u003e attr filter uses env.getattr\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/jinja/commit/033c20015c7ca899ab52eb921bb0f08e6d3dd145\"\u003e\u003ccode\u003e033c200\u003c/code\u003e\u003c/a\u003e start version 3.1.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/jinja/commit/bc68d4efa99c5f77334f0e519628558059ae8c35\"\u003e\u003ccode\u003ebc68d4e\u003c/code\u003e\u003c/a\u003e use global contributing guide (\u003ca href=\"https://redirect.github.com/pallets/jinja/issues/2070\"\u003e#2070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/jinja/commit/247de5e0c5062a792eb378e50e13e692885ee486\"\u003e\u003ccode\u003e247de5e\u003c/code\u003e\u003c/a\u003e use global contributing guide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/jinja/commit/ab8218c7a1b66b62e0ad6b941bd514e3a64a358f\"\u003e\u003ccode\u003eab8218c\u003c/code\u003e\u003c/a\u003e use project advisory link instead of global\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/jinja/commit/b4ffc8ff299dfd360064bea4cd2f862364601ad2\"\u003e\u003ccode\u003eb4ffc8f\u003c/code\u003e\u003c/a\u003e release version 3.1.5 (\u003ca href=\"https://redirect.github.com/pallets/jinja/issues/2066\"\u003e#2066\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/jinja/commit/877f6e51be8e1765b06d911cfaa9033775f051d1\"\u003e\u003ccode\u003e877f6e5\u003c/code\u003e\u003c/a\u003e release version 3.1.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/jinja/commit/8d588592653b052f957b720e1fc93196e06f207f\"\u003e\u003ccode\u003e8d58859\u003c/code\u003e\u003c/a\u003e remove test pypi\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/jinja/compare/3.1.2...3.1.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mako` from 1.2.0 to 1.2.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sqlalchemy/mako/releases\"\u003emako's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.2.2\u003c/h1\u003e\n\u003cp\u003eReleased: Mon Aug 29 2022\u003c/p\u003e\n\u003ch2\u003ebug\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[bug] [lexer]\u003c/strong\u003e Fixed issue in lexer where the regexp used to match tags would not\ncorrectly interpret quoted sections individually. While this parsing issue\nstill produced the same expected tag structure later on, the mis-handling\nof quoted sections was also subject to a regexp crash if a tag had a large\nnumber of quotes within its quoted sections.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://redirect.github.com/sqlalchemy/mako/issues/366\"\u003e#366\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.2.1\u003c/h1\u003e\n\u003cp\u003eReleased: Thu Jun 30 2022\u003c/p\u003e\n\u003ch2\u003ebug\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[bug] [tests]\u003c/strong\u003e Various fixes to the test suite in the area of exception message rendering\nto accommodate for variability in Python versions as well as Pygments.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://redirect.github.com/sqlalchemy/mako/issues/360\"\u003e#360\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003emisc\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[performance]\u003c/strong\u003e Optimized some codepaths within the lexer/Python code generation process,\nimproving performance for generation of templates prior to their being\ncached. Pull request courtesy Takuto Ikuta.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://redirect.github.com/sqlalchemy/mako/issues/361\"\u003e#361\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sqlalchemy/mako/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pillow` from 9.1.1 to 10.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-pillow/Pillow/releases\"\u003epillow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e10.3.0\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://pillow.readthedocs.io/en/stable/releasenotes/10.3.0.html\"\u003ehttps://pillow.readthedocs.io/en/stable/releasenotes/10.3.0.html\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate eval(), replacing it with lambda_eval() and unsafe_eval() \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7927\"\u003e#7927\u003c/a\u003e [\u003ca href=\"https://github.com/hugovk\"\u003e\u003ccode\u003e@​hugovk\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eDeprecate ImageCms constants and versions() function \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7702\"\u003e#7702\u003c/a\u003e [\u003ca href=\"https://github.com/nulano\"\u003e\u003ccode\u003e@​nulano\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2024-28219: Use strncpy to avoid buffer overflow \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7928\"\u003e#7928\u003c/a\u003e [\u003ca href=\"https://github.com/hugovk\"\u003e\u003ccode\u003e@​hugovk\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003efunctools.lru_cache\u003c/code\u003e for \u003ccode\u003ehopper()\u003c/code\u003e \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7912\"\u003e#7912\u003c/a\u003e [\u003ca href=\"https://github.com/hugovk\"\u003e\u003ccode\u003e@​hugovk\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eRaise ValueError if seeking to greater than offset-sized integer in TIFF \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7883\"\u003e#7883\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eImprove speed of loading QOI images \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7925\"\u003e#7925\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdded RGB to I;16N conversion \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7920\"\u003e#7920\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdd --report argument to \u003cstrong\u003emain\u003c/strong\u003e.py to omit supported formats \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7818\"\u003e#7818\u003c/a\u003e [\u003ca href=\"https://github.com/nulano\"\u003e\u003ccode\u003e@​nulano\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdded RGB to I;16, I;16L and I;16B conversion \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7918\"\u003e#7918\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eFix editable installation with custom build backend and configuration options \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7658\"\u003e#7658\u003c/a\u003e [\u003ca href=\"https://github.com/nulano\"\u003e\u003ccode\u003e@​nulano\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eFix putdata() for I;16N on big-endian \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7209\"\u003e#7209\u003c/a\u003e [\u003ca href=\"https://github.com/Yay295\"\u003e\u003ccode\u003e@​Yay295\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eDetermine MPO size from markers, not EXIF data \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7884\"\u003e#7884\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eImproved conversion from RGB to RGBa, LA and La \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7888\"\u003e#7888\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eSupport FITS images with GZIP_1 compression \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7894\"\u003e#7894\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUse I;16 mode for 9-bit JPEG 2000 images \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7900\"\u003e#7900\u003c/a\u003e [\u003ca href=\"https://github.com/scaramallion\"\u003e\u003ccode\u003e@​scaramallion\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eRaise ValueError if kmeans is negative \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7891\"\u003e#7891\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eRemove TIFF tag OSUBFILETYPE when saving using libtiff \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7893\"\u003e#7893\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eRaise ValueError for negative values when loading P1-P3 PPM images \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7882\"\u003e#7882\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdded reading of JPEG2000 palettes \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7870\"\u003e#7870\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdded alpha_quality argument when saving WebP images \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7872\"\u003e#7872\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eFixed joined corners for ImageDraw rounded_rectangle() non-integer dimensions \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7881\"\u003e#7881\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eRemoved Python and NumPy pinning on Cygwin \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7880\"\u003e#7880\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate UnidentifiedImageError and \u003cstrong\u003eversion\u003c/strong\u003e imports \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7644\"\u003e#7644\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eStop reading EPS image at EOF marker \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7753\"\u003e#7753\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003ePSD layer co-ordinates may be negative \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7706\"\u003e#7706\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUse subprocess with CREATE_NO_WINDOW flag in ImageShow WindowsViewer \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7791\"\u003e#7791\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eWhen saving GIF frame that restores to background color, do not fill identical pixels \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7788\"\u003e#7788\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eFixed reading PNG iCCP compression method \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7823\"\u003e#7823\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAllow writing IFDRational to UNDEFINED tag \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7840\"\u003e#7840\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eFix logged tag name when loading Exif data \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7842\"\u003e#7842\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUse maximum frame size in IHDR chunk when saving APNG images \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7821\"\u003e#7821\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003ePrevent opening P TGA images without a palette \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7797\"\u003e#7797\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUse palette when loading ICO images \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7798\"\u003e#7798\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUse consistent arguments for load_read and load_seek \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7713\"\u003e#7713\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eTurn off nullability warnings for macOS SDK \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7827\"\u003e#7827\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eFix shift-sign issue in Convert.c \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7838\"\u003e#7838\u003c/a\u003e [\u003ca href=\"https://github.com/r-barnes\"\u003e\u003ccode\u003e@​r-barnes\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003ewinbuild: Refactor dependency versions into constants \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7843\"\u003e#7843\u003c/a\u003e [\u003ca href=\"https://github.com/hugovk\"\u003e\u003ccode\u003e@​hugovk\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eBuild macOS arm64 wheels natively \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7852\"\u003e#7852\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eFixed typo \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7855\"\u003e#7855\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eOpen 16-bit grayscale PNGs as I;16 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7849\"\u003e#7849\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eHandle truncated chunks at the end of PNG images \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7709\"\u003e#7709\u003c/a\u003e [\u003ca href=\"https://github.com/lajiyuan\"\u003e\u003ccode\u003e@​lajiyuan\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eMatch mask size to pasted image size in GifImagePlugin \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7779\"\u003e#7779\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst\"\u003epillow's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e10.3.0 (2024-04-01)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eCVE-2024-28219: Use \u003ccode\u003estrncpy\u003c/code\u003e to avoid buffer overflow \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7928\"\u003e#7928\u003c/a\u003e\n[radarhere, hugovk]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDeprecate \u003ccode\u003eeval()\u003c/code\u003e, replacing it with \u003ccode\u003elambda_eval()\u003c/code\u003e and \u003ccode\u003eunsafe_eval()\u003c/code\u003e \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7927\"\u003e#7927\u003c/a\u003e\n[radarhere, hugovk]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRaise \u003ccode\u003eValueError\u003c/code\u003e if seeking to greater than offset-sized integer in TIFF \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7883\"\u003e#7883\u003c/a\u003e\n[radarhere]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd \u003ccode\u003e--report\u003c/code\u003e argument to \u003ccode\u003e__main__.py\u003c/code\u003e to omit supported formats \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7818\"\u003e#7818\u003c/a\u003e\n[nulano, radarhere, hugovk]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded RGB to I;16, I;16L, I;16B and I;16N conversion \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7918\"\u003e#7918\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7920\"\u003e#7920\u003c/a\u003e\n[radarhere]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix editable installation with custom build backend and configuration options \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7658\"\u003e#7658\u003c/a\u003e\n[nulano, radarhere]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix putdata() for I;16N on big-endian \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7209\"\u003e#7209\u003c/a\u003e\n[Yay295, hugovk, radarhere]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDetermine MPO size from markers, not EXIF data \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7884\"\u003e#7884\u003c/a\u003e\n[radarhere]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImproved conversion from RGB to RGBa, LA and La \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7888\"\u003e#7888\u003c/a\u003e\n[radarhere]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport FITS images with GZIP_1 compression \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7894\"\u003e#7894\u003c/a\u003e\n[radarhere]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUse I;16 mode for 9-bit JPEG 2000 images \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7900\"\u003e#7900\u003c/a\u003e\n[scaramallion, radarhere]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRaise ValueError if kmeans is negative \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7891\"\u003e#7891\u003c/a\u003e\n[radarhere]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove TIFF tag OSUBFILETYPE when saving using libtiff \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7893\"\u003e#7893\u003c/a\u003e\n[radarhere]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRaise ValueError for negative values when loading P1-P3 PPM images \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7882\"\u003e#7882\u003c/a\u003e\n[radarhere]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded reading of JPEG2000 palettes \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7870\"\u003e#7870\u003c/a\u003e\n[radarhere]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded alpha_quality argument when saving WebP images \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7872\"\u003e#7872\u003c/a\u003e\n[radarhere]\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/5c89d88eee199ba53f64581ea39b6a1bc52feb1a\"\u003e\u003ccode\u003e5c89d88\u003c/code\u003e\u003c/a\u003e 10.3.0 version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/63cbfcfdea2d163ec93bae8d283fcfe4b73b5dc7\"\u003e\u003ccode\u003e63cbfcf\u003c/code\u003e\u003c/a\u003e Update CHANGES.rst [ci skip]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/2776126aa9af322b416eaca247f4f8ebefd08128\"\u003e\u003ccode\u003e2776126\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7928\"\u003e#7928\u003c/a\u003e from python-pillow/lcms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/aeb51cbb169eb3285818ba1390ddf2771d897e6e\"\u003e\u003ccode\u003eaeb51cb\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into lcms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/5beb0b66648db8b542bb5260eed79b25e33d643b\"\u003e\u003ccode\u003e5beb0b6\u003c/code\u003e\u003c/a\u003e Update CHANGES.rst [ci skip]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/cac6ffa7b399ea79b6239984d1307056a0b19af2\"\u003e\u003ccode\u003ecac6ffa\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7927\"\u003e#7927\u003c/a\u003e from python-pillow/imagemath\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/f5eeeacf7539eaa0d93a677d7666bc7c142c8d1c\"\u003e\u003ccode\u003ef5eeeac\u003c/code\u003e\u003c/a\u003e Name as 'options' in lambda_eval and unsafe_eval, but '_dict' in deprecated eval\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/facf3af93dabcbdd8cdbda8c3b50eefafa3bb04c\"\u003e\u003ccode\u003efacf3af\u003c/code\u003e\u003c/a\u003e Added release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/2a93aba5cfcf6e241ab4f9392c13e3b74032c061\"\u003e\u003ccode\u003e2a93aba\u003c/code\u003e\u003c/a\u003e Use strncpy to avoid buffer overflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/a670597bc30e9d489656fc9d807170b8f3d7ca57\"\u003e\u003ccode\u003ea670597\u003c/code\u003e\u003c/a\u003e Update CHANGES.rst [ci skip]\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-pillow/Pillow/compare/9.1.1...10.3.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.27.1 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\u003ch2\u003ev2.32.2\u003c/h2\u003e\n\u003ch2\u003e2.32.2 (2024-05-21)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eTo provide a more stable migration for custom HTTPAdapters impacted\nby the CVE changes in 2.32.0, we've renamed \u003ccode\u003e_get_connection\u003c/code\u003e to\na new public API, \u003ccode\u003eget_connection_with_tls_context\u003c/code\u003e. Existing custom\nHTTPAdapters will need to migrate their code to use this new API.\n\u003ccode\u003eget_connection\u003c/code\u003e is considered deprecated in all versions of Requests\u0026gt;=2.32.0.\u003c/p\u003e\n\u003cp\u003eA minimal (2-line) example has been provided in the linked PR to ease\nmigration, but we strongly urge users to evaluate if their custom adapter\nis subject to the same issue described in CVE-2024-35195. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6710\"\u003e#6710\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.32.1\u003c/h2\u003e\n\u003ch2\u003e2.32.1 (2024-05-20)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd missing test certs to the sdist distributed on PyPI.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.32.0\u003c/h2\u003e\n\u003cp\u003e2.32.0 (2024-05-20)\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/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/...\n\n_Description has been truncated_\n\u003c!-- ELLIPSIS_HIDDEN --\u003e\n\n----\n\n\u003e [!IMPORTANT]\n\u003e Bump 14 dependencies across multiple requirements files to address security vulnerabilities, improve performance, and add new features.\n\u003e \n\u003e   - **Dependencies Updated**:\n\u003e     - `cryptography` from 3.4.7 to 44.0.1\n\u003e     - `future` from 0.18.2 to 1.0.0\n\u003e     - `idna` from 2.10 to 3.7\n\u003e     - `twisted` from 22.4.0 to 24.7.0rc1\n\u003e     - `certifi` from 2021.10.8 to 2024.7.4\n\u003e     - `jinja2` from 3.1.2 to 3.1.6\n\u003e     - `mako` from 1.2.0 to 1.2.2\n\u003e     - `pillow` from 9.1.1 to 10.3.0\n\u003e     - `requests` from 2.27.1 to 2.32.4\n\u003e     - `sqlparse` from 0.4.2 to 0.5.0\n\u003e     - `urllib3` from 1.26.9 to 2.5.0\n\u003e     - `werkzeug` from 2.1.2 to 3.0.6\n\u003e     - `zipp` from 3.8.1 to 3.19.1\n\u003e     - `pg8000` from 1.26.1 to 1.31.5\n\u003e   - **Files Affected**:\n\u003e     - `requirements-ci.txt`\n\u003e     - `requirements-cidb.txt`\n\u003e     - `requirements-ciworker.txt`\n\u003e     - `requirements-master-docker-extras.txt`\n\u003e     - `requirements-minimal.txt`\n\u003e \n\u003e \u003csup\u003eThis description was created by \u003c/sup\u003e[\u003cimg alt=\"Ellipsis\" src=\"https://img.shields.io/badge/Ellipsis-blue?color=175173\"\u003e](https://www.ellipsis.dev?ref=q1blue%2Fbuildbot\u0026utm_source=github\u0026utm_medium=referral)\u003csup\u003e for 2b63db2a003dae4399961caa8a1f1ab74f044d37. You can [customize](https://app.ellipsis.dev/q1blue/settings/summaries) this summary. It will automatically update as commits are pushed.\u003c/sup\u003e\n\n\u003c!-- ELLIPSIS_HIDDEN --\u003e","html_url":"https://github.com/q1blue/buildbot/pull/179","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/q1blue%2Fbuildbot/issues/179","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/179/packages"},{"uuid":"3559553453","node_id":"PR_kwDOOFBbUc6wCpMX","number":23,"state":"open","title":"Bump pg8000 from 1.31.2 to 1.31.5 in /letta","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-10-28T03:00:53.000Z","updated_at":"2025-10-28T03:02:33.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"pg8000","old_version":"1.31.2","new_version":"1.31.5","repository_url":"https://github.com/tlocke/pg8000"}],"path":"/letta","ecosystem":"pip"},"body":"Bumps [pg8000](https://github.com/tlocke/pg8000) from 1.31.2 to 1.31.5.\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tlocke/pg8000/commits\"\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=pg8000\u0026package-manager=pip\u0026previous-version=1.31.2\u0026new-version=1.31.5)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/raviriley/raggy/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/raviriley/raggy/pull/23","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/raviriley%2Fraggy/issues/23","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/23/packages"},{"uuid":"3559552939","node_id":"PR_kwDOLALmC86wCpFD","number":32,"state":"open","title":"build(deps): bump pg8000 from 1.30.3 to 1.31.5 in /ci/builder","user":"dependabot[bot]","labels":["PR:size/XS","release","NO JIRA","🤖 bot","python","size/XS","☑️ auto-merge","dependencies"],"assignees":["D0LLi"],"locked":false,"comments_count":14,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-10-28T03:00:39.000Z","updated_at":"2025-10-28T03:02:24.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"pg8000","old_version":"1.30.3","new_version":"1.31.5","repository_url":null}],"path":"/ci/builder","ecosystem":"pip"},"body":"### Description\n\nIn this pull request, the version of the `pg8000` library is being updated from `1.30.3` to `1.31.5` in the `requirements.txt` file.\n\nChanges:\n- Update `pg8000` library version in `requirements.txt` from `1.30.3` to `1.31.5`","html_url":"https://github.com/D0LLi/materialize/pull/32","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/D0LLi%2Fmaterialize/issues/32","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/32/packages"},{"uuid":"3559550516","node_id":"PR_kwDOCtUDz86wCohI","number":440,"state":"open","title":"build(deps): bump pg8000 from 1.31.2 to 1.31.5","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-10-28T03:00:06.000Z","updated_at":"2025-10-28T03:01:10.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"pg8000","old_version":"1.31.2","new_version":"1.31.5","repository_url":"https://github.com/tlocke/pg8000"}],"path":null,"ecosystem":"pip"},"body":"Bumps [pg8000](https://github.com/tlocke/pg8000) from 1.31.2 to 1.31.5.\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tlocke/pg8000/commits\"\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=pg8000\u0026package-manager=pip\u0026previous-version=1.31.2\u0026new-version=1.31.5)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/faizulho/buildbot/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/faizulho/buildbot/pull/440","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/faizulho%2Fbuildbot/issues/440","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/440/packages"},{"uuid":"3559550458","node_id":"PR_kwDOC1M_yM6wCogP","number":309,"state":"open","title":"build(deps): bump pg8000 from 1.16.4 to 1.31.5 in /forge/logging","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-10-28T03:00:04.000Z","updated_at":"2025-11-13T17:29:25.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"pg8000","old_version":"1.16.4","new_version":"1.31.5","repository_url":"https://github.com/tlocke/pg8000"}],"path":"/forge/logging","ecosystem":"pip"},"body":"Bumps [pg8000](https://github.com/tlocke/pg8000) from 1.16.4 to 1.31.5.\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tlocke/pg8000/commits\"\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=pg8000\u0026package-manager=pip\u0026previous-version=1.16.4\u0026new-version=1.31.5)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/tnelson/Forge/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/tnelson/Forge/pull/309","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/tnelson%2FForge/issues/309","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/309/packages"},{"uuid":"3554142295","node_id":"PR_kwDOQJhTAc6vwTWG","number":2,"state":"closed","title":"Bump the dependencies group with 43 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-02-10T00:51:36.000Z","author_association":null,"state_reason":null,"created_at":"2025-10-26T15:53:40.000Z","updated_at":"2026-02-10T00:51:38.000Z","time_to_close":9190676,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"dependencies","update_count":43,"packages":[{"name":"isodate","old_version":"0.6.1","new_version":"0.7.2","repository_url":"https://github.com/gweis/isodate"},{"name":"lxml","old_version":"5.1.0","new_version":"6.0.2","repository_url":"https://github.com/lxml/lxml"},{"name":"numpy","old_version":"1.26.2","new_version":"2.0.2","repository_url":"https://github.com/numpy/numpy"},{"name":"openpyxl","old_version":"3.1.2","new_version":"3.1.5"},{"name":"pyparsing","old_version":"3.1.1","new_version":"3.2.5","repository_url":"https://github.com/pyparsing/pyparsing"},{"name":"python-dateutil","old_version":"2.8.2","new_version":"2.9.0.post0","repository_url":"https://github.com/dateutil/dateutil"},{"name":"pycryptodome","old_version":"3.20.0","new_version":"3.23.0","repository_url":"https://github.com/Legrandin/pycryptodome"},{"name":"pg8000","old_version":"1.30.5","new_version":"1.31.5","repository_url":"https://github.com/tlocke/pg8000"},{"name":"pymysql","old_version":"1.1.0","new_version":"1.1.2","repository_url":"https://github.com/PyMySQL/PyMySQL"},{"name":"pyodbc","old_version":"5.1.0","new_version":"5.3.0","repository_url":"https://github.com/mkleehammer/pyodbc"},{"name":"rdflib","old_version":"7.0.0","new_version":"7.3.0","repository_url":"https://github.com/RDFLib/rdflib"},{"name":"holidays","old_version":"0.43","new_version":"0.83","repository_url":"https://github.com/vacanza/holidays"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [isodate](https://github.com/gweis/isodate), [lxml](https://github.com/lxml/lxml), [numpy](https://github.com/numpy/numpy), [openpyxl](https://openpyxl.readthedocs.io), [pyparsing](https://github.com/pyparsing/pyparsing), [python-dateutil](https://github.com/dateutil/dateutil), [pycryptodome](https://github.com/Legrandin/pycryptodome), [pg8000](https://github.com/tlocke/pg8000), [pymysql](https://github.com/PyMySQL/PyMySQL), [pyodbc](https://github.com/mkleehammer/pyodbc), [rdflib](https://github.com/RDFLib/rdflib), [holidays](https://github.com/vacanza/holidays), [tinycss2](https://github.com/Kozea/tinycss2), [graphviz](https://github.com/xflr6/graphviz), [cheroot](https://github.com/cherrypy/cheroot), [cherrypy](https://github.com/cherrypy/cherrypy), [tornado](https://github.com/tornadoweb/tornado), [setuptools](https://github.com/pypa/setuptools), [setuptools-scm[toml]](https://github.com/pypa/setuptools-scm), [certifi](https://github.com/certifi/python-certifi), [regex](https://github.com/mrabarnett/mrab-regex), [aniso8601](https://codeberg.org/nielsenb-jf/aniso8601), [pycountry](https://github.com/flyingcircusio/pycountry), [matplotlib](https://github.com/matplotlib/matplotlib), [pytz](https://github.com/stub42/pytz), [pillow](https://github.com/python-pillow/Pillow), [pywin32](https://github.com/mhammond/pywin32), [ixbrl-viewer](https://github.com/Arelle/ixbrl-viewer), [flake8](https://github.com/pycqa/flake8), [mypy](https://github.com/python/mypy), [pytest](https://github.com/pytest-dev/pytest), [typing-extensions](https://github.com/python/typing_extensions), [types-pymysql](https://github.com/typeshed-internal/stub_uploader), [types-python-dateutil](https://github.com/typeshed-internal/stub_uploader), [types-pytz](https://github.com/typeshed-internal/stub_uploader), [types-simplejson](https://github.com/typeshed-internal/stub_uploader), [types-ujson](https://github.com/typeshed-internal/stub_uploader), [types-regex](https://github.com/typeshed-internal/stub_uploader), [types-waitress](https://github.com/typeshed-internal/stub_uploader), [furo](https://github.com/pradyunsg/furo), [myst-parser](https://github.com/executablebooks/MyST-Parser), [sphinx](https://github.com/sphinx-doc/sphinx) and [sphinx-autobuild](https://github.com/sphinx-doc/sphinx-autobuild) to permit the latest version.\nUpdates `isodate` from 0.6.1 to 0.7.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gweis/isodate/blob/master/CHANGES.txt\"\u003eisodate's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.7.2 (2024-10-08)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edrop end of life python versions\u003c/li\u003e\n\u003cli\u003eDon't match garbage characters at the end of parsed strings \u003ca href=\"https://redirect.github.com/gweis/isodate/issues/16\"\u003e#16\u003c/a\u003e (Gabriel de Perthuis)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ePotentially breaking changes:\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFractional seconds are cut off to microseconds (always round down)\u003c/li\u003e\n\u003cli\u003eAllow control over return type of parse_duration \u003ca href=\"https://redirect.github.com/gweis/isodate/issues/64\"\u003e#64\u003c/a\u003e (Felix Claessen)\u003c/li\u003e\n\u003cli\u003ePython \u0026gt;= 3.7 required\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gweis/isodate/commit/4408b60fecfc682a021047b3e5d9095a8face012\"\u003e\u003ccode\u003e4408b60\u003c/code\u003e\u003c/a\u003e update changelog, release 0.7.2 (0.7.x so missed python version requirements ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gweis/isodate/commit/31ff7675fb64bf9d67a6de7f0cf6761b067a4cd5\"\u003e\u003ccode\u003e31ff767\u003c/code\u003e\u003c/a\u003e restrict to python\u0026gt;=3.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gweis/isodate/commit/9443e63119579217699dce88b86753a81a9bec52\"\u003e\u003ccode\u003e9443e63\u003c/code\u003e\u003c/a\u003e some packaging updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gweis/isodate/commit/2ace19f248305e0063f4350b77aad91f00a801f6\"\u003e\u003ccode\u003e2ace19f\u003c/code\u003e\u003c/a\u003e modernise packaging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gweis/isodate/commit/8856fdf0e46c7bca00229faa1aae6b7e8ad6e76c\"\u003e\u003ccode\u003e8856fdf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/gweis/isodate/issues/70\"\u003e#70\u003c/a\u003e from kianmeng/fix-typos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gweis/isodate/commit/14aefddd4952a29958f3110bd884bf90b9d5fa9a\"\u003e\u003ccode\u003e14aefdd\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/gweis/isodate/issues/66\"\u003e#66\u003c/a\u003e from isodate/test-gha\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gweis/isodate/commit/68a4bbe0a460dc7a8f038fe0f3714851558c379d\"\u003e\u003ccode\u003e68a4bbe\u003c/code\u003e\u003c/a\u003e Join classifier string\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gweis/isodate/commit/cc57560c10b7128840f133b6fc296dbf4d44d352\"\u003e\u003ccode\u003ecc57560\u003c/code\u003e\u003c/a\u003e Fix typos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gweis/isodate/commit/c19e4c3ab2cb3adf10e278f4abce14d15ee66745\"\u003e\u003ccode\u003ec19e4c3\u003c/code\u003e\u003c/a\u003e Fix CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gweis/isodate/commit/4a74ce214ba23ab6c0404a2ec31ab7429e8f42c6\"\u003e\u003ccode\u003e4a74ce2\u003c/code\u003e\u003c/a\u003e Update pre-commit\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gweis/isodate/compare/0.6.1...0.7.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `lxml` from 5.1.0 to 6.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lxml/lxml/releases\"\u003elxml's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003elxml-6.0.2\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003elxml-6.0.1\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003elxml-6.0.0\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003elxml-5.4.0\u003c/h2\u003e\n\u003ch1\u003e5.4.0 (2025-04-22)\u003c/h1\u003e\n\u003ch2\u003eBugs fixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eLP#2107279: Binary wheels use libxml2 2.13.8 and libxslt 1.1.43 to resolve several CVEs.\n(Binary wheels for Windows continue to use a patched libxml2 2.11.9 and libxslt 1.1.39.)\nIssue found by Anatoly Katyushin, see \u003ca href=\"https://bugs.launchpad.net/lxml/+bug/2107279\"\u003ehttps://bugs.launchpad.net/lxml/+bug/2107279\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003elxml-5.3.2\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003elxml-5.3.1\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003elxml-5.3.0\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003elxml-5.2.2\u003c/h2\u003e\n\u003ch1\u003e5.2.2 (2024-05-12)\u003c/h1\u003e\n\u003ch2\u003eBugs fixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eGH#417: The \u003ccode\u003etest_feed_parser\u003c/code\u003e test could fail if \u003ccode\u003elxml_html_clean\u003c/code\u003e was not installed.\nIt is now skipped in that case.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLP#2059910: The minimum CPU architecture for the Linux x86 binary wheels was set back to\n\u0026quot;core2\u0026quot;, without SSE 4.2.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIf libxml2 uses iconv, the compile time version is available as \u003ccode\u003eetree.ICONV_COMPILED_VERSION\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003elxml-5.2.1\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003elxml-5.2.0\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\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/lxml/lxml/blob/master/CHANGES.txt\"\u003elxml's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e6.0.2 (2025-09-21)\u003c/h1\u003e\n\u003ch2\u003eBugs fixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eLP#2125278: Compilation with libxml2 2.15.0 failed.\nOriginal patch by Xi Ruoyao.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSetting \u003ccode\u003edecompress=True\u003c/code\u003e in the parser had no effect in libxml2 2.15.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBinary wheels on Linux and macOS use the library version libxml2 2.14.6.\nSee \u003ca href=\"https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.14.6\"\u003ehttps://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.14.6\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eTest failures in libxml2 2.15.0 were fixed.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eOther changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eBinary wheels for Py3.9-3.11 on the \u003ccode\u003eriscv64\u003c/code\u003e architecture were added.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eError constants were updated to match libxml2 2.15.0.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBuilt using Cython 3.1.4.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e6.0.1 (2025-08-22)\u003c/h1\u003e\n\u003ch2\u003eBugs fixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eLP#2116333: \u003ccode\u003elxml.sax._getNsTag()\u003c/code\u003e could fail with an exception on malformed input.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eGH#467: Some test adaptations were made for libxml2 2.15.\nPatch by Nick Wellnhofer.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLP2119510, GH#473: A Python compatibility test was fixed for Python 3.14+.\nPatch by Lumír Balhar.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eGH#471: Wheels for \u0026quot;riscv64\u0026quot; on recent Python versions were added.\nPatch by ffgan.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eGH#469: The wheel build no longer requires the \u003ccode\u003ewheel\u003c/code\u003e package unconditionally.\nPatch by Miro Hrončok.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBinary wheels use the library version libxml2 2.14.5.\nSee \u003ca href=\"https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.14.5\"\u003ehttps://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.14.5\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eWindows binary wheels continue to use a security patched library version libxml2 2.11.9.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lxml/lxml/commit/283d02ec8966c0e99f4666dc7bdd936479e97246\"\u003e\u003ccode\u003e283d02e\u003c/code\u003e\u003c/a\u003e Build: Minor readability cleanup.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lxml/lxml/commit/52cf97c1a473a78fb4a9d4bf4f45dc69dd67932b\"\u003e\u003ccode\u003e52cf97c\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Build: Avoid redundant manylinux2014 builds across newer jobs.\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lxml/lxml/commit/a21e4748eaedc4d6f8120afddfa496a5b887c73d\"\u003e\u003ccode\u003ea21e474\u003c/code\u003e\u003c/a\u003e Build: Avoid redundant manylinux2014 builds across newer jobs.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lxml/lxml/commit/58d4d2bf794dfb3bb66118a2db856a7174fcabe8\"\u003e\u003ccode\u003e58d4d2b\u003c/code\u003e\u003c/a\u003e Build: Upgrade libxml2 to 2.14.6.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lxml/lxml/commit/e5d80da388690cdcab15a7047aa9c617f66083b7\"\u003e\u003ccode\u003ee5d80da\u003c/code\u003e\u003c/a\u003e Build: Clean up and simplify target selection and environment setup in pyproj...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lxml/lxml/commit/e9133801e12bc2f3a5d589f70deb5a9621b2d009\"\u003e\u003ccode\u003ee913380\u003c/code\u003e\u003c/a\u003e Build: Limit optimised wheel builds to AMD64 and Arm64 to save time and resou...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lxml/lxml/commit/d22f6a1b9efa615bf48453251050cd8abd12e65a\"\u003e\u003ccode\u003ed22f6a1\u003c/code\u003e\u003c/a\u003e Build: bump actions/setup-python in the github-actions group (\u003ca href=\"https://redirect.github.com/lxml/lxml/issues/479\"\u003eGH-479\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lxml/lxml/commit/f8fa76d97785d05a8376ec5e21a05997476e27f9\"\u003e\u003ccode\u003ef8fa76d\u003c/code\u003e\u003c/a\u003e Build: Prevent redundant branch wheel builds for pull requests.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lxml/lxml/commit/b3e93721a6811cfd007dd829c89cd0406351b171\"\u003e\u003ccode\u003eb3e9372\u003c/code\u003e\u003c/a\u003e Build: bump pypa/cibuildwheel in the github-actions group (\u003ca href=\"https://redirect.github.com/lxml/lxml/issues/478\"\u003eGH-478\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lxml/lxml/commit/a7ec229a147fb7618d00b44e4e30eeb1f521e15a\"\u003e\u003ccode\u003ea7ec229\u003c/code\u003e\u003c/a\u003e Prepare release of lxml 6.0.2.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/lxml/lxml/compare/lxml-5.1.0...lxml-6.0.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `numpy` from 1.26.2 to 2.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/numpy/numpy/releases\"\u003enumpy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eNumPy 2.0.2 release (Aug 26, 2024)\u003c/h2\u003e\n\u003ch1\u003eNumPy 2.0.2 Release Notes\u003c/h1\u003e\n\u003cp\u003eNumPy 2.0.2 is a maintenance release that fixes bugs and regressions\ndiscovered after the 2.0.1 release.\u003c/p\u003e\n\u003cp\u003eThe Python versions supported by this release are 3.9-3.12.\u003c/p\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eA total of 13 people contributed to this release. People with a \u0026quot;+\u0026quot; by\ntheir names contributed a patch for the first time.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eBruno Oliveira +\u003c/li\u003e\n\u003cli\u003eCharles Harris\u003c/li\u003e\n\u003cli\u003eChris Sidebottom\u003c/li\u003e\n\u003cli\u003eChristian Heimes +\u003c/li\u003e\n\u003cli\u003eChristopher Sidebottom\u003c/li\u003e\n\u003cli\u003eMateusz Sokół\u003c/li\u003e\n\u003cli\u003eMatti Picus\u003c/li\u003e\n\u003cli\u003eNathan Goldbaum\u003c/li\u003e\n\u003cli\u003ePieter Eendebak\u003c/li\u003e\n\u003cli\u003eRaghuveer Devulapalli\u003c/li\u003e\n\u003cli\u003eRalf Gommers\u003c/li\u003e\n\u003cli\u003eSebastian Berg\u003c/li\u003e\n\u003cli\u003eYair Chuchem +\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePull requests merged\u003c/h2\u003e\n\u003cp\u003eA total of 19 pull requests were merged for this release.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/27000\"\u003e#27000\u003c/a\u003e: REL: Prepare for the NumPy 2.0.1 release [wheel build]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/27001\"\u003e#27001\u003c/a\u003e: MAINT: prepare 2.0.x for further development\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/27021\"\u003e#27021\u003c/a\u003e: BUG: cfuncs.py: fix crash when sys.stderr is not available\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/27022\"\u003e#27022\u003c/a\u003e: DOC: Fix migration note for \u003ccode\u003ealltrue\u003c/code\u003e and \u003ccode\u003esometrue\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/27061\"\u003e#27061\u003c/a\u003e: BUG: use proper input and output descriptor in array_assign_subscript...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/27073\"\u003e#27073\u003c/a\u003e: BUG: Mirror VQSORT_ENABLED logic in Quicksort\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/27074\"\u003e#27074\u003c/a\u003e: BUG: Bump Highway to latest master\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/27077\"\u003e#27077\u003c/a\u003e: BUG: Off by one in memory overlap check\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/27122\"\u003e#27122\u003c/a\u003e: BUG: Use the new \u003ccode\u003enpyv_loadable_stride_\u003c/code\u003e functions for ldexp and...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/27126\"\u003e#27126\u003c/a\u003e: BUG: Bump Highway to latest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/27128\"\u003e#27128\u003c/a\u003e: BUG: add missing error handling in public_dtype_api.c\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/27129\"\u003e#27129\u003c/a\u003e: BUG: fix another cast setup in array_assign_subscript\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/27130\"\u003e#27130\u003c/a\u003e: BUG: Fix building NumPy in FIPS mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/27131\"\u003e#27131\u003c/a\u003e: BLD: update vendored Meson for cross-compilation patches\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/27146\"\u003e#27146\u003c/a\u003e: MAINT: Scipy openblas 0.3.27.44.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/27151\"\u003e#27151\u003c/a\u003e: BUG: Do not accidentally store dtype metadata in \u003ccode\u003enp.save\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/27195\"\u003e#27195\u003c/a\u003e: REV: Revert undef I and document it\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/27213\"\u003e#27213\u003c/a\u003e: BUG: Fix NPY_RAVEL_AXIS on backwards compatible NumPy 2 builds\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/27279\"\u003e#27279\u003c/a\u003e: BUG: Fix array_equal for numeric and non-numeric scalar types\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/854252ded83e6b9c21c4ee80558d354d8a72484c\"\u003e\u003ccode\u003e854252d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/27280\"\u003e#27280\u003c/a\u003e from charris/prepare-2.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/cffa071f4f40a326de7fca9ec3f9b829b8aaf511\"\u003e\u003ccode\u003ecffa071\u003c/code\u003e\u003c/a\u003e REL: Prepare for the NumPy 2.0.2 release [wheel build]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/16930298f0ab09ccac66235720832df2d4dbb86c\"\u003e\u003ccode\u003e1693029\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/27279\"\u003e#27279\u003c/a\u003e from charris/backport-27275\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/da9f9c3bbab1324cbc4d29384a93b55a6b8e7d5b\"\u003e\u003ccode\u003eda9f9c3\u003c/code\u003e\u003c/a\u003e BUG: Fix array_equal for numeric and non-numeric scalar types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/ee1cf963d999eb39244e8d2b3db1c91ff27dd7c2\"\u003e\u003ccode\u003eee1cf96\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/27213\"\u003e#27213\u003c/a\u003e from charris/backport-27202\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/49dec35f897f33a29a451ef3e25632b77b8d8c3e\"\u003e\u003ccode\u003e49dec35\u003c/code\u003e\u003c/a\u003e BUG: Fix NPY_RAVEL_AXIS on backwards compatible NumPy 2 builds\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/be56ae27aade17b8cf45421d7c4f525819493b33\"\u003e\u003ccode\u003ebe56ae2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/27195\"\u003e#27195\u003c/a\u003e from charris/backport-27182\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/75b039c3e7ae9057236847563ab39ce6d600fa38\"\u003e\u003ccode\u003e75b039c\u003c/code\u003e\u003c/a\u003e REV: Revert undef I and document it\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/428e2ba733a78e99d0bda94ac4d7bce6539693c6\"\u003e\u003ccode\u003e428e2ba\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/27151\"\u003e#27151\u003c/a\u003e from charris/backport-27143\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/451516de729c38677d717851590fda1d8920fa00\"\u003e\u003ccode\u003e451516d\u003c/code\u003e\u003c/a\u003e BUG: Do not accidentally store dtype metadata in \u003ccode\u003enp.save\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/numpy/numpy/compare/v1.26.2...v2.0.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `openpyxl` from 3.1.2 to 3.1.5\n\nUpdates `pyparsing` from 3.1.1 to 3.2.5\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyparsing/pyparsing/blob/master/CHANGES\"\u003epyparsing's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.2.5 - September, 2025\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eJINX! Well, 3.2.4 had a bug for \u003ccode\u003eWord\u003c/code\u003e expressions that include a space\ncharacter, if that expression was then copied, either directly with .copy() or\nby adding a results name, or included in another construct (like \u003ccode\u003eDelimitedList\u003c/code\u003e)\nthat makes a copy internally. Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/618\"\u003e#618\u003c/a\u003e, reported by mstinberg, among others -\nthanks, and sorry for the inconvenience.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.2.5 - September, 2025\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eJINX! Well, 3.2.4 had a bug for \u003ccode\u003eWord\u003c/code\u003e expressions that include a space\ncharacter, if that expression was then copied, either directly with .copy() or\nby adding a results name, or including in another construct (like \u003ccode\u003eDelimitedList\u003c/code\u003e)\nthat makes a copy internally. Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/618\"\u003e#618\u003c/a\u003e, reported by mstinberg, among others -\nthanks, and sorry for the inconvenience.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.2.4 - September, 2025\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eBarring any catastrophic bugs in this release, this will be the last release in\nthe 3.2.x line. The next release, 3.3.0, will begin emitting \u003ccode\u003eDeprecationWarnings\u003c/code\u003e\nwhen the pre-PEP8 methods are used (see header notes above for more information,\nincluding available automation for converting any existing code using\npyparsing with the old names).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed bug when using a copy of a \u003ccode\u003eWord\u003c/code\u003e expression (either by using the explicit\n\u003ccode\u003ecopy()\u003c/code\u003e method, or attaching a results name), and setting a new expression name,\na raised \u003ccode\u003eParseException\u003c/code\u003e still used the original expression name. Also affected\n\u003ccode\u003eRegex\u003c/code\u003e expressions with \u003ccode\u003eas_match\u003c/code\u003e or \u003ccode\u003eas_group_list\u003c/code\u003e = True. Reported by\nWaqas Ilyas, in Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/612\"\u003e#612\u003c/a\u003e - good catch!\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed type annotation for \u003ccode\u003ereplace_with\u003c/code\u003e, to accept \u003ccode\u003eAny\u003c/code\u003e type. Fixes Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/602\"\u003e#602\u003c/a\u003e,\nreported by esquonk.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded locking around potential race condition in \u003ccode\u003eParserElement.reset_cache\u003c/code\u003e, as\nwell as other cache-related methods. Fixes Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/604\"\u003e#604\u003c/a\u003e, reported by CarlosDescalziIM.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSubstantial update to docstrings and doc generation in preparation for 3.3.0,\ngreat effort by FeRD, thanks!\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNotable addition by FeRD to convert docstring examples to work with doctest! This\nwas long overdue, thanks so much!\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.2.3 - March, 2025\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed bug released in 3.2.2 in which \u003ccode\u003enested_expr\u003c/code\u003e could overwrite parse actions\nfor defined content, and could truncate list of items within a nested list.\nFixes Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/600\"\u003e#600\u003c/a\u003e, reported by hoxbro and luisglft, with helpful diag logs and\nrepro code.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/dbbd53ad1cd0ab31ae2a8fee5a64a718788b63fb\"\u003e\u003ccode\u003edbbd53a\u003c/code\u003e\u003c/a\u003e More unit tests and some comments for traceability to Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/618\"\u003e#618\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/f5bdb2deff92859e068937f2ae502136b38ad16f\"\u003e\u003ccode\u003ef5bdb2d\u003c/code\u003e\u003c/a\u003e Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/618\"\u003e#618\u003c/a\u003e - fix reference to re_match attribute in copy of Word object to fi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/8c61893d362b21d66fa3646c073295235ef166fd\"\u003e\u003ccode\u003e8c61893\u003c/code\u003e\u003c/a\u003e Prep for 3.2.5 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/57923cd6a651d81c72b4e60b2baa02fbedf217ba\"\u003e\u003ccode\u003e57923cd\u003c/code\u003e\u003c/a\u003e Enable matplotlib unit tests for Python 3.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/fad1505f8ab91cc897f3067868e500257130e1a4\"\u003e\u003ccode\u003efad1505\u003c/code\u003e\u003c/a\u003e Update CHANGES file with thanks to FeRD for making the docstring examples doc...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/6622151cb440e85de9880ca6b7f3652e0962e315\"\u003e\u003ccode\u003e6622151\u003c/code\u003e\u003c/a\u003e Update tox.ini to add doctest testing for all Python versions 3.10 and later\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/e6ed66bdcd6da3ef63f4396565d860467efb5252\"\u003e\u003ccode\u003ee6ed66b\u003c/code\u003e\u003c/a\u003e Change doctest for LineStart to reflect latest implementation of \u0026quot;is this tok...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/23092da6569c97f30605ff2fe818fc15b3d12567\"\u003e\u003ccode\u003e23092da\u003c/code\u003e\u003c/a\u003e Doctests for pyparsing.exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/0bae3cdcc9274dbbcde5daabba739d3b1ddb49fc\"\u003e\u003ccode\u003e0bae3cd\u003c/code\u003e\u003c/a\u003e Doctests for pyparsing.common\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/98ec165d1a66247dbeffcf692643765648fb230f\"\u003e\u003ccode\u003e98ec165\u003c/code\u003e\u003c/a\u003e Docs: Add doctest-wrtiting documentation\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyparsing/pyparsing/compare/3.1.1...3.2.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `python-dateutil` from 2.8.2 to 2.9.0.post0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/dateutil/dateutil/releases\"\u003epython-dateutil's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.9.0.post0\u003c/h2\u003e\n\u003ch1\u003eVersion 2.9.0.post0 (2024-03-01)\u003c/h1\u003e\n\u003ch2\u003eBugfixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePinned \u003ccode\u003esetuptools_scm\u003c/code\u003e to \u003ccode\u003e\u0026lt;8\u003c/code\u003e, which should make the generated \u003ccode\u003e_version.py\u003c/code\u003e file compatible with all supported versions of Python.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.9.0\u003c/h2\u003e\n\u003ch1\u003eVersion 2.9.0 (2024-02-29)\u003c/h1\u003e\n\u003ch2\u003eData updates\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated tzdata version to 2024a. (gh pr \u003ca href=\"https://redirect.github.com/dateutil/dateutil/issues/1342\"\u003e#1342\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMade all \u003ccode\u003edateutil\u003c/code\u003e submodules lazily imported using \u003ca href=\"https://www.python.org/dev/peps/pep-0562/\"\u003ePEP 562\u003c/a\u003e. On Python 3.7+, things like \u003ccode\u003eimport dateutil; dateutil.tz.gettz(\u0026quot;America/New_York\u0026quot;)\u003c/code\u003e will now work without explicitly importing \u003ccode\u003edateutil.tz\u003c/code\u003e, with the import occurring behind the scenes on first use. The old behavior remains on Python 3.6 and earlier. Fixed by Orson Adams. (gh issue \u003ca href=\"https://redirect.github.com/dateutil/dateutil/issues/771\"\u003e#771\u003c/a\u003e, gh pr \u003ca href=\"https://redirect.github.com/dateutil/dateutil/issues/1007\"\u003e#1007\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBugfixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved a call to \u003ccode\u003edatetime.utcfromtimestamp\u003c/code\u003e, which is deprecated as of Python 3.12. Reported by Hugo van Kemenade (gh pr \u003ca href=\"https://redirect.github.com/dateutil/dateutil/issues/1284\"\u003e#1284\u003c/a\u003e), fixed by Thomas Grainger (gh pr \u003ca href=\"https://redirect.github.com/dateutil/dateutil/issues/1285\"\u003e#1285\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded note into docs and tests where relativedelta would return last day of the month only if the same day on a different month resolves to a date that doesn't exist. Reported by \u003ca href=\"https://github.com/hawkEye-01\"\u003e\u003ccode\u003e@​hawkEye-01\u003c/code\u003e\u003c/a\u003e (gh issue \u003ca href=\"https://redirect.github.com/dateutil/dateutil/issues/1167\"\u003e#1167\u003c/a\u003e). Fixed by \u003ca href=\"https://github.com/Mifrill\"\u003e\u003ccode\u003e@​Mifrill\u003c/code\u003e\u003c/a\u003e (gh pr \u003ca href=\"https://redirect.github.com/dateutil/dateutil/issues/1168\"\u003e#1168\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/dateutil/dateutil/blob/master/NEWS\"\u003epython-dateutil's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eVersion 2.9.0.post0 (2024-03-01)\u003c/h1\u003e\n\u003ch2\u003eBugfixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePinned \u003ccode\u003esetuptools_scm\u003c/code\u003e to \u003ccode\u003e\u0026lt;8\u003c/code\u003e, which should make the generated \u003ccode\u003e_version.py\u003c/code\u003e file compatible with all supported versions of Python.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eVersion 2.9.0 (2024-02-29)\u003c/h1\u003e\n\u003ch2\u003eData updates\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated tzdata version to 2024a. (gh pr \u003ca href=\"https://redirect.github.com/dateutil/dateutil/issues/1342\"\u003e#1342\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMade all \u003ccode\u003edateutil\u003c/code\u003e submodules lazily imported using \u003ccode\u003ePEP 562 \u0026lt;https://www.python.org/dev/peps/pep-0562/\u0026gt;\u003c/code\u003e_. On Python 3.7+, things like\n\u003ccode\u003eimport dateutil; dateutil.tz.gettz(\u0026quot;America/New_York\u0026quot;)\u003c/code\u003e will now work\nwithout explicitly importing \u003ccode\u003edateutil.tz\u003c/code\u003e, with the import occurring behind\nthe scenes on first use. The old behavior remains on Python 3.6 and earlier.\nFixed by Orson Adams. (gh issue \u003ca href=\"https://redirect.github.com/dateutil/dateutil/issues/771\"\u003e#771\u003c/a\u003e, gh pr \u003ca href=\"https://redirect.github.com/dateutil/dateutil/issues/1007\"\u003e#1007\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBugfixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved a call to \u003ccode\u003edatetime.utcfromtimestamp\u003c/code\u003e, which is deprecated as of Python 3.12. Reported by Hugo van Kemenade (gh pr \u003ca href=\"https://redirect.github.com/dateutil/dateutil/issues/1284\"\u003e#1284\u003c/a\u003e), fixed by Thomas Grainger (gh pr \u003ca href=\"https://redirect.github.com/dateutil/dateutil/issues/1285\"\u003e#1285\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded note into docs and tests where relativedelta would return last day of the month\nonly if the same day on a different month resolves to a date that doesn't exist.\nReported by \u003ca href=\"https://github.com/hawkEye-01\"\u003e\u003ccode\u003e@​hawkEye-01\u003c/code\u003e\u003c/a\u003e (gh issue \u003ca href=\"https://redirect.github.com/dateutil/dateutil/issues/1167\"\u003e#1167\u003c/a\u003e). Fixed by \u003ca href=\"https://github.com/Mifrill\"\u003e\u003ccode\u003e@​Mifrill\u003c/code\u003e\u003c/a\u003e (gh pr \u003ca href=\"https://redirect.github.com/dateutil/dateutil/issues/1168\"\u003e#1168\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/dateutil/dateutil/commit/1ae807774053c071acc9e7d3d27778fba0a7773e\"\u003e\u003ccode\u003e1ae8077\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/dateutil/dateutil/issues/1346\"\u003e#1346\u003c/a\u003e from pganssle/release_2.9.0.post0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dateutil/dateutil/commit/ee6de9deab99e1697837f9b78f145a91c57d600d\"\u003e\u003ccode\u003eee6de9d\u003c/code\u003e\u003c/a\u003e Update news to prepare for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dateutil/dateutil/commit/9780d32aea9ab681769671c4e3540b449d62cdd0\"\u003e\u003ccode\u003e9780d32\u003c/code\u003e\u003c/a\u003e Pin \u003ccode\u003esetuptools_scm\u003c/code\u003e to \u0026lt;8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dateutil/dateutil/commit/db9d018944c41ddc740015cf5f64717c2ba64a5c\"\u003e\u003ccode\u003edb9d018\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/dateutil/dateutil/issues/1343\"\u003e#1343\u003c/a\u003e from pganssle/release_2.9.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dateutil/dateutil/commit/423ca2f02faffa5d0543612b9462ace420ed7925\"\u003e\u003ccode\u003e423ca2f\u003c/code\u003e\u003c/a\u003e Run updatezinfo before build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dateutil/dateutil/commit/edd3fd4565616f7c92567c1daa957ee52df221a4\"\u003e\u003ccode\u003eedd3fd4\u003c/code\u003e\u003c/a\u003e Update NEWS file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dateutil/dateutil/commit/fe02d0218c00c907c6d8546dc3dce7fe7bb0588c\"\u003e\u003ccode\u003efe02d02\u003c/code\u003e\u003c/a\u003e Run towncrier with Python 3.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dateutil/dateutil/commit/9c7524a92600282488fbb85c7f1d6af10ce4ad15\"\u003e\u003ccode\u003e9c7524a\u003c/code\u003e\u003c/a\u003e Fix MANIFEST.in pattern\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dateutil/dateutil/commit/6de58f572257088d4248a6a3a1d2a426df534a02\"\u003e\u003ccode\u003e6de58f5\u003c/code\u003e\u003c/a\u003e Update classifiers to include Python 3.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dateutil/dateutil/commit/8fe0cab3b52fb714da3140c04aafe9c1f72f1211\"\u003e\u003ccode\u003e8fe0cab\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/dateutil/dateutil/issues/1342\"\u003e#1342\u003c/a\u003e from pganssle/update_zoneinfo\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/dateutil/dateutil/compare/2.8.2...2.9.0.post0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pycryptodome` from 3.20.0 to 3.23.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Legrandin/pycryptodome/releases\"\u003epycryptodome's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.23.0 - Dunkerque\u003c/h2\u003e\n\u003ch2\u003eNew features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded cipher modes Key Wrap (KW, RFC3394) and Key Wrap with Padding (KWP, RFC5649).\nBoth are defined also in NIST SP 800-38F.\u003c/li\u003e\n\u003cli\u003eWheels for Windows ARM.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eResolved issues\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eGH#862: For HashEdDSA and Ed448, sign() and verify() modified the state of the XOF.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev3.22.0 - Caen\u003c/h2\u003e\n\u003ch2\u003eNew features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for HPKE (RFC 9180).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eResolved issues\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eGH#812: CCM ciphers will now fail before encrypting (or decrypting)\ndata beyond the limit imposed by the nonce length.\u003c/li\u003e\n\u003cli\u003eGH#846: fix infinite loop with RC4 for data larger than 4GB.\u003c/li\u003e\n\u003cli\u003eGH#852: handle correctly invalid PEM files with less than 3 lines.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eOther changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove support for Python 3.6.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev3.21.0 - Bourdeaux\u003c/h2\u003e\n\u003ch2\u003eNew features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBy setting the PYCRYPTODOME_DISABLE_GMP environment variable,\nthe GMP library will not be used even if detected.\u003c/li\u003e\n\u003cli\u003eAdd support for Curve25519 / X25519.\u003c/li\u003e\n\u003cli\u003eAdd support for Curve448 / X448.\u003c/li\u003e\n\u003cli\u003eAdd attribute \u003ccode\u003ecurve\u003c/code\u003e to EccPoint and EccXPoint classes,\nwith the canonical name of the curve.\u003c/li\u003e\n\u003cli\u003eGH#781: the label for the SP800_108_Counter KDF may now\ncontain zero bytes. Thanks to Julien Rische.\u003c/li\u003e\n\u003cli\u003eGH#814: RSA keys for PSS can be imported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eResolved issues\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eGH#810: fixed negation of Ed25519 points.\u003c/li\u003e\n\u003cli\u003eGH#819: accept an RFC5916 ECPrivateKey even if it doesn't\ncontain any of the optional elements\n(parameters [0] and publicKey[1]).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eOther changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove support for Python 3.5.\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/Legrandin/pycryptodome/blob/master/Changelog.rst\"\u003epycryptodome's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e3.23.0 (17 May 2025)\n++++++++++++++++++++++++++\u003c/p\u003e\n\u003ch2\u003eNew features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded cipher modes Key Wrap (KW, RFC3394) and Key Wrap with Padding (KWP, RFC5649).\nBoth are defined also in NIST SP 800-38F.\u003c/li\u003e\n\u003cli\u003eWheels for Windows ARM.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eResolved issues\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eGH#862: For HashEdDSA and Ed448, sign() and verify() modified the state of the XOF.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e3.22.0 (16 March 2025)\n++++++++++++++++++++++++++\u003c/p\u003e\n\u003ch2\u003eNew features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for HPKE (RFC 9180).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eResolved issues\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eGH#812: CCM ciphers will now fail before encrypting (or decrypting)\ndata beyond the limit imposed by the nonce length.\u003c/li\u003e\n\u003cli\u003eGH#846: fix infinite loop with RC4 for data larger than 4GB.\u003c/li\u003e\n\u003cli\u003eGH#852: handle correctly invalid PEM files with less than 3 lines.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eOther changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove support for Python 3.6.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e3.21.0 (30 September 2024)\n++++++++++++++++++++++++++\u003c/p\u003e\n\u003ch2\u003eNew features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBy setting the PYCRYPTODOME_DISABLE_GMP environment variable,\nthe GMP library will not be used even if detected.\u003c/li\u003e\n\u003cli\u003eAdd support for Curve25519 / X25519.\u003c/li\u003e\n\u003cli\u003eAdd support for Curve448 / X448.\u003c/li\u003e\n\u003cli\u003eAdd attribute \u003ccode\u003ecurve\u003c/code\u003e to EccPoint and EccXPoint classes,\nwith the canonical name of the curve.\u003c/li\u003e\n\u003cli\u003eGH#781: the label for the SP800_108_Counter KDF may now\ncontain zero bytes. Thanks to Julien Rische.\u003c/li\u003e\n\u003cli\u003eGH#814: RSA keys for PSS can be imported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eResolved issues\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eGH#810: fixed negation of Ed25519 points.\u003c/li\u003e\n\u003cli\u003eGH#819: accept an RFC5916 ECPrivateKey even if it doesn't\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Legrandin/pycryptodome/commit/cde63f8f9b64f1c8cd86249128cfd5986c2c43af\"\u003e\u003ccode\u003ecde63f8\u003c/code\u003e\u003c/a\u003e Undo license information in pyproject.toml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Legrandin/pycryptodome/commit/51ccbaccc4a37cc331a44d69e20377fbb10c0725\"\u003e\u003ccode\u003e51ccbac\u003c/code\u003e\u003c/a\u003e Add license information in pyproject.toml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Legrandin/pycryptodome/commit/8d4e536029914c510432de8e2924a0566b94b515\"\u003e\u003ccode\u003e8d4e536\u003c/code\u003e\u003c/a\u003e Bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Legrandin/pycryptodome/commit/865287411c18671b14266bbaa6a5a639cc2e199c\"\u003e\u003ccode\u003e8652874\u003c/code\u003e\u003c/a\u003e Add license information in pyproject.toml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Legrandin/pycryptodome/commit/1006d4ffa495e27dbd0ff9181357d661b7e1f0ba\"\u003e\u003ccode\u003e1006d4f\u003c/code\u003e\u003c/a\u003e Build cpython-freethreading wheel\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Legrandin/pycryptodome/commit/0a056c063e67799db081a9451af25c36578e0584\"\u003e\u003ccode\u003e0a056c0\u003c/code\u003e\u003c/a\u003e Update FAQ for HPKE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Legrandin/pycryptodome/commit/0785df83f639fc25c807dbba9dfa5e00c9d05382\"\u003e\u003ccode\u003e0785df8\u003c/code\u003e\u003c/a\u003e Update FAQ\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Legrandin/pycryptodome/commit/ee15eee6d618d3f65582271317e567efa7c0248f\"\u003e\u003ccode\u003eee15eee\u003c/code\u003e\u003c/a\u003e Update Changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Legrandin/pycryptodome/commit/876573ec600c0f10a4af6c995fa8dc2e4af6c673\"\u003e\u003ccode\u003e876573e\u003c/code\u003e\u003c/a\u003e Test and build wheels for Windows ARM\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Legrandin/pycryptodome/commit/64506f73e9454f441cf2b6f8b2b45cf3c63a0cde\"\u003e\u003ccode\u003e64506f7\u003c/code\u003e\u003c/a\u003e Merge branch 'key_wrap'\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Legrandin/pycryptodome/compare/v3.20.0...v3.23.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pg8000` from 1.30.5 to 1.31.5\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tlocke/pg8000/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pymysql` from 1.1.0 to 1.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/PyMySQL/PyMySQL/releases\"\u003epymysql's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.1.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent UnboundLocalError on MySQLResult initialization during SystemExit by \u003ca href=\"https://github.com/palm002\"\u003e\u003ccode\u003e@​palm002\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1174\"\u003ePyMySQL/PyMySQL#1174\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eremove mention of runtests.py by \u003ca href=\"https://github.com/cfbolz\"\u003e\u003ccode\u003e@​cfbolz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1182\"\u003ePyMySQL/PyMySQL#1182\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003emake sure to also close \u003ccode\u003econnection._rfile\u003c/code\u003e in \u003ccode\u003eConnection._force_close\u003c/code\u003e by \u003ca href=\"https://github.com/cfbolz\"\u003e\u003ccode\u003e@​cfbolz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1184\"\u003ePyMySQL/PyMySQL#1184\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded MariaDB in readme description (\u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1180\"\u003e#1180\u003c/a\u003e) by \u003ca href=\"https://github.com/theneuralcraftsman\"\u003e\u003ccode\u003e@​theneuralcraftsman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1186\"\u003ePyMySQL/PyMySQL#1186\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update dependency sphinx-rtd-theme to v3 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1189\"\u003ePyMySQL/PyMySQL#1189\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update dependency sphinx to v8 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1179\"\u003ePyMySQL/PyMySQL#1179\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for Python 3.13 by \u003ca href=\"https://github.com/Cycloctane\"\u003e\u003ccode\u003e@​Cycloctane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1190\"\u003ePyMySQL/PyMySQL#1190\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eResolve UTF8 charset case-insensitively by \u003ca href=\"https://github.com/ek247\"\u003e\u003ccode\u003e@​ek247\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1195\"\u003ePyMySQL/PyMySQL#1195\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupdate ci versions by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1196\"\u003ePyMySQL/PyMySQL#1196\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003euse KILL instead of COM_KILL for MySQL 8.4 support by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1197\"\u003ePyMySQL/PyMySQL#1197\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edisable VERIFY_X509_STRICT for Python 3.13 support by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1198\"\u003ePyMySQL/PyMySQL#1198\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update codecov/codecov-action action to v5 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1191\"\u003ePyMySQL/PyMySQL#1191\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd MariaDB to README.md by \u003ca href=\"https://github.com/robertsilen\"\u003e\u003ccode\u003e@​robertsilen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1181\"\u003ePyMySQL/PyMySQL#1181\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: use defer_connect instead of mock by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1199\"\u003ePyMySQL/PyMySQL#1199\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: use astral-sh/ruff-action by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1201\"\u003ePyMySQL/PyMySQL#1201\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix auth_switch_request handling by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1200\"\u003ePyMySQL/PyMySQL#1200\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: update test matrix by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1215\"\u003ePyMySQL/PyMySQL#1215\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: do not drop MySQL 5.7 test for now by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1216\"\u003ePyMySQL/PyMySQL#1216\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupdate README by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1217\"\u003ePyMySQL/PyMySQL#1217\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eprepare v1.1.2 by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1218\"\u003ePyMySQL/PyMySQL#1218\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/palm002\"\u003e\u003ccode\u003e@​palm002\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1174\"\u003ePyMySQL/PyMySQL#1174\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cfbolz\"\u003e\u003ccode\u003e@​cfbolz\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1182\"\u003ePyMySQL/PyMySQL#1182\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theneuralcraftsman\"\u003e\u003ccode\u003e@​theneuralcraftsman\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1186\"\u003ePyMySQL/PyMySQL#1186\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Cycloctane\"\u003e\u003ccode\u003e@​Cycloctane\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1190\"\u003ePyMySQL/PyMySQL#1190\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ek247\"\u003e\u003ccode\u003e@​ek247\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1195\"\u003ePyMySQL/PyMySQL#1195\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/robertsilen\"\u003e\u003ccode\u003e@​robertsilen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1181\"\u003ePyMySQL/PyMySQL#1181\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/PyMySQL/PyMySQL/compare/v1.1.1...v1.1.2\"\u003ehttps://github.com/PyMySQL/PyMySQL/compare/v1.1.1...v1.1.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.1.1\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nThis release fixes a vulnerability (CVE-2024-36039).\nAll users are recommended to update to this version.\u003c/p\u003e\n\u003cp\u003eIf you can not update soon, check the input value from untrusted source has an expected type.\nOnly dict input from untrusted source can be an attack vector.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eProhibit dict parameter for \u003ccode\u003eCursor.execute()\u003c/code\u003e. It didn't produce valid SQL\nand might cause SQL injection. (CVE-2024-36039)\u003c/li\u003e\n\u003cli\u003eAdded ssl_key_password param by \u003ca href=\"https://github.com/svaskov\"\u003e\u003ccode\u003e@​svaskov\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1145\"\u003ePyMySQL/PyMySQL#1145\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eMerged PRs\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.12 by \u003ca href=\"https://github.com/hugovk\"\u003e\u003ccode\u003e@​hugovk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1134\"\u003ePyMySQL/PyMySQL#1134\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/PyMySQL/PyMySQL/blob/main/CHANGELOG.md\"\u003epymysql's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.1.2\u003c/h2\u003e\n\u003cp\u003eRelease date: 2025-08-24\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent UnboundLocalError in very rare situation. \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1174\"\u003ePyMySQL/PyMySQL#1174\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClose underlying \u003ccode\u003eSocketIO\u003c/code\u003e soon when Connection is closed for PyPy. \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1183\"\u003ePyMySQL/PyMySQL#1183\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix importing PyMySQL fail on CPython 3.13 when \u003ccode\u003egetpass.getuser()\u003c/code\u003e raises OSEError. \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1190\"\u003ePyMySQL/PyMySQL#1190\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake charset name \u0026quot;utf8\u0026quot; case insensitive. \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1195\"\u003ePyMySQL/PyMySQL#1195\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.kill()\u003c/code\u003e uses \u003ccode\u003eKILL\u003c/code\u003e query instead of \u003ccode\u003eCOM_KILL\u003c/code\u003ecommand to support MySQL 8.4. \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1197\"\u003ePyMySQL/PyMySQL#1197\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix SSL error on CPython 3.13 caused by strict TLS default setting. \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1198\"\u003ePyMySQL/PyMySQL#1198\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix auth switch request handling. \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1200\"\u003ePyMySQL/PyMySQL#1200\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.1.1\u003c/h2\u003e\n\u003cp\u003eRelease date: 2024-05-21\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nThis release fixes a vulnerability (CVE-2024-36039).\nAll users are recommended to update to this version.\u003c/p\u003e\n\u003cp\u003eIf you can not update soon, check the input value from\nuntrusted source has an expected type. Only dict input\nfrom untrusted source can be an attack vector.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cul\u003e\n\u003cli\u003eProhibit dict parameter for \u003ccode\u003eCursor.execute()\u003c/code\u003e. It didn't produce valid SQL\nand might cause SQL injection. (CVE-2024-36039)\u003c/li\u003e\n\u003cli\u003eAdded ssl_key_password param. \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1145\"\u003e#1145\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/PyMySQL/PyMySQL/commit/d7bb777e503d82bf2496113f07dd4ab249615efc\"\u003e\u003ccode\u003ed7bb777\u003c/code\u003e\u003c/a\u003e release v1.1.2 (\u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1218\"\u003e#1218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyMySQL/PyMySQL/commit/2559de5a6b01917622fc8986cd3dd8479d7d6e95\"\u003e\u003ccode\u003e2559de5\u003c/code\u003e\u003c/a\u003e update README (\u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1217\"\u003e#1217\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyMySQL/PyMySQL/commit/a388c3a5e274c3b8c03e5f1dcb442b4bb2f9bafd\"\u003e\u003ccode\u003ea388c3a\u003c/code\u003e\u003c/a\u003e ci: do not drop MySQL 5.7 test for now (\u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1216\"\u003e#1216\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyMySQL/PyMySQL/commit/9a3fe442edaca9db6da1809c82dbb6f4192440ee\"\u003e\u003ccode\u003e9a3fe44\u003c/code\u003e\u003c/a\u003e ci: update test matrix (\u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1215\"\u003e#1215\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyMySQL/PyMySQL/commit/bed601f04fb982c7c42c6ff7e56b7f749ac64cc9\"\u003e\u003ccode\u003ebed601f\u003c/code\u003e\u003c/a\u003e Add DeepWiki badge\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyMySQL/PyMySQL/commit/01af30fea0880c3b72e6c7b3b05d66a8c28ced7a\"\u003e\u003ccode\u003e01af30f\u003c/code\u003e\u003c/a\u003e fix auth_switch_request handling (\u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1200\"\u003e#1200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyMySQL/PyMySQL/commit/53efd1ec7f0e854abc62eb875b944f56bca29dd2\"\u003e\u003ccode\u003e53efd1e\u003c/code\u003e\u003c/a\u003e ci: use astral-sh/ruff-action (\u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1201\"\u003e#1201\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyMySQL/PyMySQL/commit/e88b729f8f1ddcf0851e0153188b016d0e9ec00c\"\u003e\u003ccode\u003ee88b729\u003c/code\u003e\u003c/a\u003e remove codeql and codesee actions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyMySQL/PyMySQL/commit/5f6533f883535b76c2d3a776c4746027027106f8\"\u003e\u003ccode\u003e5f6533f\u003c/code\u003e\u003c/a\u003e refactor: use defer_connect instead of mock (\u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1199\"\u003e#1199\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyMySQL/PyMySQL/commit/66ad1eaa47cfde19dfe01900ceb5f6ea51483e95\"\u003e\u003ccode\u003e66ad1ea\u003c/code\u003e\u003c/a\u003e add MariaDB to README.md (\u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1181\"\u003e#1181\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/PyMySQL/PyMySQL/compare/v1.1.0...v1.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyodbc` from 5.1.0 to 5.3.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mkleehammer/pyodbc/commit/7ee5b566984f7bd3d8fcfa0369e9e163e70e1cbd\"\u003e\u003ccode\u003e7ee5b56\u003c/code\u003e\u003c/a\u003e Update version to 5.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mkleehammer/pyodbc/commit/7fe96df1a5902a08807a94fb21e18e085125075e\"\u003e\u003ccode\u003e7fe96df\u003c/code\u003e\u003c/a\u003e Run Github CodeQL action on all branches\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mkleehammer/pyodbc/commit/e6b44ef79b5e26eecfa0e1531e276fd4030b817a\"\u003e\u003ccode\u003ee6b44ef\u003c/code\u003e\u003c/a\u003e Use License-Expression in pyproject.toml instead of licence\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mkleehammer/pyodbc/commit/a40c873938ce59c72c42eed66bb2dd8eec5c176f\"\u003e\u003ccode\u003ea40c873\u003c/code\u003e\u003c/a\u003e Do not perform type check on NULL pointer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mkleehammer/pyodbc/commit/c1db16c815eb0c825a03495e83f6d57181e00ad6\"\u003e\u003ccode\u003ec1db16c\u003c/code\u003e\u003c/a\u003e Use \u003ccode\u003eHOMEBREW_PREFIX\u003c/code\u003e to locate Homebrew (\u003ca href=\"https://redirect.github.com/mkleehammer/pyodbc/issues/1212\"\u003e#1212\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mkleehammer/pyodbc/commit/80de7864d1771b18c7d0af9e550c659ca1ac25bc\"\u003e\u003ccode\u003e80de786\u003c/code\u003e\u003c/a\u003e Move sqlite tests from old directory\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mkleehammer/pyodbc/commit/135fbf8f72ed2e4e3a198d075ea9f2a2faf9f6d8\"\u003e\u003ccode\u003e135fbf8\u003c/code\u003e\u003c/a\u003e Port sqlite tests from unittest to pytest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mkleehammer/pyodbc/commit/14cbdcc8a910d84cb8addc9f560c625715967822\"\u003e\u003ccode\u003e14cbdcc\u003c/code\u003e\u003c/a\u003e Drop support for EOL Python 3.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mkleehammer/pyodbc/commit/ac3f151343cce0dc7ba5f3f8b11b49de19e40201\"\u003e\u003ccode\u003eac3f151\u003c/code\u003e\u003c/a\u003e bump cibuildwheel to v3.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mkleehammer/pyodbc/commit/378d19e71511944f7e428d2e41dad127187a7539\"\u003e\u003ccode\u003e378d19e\u003c/code\u003e\u003c/a\u003e Add py3.14 to ubuntu build artifacts\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mkleehammer/pyodbc/compare/5.1.0...5.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rdflib` from 7.0.0 to 7.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/RDFLib/rdflib/releases\"\u003erdflib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2025-10-24 RELEASE 7.3.0\u003c/h2\u003e\n\u003cp\u003eThis release delivers several important fixes and enhancements to RDFLib’s Dataset implementation, resolving long-standing issues and improving consistency across serialization and SPARQL operations. It also introduces new deprecation notices for certain Dataset methods and attributes, which will be removed in the next major release. In addition, this version includes a range of improvements to SPARQL result parsing, typing, and literal handling.\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eDataset.__iadd__\u003c/code\u003e support\u003c/li\u003e\n\u003cli\u003eDataset's default serialize format is now \u003ccode\u003etrig\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eDatasets can now add graphs backed by different stores\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes and Improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where the \u003ccode\u003eRecursiveSerializer\u003c/code\u003e would output undeclared prefixes for predicates that contained the base as a substring\u003c/li\u003e\n\u003cli\u003ePrevented prefix generation for predicates corresponding to the base namespace\u003c/li\u003e\n\u003cli\u003eSPARQL Update now correctly inserts into the default graph\u003c/li\u003e\n\u003cli\u003eDataset.parse now returns Self\u003c/li\u003e\n\u003cli\u003eN-Quads serialization no longer includes the RDFLib internal default graph identifier\u003c/li\u003e\n\u003cli\u003eStatic type checkers can now infer the type of \u003ccode\u003eTerm.__new__\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eRemoved automatic date conversion for gYear and gYearMonth literals\u003c/li\u003e\n\u003cli\u003eOptional clauses in SPARQL queries can now bind variables\u003c/li\u003e\n\u003cli\u003eFixed reevaluation logic in SPARQL Update between update loops\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMaintenance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded deprecation notices to certain Dataset methods and attributes\n\u003cul\u003e\n\u003cli\u003eUse Dataset.graphs instead of Dataset.contexts method\u003c/li\u003e\n\u003cli\u003eUse Dataset.default_graph instead of Dataset.default_context\u003c/li\u003e\n\u003cli\u003eDeprecate Dataset.identifier entirely.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eUpdated type hints for Graph.open() with SPARQLUpdateStore configuration\u003c/li\u003e\n\u003cli\u003eSPARQL Result Parsing Improvements\n\u003cul\u003e\n\u003cli\u003eSimplified and modernized the SPARQL result parsing system:\u003c/li\u003e\n\u003cli\u003eThese changes maintain backward compatibility while making the SPARQL API more flexible and extensible.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee the \u003ca href=\"https://github.com/RDFLib/rdflib/blob/7.x/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for more details.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/RDFLib/rdflib/compare/7.2.1...7.3.0\"\u003ehttps://github.com/RDFLib/rdflib/compare/7.2.1...7.3.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2025-09-19 RELEASE 7.2.1\u003c/h2\u003e\n\u003cp\u003eNew features:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCanonicalization is now optional in the longturtle serializer. When serializing with the \u003ccode\u003elongturtle\u003c/code\u003e format, set \u003ccode\u003ecanon=True\u003c/code\u003e to enable canonicalization.\u003c/li\u003e\n\u003cli\u003eGeneral type hints enhancements\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed deskolemization of literals\u003c/li\u003e\n\u003cli\u003eFixed round-tripping of floats in N3 - floating point and scientific notation handling\u003c/li\u003e\n\u003cli\u003eFixed CI validation workflow, including regressions in tests\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eLiteral.toPython\u003c/code\u003e date conversion for gYear/gYearMonth\u003c/li\u003e\n\u003cli\u003eFixed namespace prefixes in longturtle serialization\u003c/li\u003e\n\u003cli\u003eFixed missing dot in RDF patch serialization\u003c/li\u003e\n\u003cli\u003ePrevious RDFLib releases required all downstream projects to specify \u0026lt;4.0.0. This release relaxes this requirement to allow Python 3.8.1 and later.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/RDFLib/rdflib/blob/main/CHANGELOG.md\"\u003erdflib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2025-09-19 RELEASE 7.2.1\u003c/h2\u003e\n\u003cp\u003eA tiny clean up release.\u003c/p\u003e\n\u003cp\u003eFixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePrevious RDFLib releases required all downstream projects to specify \u0026lt;4.0.0. This release relaxes this requirement to allow Python 3.8.1 and later.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2025-09-19 RELEASE 7.2.0\u003c/h2\u003e\n\u003cp\u003eThis release contains a number of fixes and improvements to RDFLib.\u003c/p\u003e\n\u003cp\u003eNew features:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCanonicalization is now optional in the longturtle serializer. When serializing with the \u003ccode\u003elongturtle\u003c/code\u003e format, set \u003ccode\u003ecanon=True\u003c/code\u003e to enable canonicalization.\u003c/li\u003e\n\u003cli\u003eGeneral type hints enhancements\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed deskolemization of literals\u003c/li\u003e\n\u003cli\u003eFixed round-tripping of floats in N3 - floating point and scientific notation handling\u003c/li\u003e\n\u003cli\u003eFixed CI validation workflow, including regressions in tests\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eLiteral.toPython\u003c/code\u003e date conversion for gYear/gYearMonth\u003c/li\u003e\n\u003cli\u003eFixed namespace prefixes in longturtle serialization\u003c/li\u003e\n\u003cli\u003eFixed missing dot in RDF patch serialization\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ePRs merged:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e2025-09-18 - [7.x] Fix incorrect deskolemization of literals\n[PR \u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3223\"\u003e#3223\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/pull/3223\"\u003eRDFLib/rdflib#3223\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2025-09-18 - Fix incorrect deskolemization of literals\n[PR \u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3127\"\u003e#3127\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/pull/3127\"\u003eRDFLib/rdflib#3127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2025-09-18 - notation3.py: don't normalize float representation\n[PR \u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3020\"\u003e#3020\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/pull/3020\"\u003eRDFLib/rdflib#3020\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2025-09-18 - [7.x] notation3.py: don't normalize float representation\n[PR \u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3221\"\u003e#3221\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/pull/3221\"\u003eRDFLib/rdflib#3221\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2025-09-18 - Merge 7-maintenance branch into 7.x\n[PR \u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3222\"\u003e#3222\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/pull/3222\"\u003eRDFLib/rdflib#3222\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2025-09-17 - Allow lxml 6\n[PR \u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3219\"\u003e#3219\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/pull/3219\"\u003eRDFLib/rdflib#3219\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2025-09-16 - ci: fix firejail command for poetry 2.1.0\n[PR \u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3218\"\u003e#3218\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/pull/3218\"\u003eRDFLib/rdflib#3218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2025-09-16 - chore: address dependabot security vulnerabilities\n[PR \u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3210\"\u003e#3210\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/pull/3210\"\u003eRDFLib/rdflib#3210\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2025-09-09 - Merge 7-maintenance changes into main\n[PR \u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3202\"\u003e#3202\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/pull/3202\"\u003eRDFLib/rdflib#3202\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2025-09-08 - feat: canonicalization with longturtle serializer now optional\n[PR \u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3197\"\u003e#3197\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/pull/3197\"\u003eRDFLib/rdflib#3197\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2025-09-03 - Specify \u003ccode\u003eOptional\u003c/code\u003e parameters in \u003ccode\u003eGraph.triples_choices\u003c/code\u003e\n[PR \u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3075\"\u003e#3075\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/pull/3075\"\u003eRDFLib/rdflib#3075\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2025-08-29 - Fix failing webtest\n[PR \u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3194\"\u003e#3194\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/pull/3194\"\u003eRDFLib/rdflib#3194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2025-08-29 - Revert \u0026quot;remove old hacks against 2to3 (\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3076\"\u003e#3076\u003c/a\u003e)\u0026quot;\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RDFLib/rdflib/commit/3b67ea708580e60fa0e5ce1f3a9e190c66f84428\"\u003e\u003ccode\u003e3b67ea7\u003c/code\u003e\u003c/a\u003e build: prep 7.3.0 (\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3277\"\u003e#3277\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RDFLib/rdflib/commit/634638fa31e450a2c7ff010f6c7a3dfcd4870383\"\u003e\u003ccode\u003e634638f\u003c/code\u003e\u003c/a\u003e feat: add Dataset \u003cstrong\u003eiadd\u003c/strong\u003e support (\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3268\"\u003e#3268\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RDFLib/rdflib/commit/72287e45ad1a9801a85d262f20657c23e8831209\"\u003e\u003ccode\u003e72287e4\u003c/code\u003e\u003c/a\u003e fix: RecursiveSerializer- outputs undeclared prefix for predicates that conta...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RDFLib/rdflib/commit/2a902e512123d1b9a8035fa1652aa3d0a0a918a4\"\u003e\u003ccode\u003e2a902e5\u003c/code\u003e\u003c/a\u003e fix: allow static type checkers to infer term's \u003cstrong\u003enew\u003c/strong\u003e type (\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3266\"\u003e#3266\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RDFLib/rdflib/commit/01de9bbd3a295a07ef8d00dc1ee9591f8aaeb411\"\u003e\u003ccode\u003e01de9bb\u003c/code\u003e\u003c/a\u003e fix: SPARQL Update inserts into the default graph (\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3265\"\u003e#3265\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RDFLib/rdflib/commit/2796fee74cf22b2debf5bff019bd0a929af8cee3\"\u003e\u003ccode\u003e2796fee\u003c/code\u003e\u003c/a\u003e patch for reevaluation in sparql modify between update loops. with test (\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3261\"\u003e#3261\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RDFLib/rdflib/commit/d5774efffab6d28e3805a0beb740ad5c287c34aa\"\u003e\u003ccode\u003ed5774ef\u003c/code\u003e\u003c/a\u003e chore: add deprecation notice to Dataset methods and attributes (\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3264\"\u003e#3264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RDFLib/rdflib/commit/0f3237d6765bcd98eafbf1282175bbb6eac9c1fa\"\u003e\u003ccode\u003e0f3237d\u003c/code\u003e\u003c/a\u003e fix: Dataset.parse now returns Self (\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3263\"\u003e#3263\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RDFLib/rdflib/commit/1a20cd94c24816860cff6372b64ecc7f7ffd0b91\"\u003e\u003ccode\u003e1a20cd9\u003c/code\u003e\u003c/a\u003e fix: dataset nquads serialization including RDFLib internal default graph ide...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RDFLib/rdflib/commit/32b6b88e9a267c3b517e0a36bf49c3f77535dca9\"\u003e\u003ccode\u003e32b6b88\u003c/code\u003e\u003c/a\u003e sparqls optionals clause can now bind variables. with test. issue 2957 (\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3247\"\u003e#3247\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/RDFLib/rdflib/compare/7.0.0...7.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `holidays` from 0.43 to 0.83\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vacanza/holidays/releases\"\u003eholidays's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.83\u003c/h2\u003e\n\u003ch1\u003eVersion 0.83\u003c/h1\u003e\n\u003cp\u003eReleased October 20, 2025\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e_add_observed\u003c/code\u003e/\u003ccode\u003e_move_holiday\u003c/code\u003e's \u003ccode\u003eforce_observed\u003c/code\u003e support (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2986\"\u003e#2986\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIntroduce \u003ccode\u003eHolidayBase::_is_weekday\u003c/code\u003e method (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2999\"\u003e#2999\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor \u003ccode\u003eHolidaySum::__init__\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/3013\"\u003e#3013\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Western Sahara holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/3003\"\u003e#3003\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Denmark holidays: add \u003ccode\u003eth\u003c/code\u003e l10n support, refactor test cases (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/3011\"\u003e#3011\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Islamic holidays calculation (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2981\"\u003e#2981\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Netherlands holidays: add \u003ccode\u003eth\u003c/code\u003e l10n, refactor test cases (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/3006\"\u003e#3006\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Slovakia holidays: additional holidays moved to \u003ccode\u003eWORKDAY\u003c/code\u003e for 2026 (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/3005\"\u003e#3005\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Slovakia holidays: move \u0026quot;Struggle for Freedom and Democracy Day\u0026quot; to \u003ccode\u003eWORKDAY\u003c/code\u003e category for 2025 onwards (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/3004\"\u003e#3004\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Switzerland holidays: add Zurich's \u003ccode\u003eHALF_DAY\u003c/code\u003e, \u003ccode\u003eOPTIONAL\u003c/code\u003e holidays, \u003ccode\u003eth\u003c/code\u003e l10n support (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2984\"\u003e#2984\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate badges (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2990\"\u003e#2990\u003c/a\u003e by \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate ruff configuration: add \u003ccode\u003eflake8-boolean-trap\u003c/code\u003e (FBT) errors check (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/3007\"\u003e#3007\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInline single-use variables, update .py files formatting (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/3014\"\u003e#3014\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSwitch to Python 3.14 (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2997\"\u003e#2997\u003c/a\u003e by \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/vacanza/holidays/compare/v0.82...v0.83\"\u003ehttps://github.com/vacanza/holidays/compare/v0.82...v0.83\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.82\u003c/h2\u003e\n\u003ch1\u003eVersion 0.82\u003c/h1\u003e\n\u003cp\u003eReleased October 6, 2025\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd variable weekend support (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2945\"\u003e#2945\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor Chile holidays: reduce l10n string duplication (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2934\"\u003e#2934\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor Cuba holidays: reduce l10n string duplication (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2935\"\u003e#2935\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor Eastern holidays groups (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2966\"\u003e#2966\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor Hungary holidays: reduce l10n string duplication (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2936\"\u003e#2936\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor Japan holidays: reduce l10n string duplication, \u003ccode\u003een_US\u003c/code\u003e typo fixed (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2937\"\u003e#2937\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor Portugal holidays: consolidate holidays code (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2943\"\u003e#2943\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor South Africa holidays: move \u003ccode\u003estart_year\u003c/code\u003e to 1911, capitalization fixes (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2942\"\u003e#2942\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor \u003ccode\u003etest_utils.py\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2970\"\u003e#2970\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor iCal exporter (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2977\"\u003e#2977\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor imports in certain countries: use \u003ccode\u003eTYPE_CHECKING\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2949\"\u003e#2949\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Antarctica holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2962\"\u003e#2962\u003c/a\u003e by \u003ca href=\"https://github.com/Aaqilyousuf\"\u003e\u003ccode\u003e@​Aaqilyousuf\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Myanmar holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2944\"\u003e#2944\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e, ...\n\n_Description has been truncated_","html_url":"https://github.com/autocode07/Arelle__Arelle.aa0c3a3b/pull/2","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/autocode07%2FArelle__Arelle.aa0c3a3b/issues/2","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/2/packages"},{"uuid":"3533188081","node_id":"PR_kwDOPHGkIc6uq-tJ","number":14,"state":"closed","title":"Bump the python-dependencies group across 1 directory with 28 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-02-09T20:10:54.000Z","author_association":null,"state_reason":null,"created_at":"2025-10-20T16:54:40.000Z","updated_at":"2026-02-09T20:10:56.000Z","time_to_close":9688574,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"python-dependencies","update_count":28,"packages":[{"name":"ixbrl-viewer","old_version":"1.4.68","new_version":"1.4.77","repository_url":"https://github.com/Arelle/ixbrl-viewer"},{"name":"boto3","old_version":"1.39.2","new_version":"1.40.55","repository_url":"https://github.com/boto/boto3"},{"name":"pytest","old_version":"8.4.1","new_version":"8.4.2","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"certifi","old_version":"2025.6.15","new_version":"2025.10.5","repository_url":"https://github.com/certifi/python-certifi"},{"name":"filelock","old_version":"3.18.0","new_version":"3.19.1","repository_url":"https://github.com/tox-dev/py-filelock"},{"name":"jsonschema","old_version":"4.24.0","new_version":"4.25.1","repository_url":"https://github.com/python-jsonschema/jsonschema"},{"name":"pyparsing","old_version":"3.2.3","new_version":"3.2.5","repository_url":"https://github.com/pyparsing/pyparsing"},{"name":"regex","old_version":"2024.11.6","new_version":"2025.9.18","repository_url":"https://github.com/mrabarnett/mrab-regex"},{"name":"typing-extensions","old_version":"4.14.0","new_version":"4.15.0","repository_url":"https://github.com/python/typing_extensions"},{"name":"cheroot","old_version":"10.0.1","new_version":"11.0.0","repository_url":"https://github.com/cherrypy/cheroot"},{"name":"holidays","old_version":"0.75","new_version":"0.82","repository_url":"https://github.com/vacanza/holidays"},{"name":"tornado","old_version":"6.5.1","new_version":"6.5.2","repository_url":"https://github.com/tornadoweb/tornado"},{"name":"pg8000","old_version":"1.31.2","new_version":"1.31.5","repository_url":"https://github.com/tlocke/pg8000"},{"name":"pymysql","old_version":"1.1.1","new_version":"1.1.2","repository_url":"https://github.com/PyMySQL/PyMySQL"},{"name":"pyodbc","old_version":"5.2.0","new_version":"5.3.0","repository_url":"https://github.com/mkleehammer/pyodbc"},{"name":"rdflib","old_version":"7.1.4","new_version":"7.2.1","repository_url":"https://github.com/RDFLib/rdflib"},{"name":"pywin32","old_version":"310","new_version":"311","repository_url":"https://github.com/mhammond/pywin32"},{"name":"mypy","old_version":"1.16.1","new_version":"1.18.2","repository_url":"https://github.com/python/mypy"},{"name":"boto3-stubs","old_version":"1.39.2","new_version":"1.40.55","repository_url":"https://github.com/youtype/mypy_boto3_builder"},{"name":"types-pymysql","old_version":"1.1.0.20250516","new_version":"1.1.0.20250916","repository_url":"https://github.com/typeshed-internal/stub_uploader"},{"name":"types-openpyxl","old_version":"3.1.5.20250602","new_version":"3.1.5.20250919","repository_url":"https://github.com/typeshed-internal/stub_uploader"},{"name":"types-python-dateutil","old_version":"2.9.0.20250516","new_version":"2.9.0.20251008","repository_url":"https://github.com/typeshed-internal/stub_uploader"},{"name":"types-pytz","old_version":"2025.2.0.20250516","new_version":"2025.2.0.20250809","repository_url":"https://github.com/typeshed-internal/stub_uploader"},{"name":"types-regex","old_version":"2024.11.6.20250403","new_version":"2025.9.18.20250921","repository_url":"https://github.com/typeshed-internal/stub_uploader"},{"name":"types-simplejson","old_version":"3.20.0.20250326","new_version":"3.20.0.20250822","repository_url":"https://github.com/typeshed-internal/stub_uploader"},{"name":"types-ujson","old_version":"5.10.0.20250326","new_version":"5.10.0.20250822","repository_url":"https://github.com/typeshed-internal/stub_uploader"},{"name":"types-waitress","old_version":"3.0.1.20241117","new_version":"3.0.1.20250801","repository_url":"https://github.com/typeshed-internal/stub_uploader"},{"name":"furo","old_version":"2024.8.6","new_version":"2025.9.25","repository_url":"https://github.com/pradyunsg/furo"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-dependencies group with 28 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [ixbrl-viewer](https://github.com/Arelle/ixbrl-viewer) | `1.4.68` | `1.4.77` |\n| [boto3](https://github.com/boto/boto3) | `1.39.2` | `1.40.55` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.4.1` | `8.4.2` |\n| [certifi](https://github.com/certifi/python-certifi) | `2025.6.15` | `2025.10.5` |\n| [filelock](https://github.com/tox-dev/py-filelock) | `3.18.0` | `3.19.1` |\n| [jsonschema](https://github.com/python-jsonschema/jsonschema) | `4.24.0` | `4.25.1` |\n| [pyparsing](https://github.com/pyparsing/pyparsing) | `3.2.3` | `3.2.5` |\n| [regex](https://github.com/mrabarnett/mrab-regex) | `2024.11.6` | `2025.9.18` |\n| [typing-extensions](https://github.com/python/typing_extensions) | `4.14.0` | `4.15.0` |\n| [cheroot](https://github.com/cherrypy/cheroot) | `10.0.1` | `11.0.0` |\n| [holidays](https://github.com/vacanza/holidays) | `0.75` | `0.82` |\n| [tornado](https://github.com/tornadoweb/tornado) | `6.5.1` | `6.5.2` |\n| [pg8000](https://github.com/tlocke/pg8000) | `1.31.2` | `1.31.5` |\n| [pymysql](https://github.com/PyMySQL/PyMySQL) | `1.1.1` | `1.1.2` |\n| [pyodbc](https://github.com/mkleehammer/pyodbc) | `5.2.0` | `5.3.0` |\n| [rdflib](https://github.com/RDFLib/rdflib) | `7.1.4` | `7.2.1` |\n| [pywin32](https://github.com/mhammond/pywin32) | `310` | `311` |\n| [mypy](https://github.com/python/mypy) | `1.16.1` | `1.18.2` |\n| [boto3-stubs](https://github.com/youtype/mypy_boto3_builder) | `1.39.2` | `1.40.55` |\n| [types-pymysql](https://github.com/typeshed-internal/stub_uploader) | `1.1.0.20250516` | `1.1.0.20250916` |\n| [types-openpyxl](https://github.com/typeshed-internal/stub_uploader) | `3.1.5.20250602` | `3.1.5.20250919` |\n| [types-python-dateutil](https://github.com/typeshed-internal/stub_uploader) | `2.9.0.20250516` | `2.9.0.20251008` |\n| [types-pytz](https://github.com/typeshed-internal/stub_uploader) | `2025.2.0.20250516` | `2025.2.0.20250809` |\n| [types-regex](https://github.com/typeshed-internal/stub_uploader) | `2024.11.6.20250403` | `2025.9.18.20250921` |\n| [types-simplejson](https://github.com/typeshed-internal/stub_uploader) | `3.20.0.20250326` | `3.20.0.20250822` |\n| [types-ujson](https://github.com/typeshed-internal/stub_uploader) | `5.10.0.20250326` | `5.10.0.20250822` |\n| [types-waitress](https://github.com/typeshed-internal/stub_uploader) | `3.0.1.20241117` | `3.0.1.20250801` |\n| [furo](https://github.com/pradyunsg/furo) | `2024.8.6` | `2025.9.25` |\n\n\nUpdates `ixbrl-viewer` from 1.4.68 to 1.4.77\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Arelle/ixbrl-viewer/releases\"\u003eixbrl-viewer's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.4.77\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSort dimensions when displayed in Fact Properties (\u003ca href=\"https://redirect.github.com/Arelle/ixbrl-viewer/issues/945\"\u003e#945\u003c/a\u003e) \u003ca href=\"https://github.com/strr\"\u003e\u003ccode\u003e@​strr\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.4.76\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eWhen fetching the config file, make the callback easier to understand and include the URL in its log message (\u003ca href=\"https://redirect.github.com/Arelle/ixbrl-viewer/issues/944\"\u003e#944\u003c/a\u003e) \u003ca href=\"https://github.com/strr\"\u003e\u003ccode\u003e@​strr\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e⬆️ Dependencies\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cul\u003e\n\u003cli\u003eBump the npm-dependencies group with 20 updates (\u003ca href=\"https://redirect.github.com/Arelle/ixbrl-viewer/issues/942\"\u003e#942\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump stylelint-config-standard from 39.0.0 to 39.0.1 in the stylelint group (\u003ca href=\"https://redirect.github.com/Arelle/ixbrl-viewer/issues/943\"\u003e#943\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump softprops/action-gh-release from 2.3.4 to 2.4.1 in the github-action-dependencies group (\u003ca href=\"https://redirect.github.com/Arelle/ixbrl-viewer/issues/941\"\u003e#941\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump stylelint from 16.24.0 to 16.25.0 in the stylelint group (\u003ca href=\"https://redirect.github.com/Arelle/ixbrl-viewer/issues/940\"\u003e#940\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the npm-dependencies group with 24 updates (\u003ca href=\"https://redirect.github.com/Arelle/ixbrl-viewer/issues/939\"\u003e#939\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump softprops/action-gh-release from 2.3.3 to 2.3.4 in the github-action-dependencies group (\u003ca href=\"https://redirect.github.com/Arelle/ixbrl-viewer/issues/938\"\u003e#938\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the jest group with 40 updates (\u003ca href=\"https://redirect.github.com/Arelle/ixbrl-viewer/issues/937\"\u003e#937\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the npm-dependencies group with 17 updates (\u003ca href=\"https://redirect.github.com/Arelle/ixbrl-viewer/issues/936\"\u003e#936\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump furo from 2025.7.19 to 2025.9.25 in the pip-dependencies group (\u003ca href=\"https://redirect.github.com/Arelle/ixbrl-viewer/issues/935\"\u003e#935\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the npm-dependencies group with 19 updates (\u003ca href=\"https://redirect.github.com/Arelle/ixbrl-viewer/issues/934\"\u003e#934\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump mypy from 1.18.1 to 1.18.2 in the pip-dependencies group (\u003ca href=\"https://redirect.github.com/Arelle/ixbrl-viewer/issues/933\"\u003e#933\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003e1.4.75\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch2\u003e⬆️ Dependencies\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cul\u003e\n\u003cli\u003eBump error-ex from 1.3.2 to 1.3.3 in the npm-dependencies group across 1 directory (\u003ca href=\"https://redirect.github.com/Arelle/ixbrl-viewer/issues/930\"\u003e#930\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump pytest from 8.4.1 to 8.4.2 in the pip-dependencies group (\u003ca href=\"https://redirect.github.com/Arelle/ixbrl-viewer/issues/925\"\u003e#925\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the github-action-dependencies group with 3 updates (\u003ca href=\"https://redirect.github.com/Arelle/ixbrl-viewer/issues/926\"\u003e#926\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the npm-dependencies group with 23 updates (\u003ca href=\"https://redirect.github.com/Arelle/ixbrl-viewer/issues/927\"\u003e#927\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the jest group with 28 updates (\u003ca href=\"https://redirect.github.com/Arelle/ixbrl-viewer/issues/928\"\u003e#928\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump stylelint from 16.23.1 to 16.24.0 in the stylelint group (\u003ca href=\"https://redirect.github.com/Arelle/ixbrl-viewer/issues/929\"\u003e#929\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the npm-dependencies group across 1 directory with 6 updates (\u003ca href=\"https://redirect.github.com/Arelle/ixbrl-viewer/issues/924\"\u003e#924\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the npm-dependencies group with 11 updates (\u003ca href=\"https://redirect.github.com/Arelle/ixbrl-viewer/issues/921\"\u003e#921\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the jest group with 34 updates (\u003ca href=\"https://redirect.github.com/Arelle/ixbrl-viewer/issues/922\"\u003e#922\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump typing-extensions from 4.14.1 to 4.15.0 in the pip-dependencies group (\u003ca href=\"https://redirect.github.com/Arelle/ixbrl-viewer/issues/920\"\u003e#920\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003e1.4.74\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch2\u003e⬆️ Dependencies\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Arelle/ixbrl-viewer/commit/ceb09984fe82798b90a4ca894fd0d375eb04dd5a\"\u003e\u003ccode\u003eceb0998\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Arelle/ixbrl-viewer/issues/945\"\u003e#945\u003c/a\u003e from strr/sort-aspects\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Arelle/ixbrl-viewer/commit/1118ecc98c29e08a1eb7d60b0df9f405aca3f874\"\u003e\u003ccode\u003e1118ecc\u003c/code\u003e\u003c/a\u003e Fix docstring on Fact aspects()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Arelle/ixbrl-viewer/commit/334d2ba1a11aceee2de7de82af6bcbe1c366922c\"\u003e\u003ccode\u003e334d2ba\u003c/code\u003e\u003c/a\u003e Sort aspects so that taxonomy dimensions are displayed in a consistent order ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Arelle/ixbrl-viewer/commit/b09f9e93f9bdee4ed86c725875ffff054f7057d9\"\u003e\u003ccode\u003eb09f9e9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Arelle/ixbrl-viewer/issues/944\"\u003e#944\u003c/a\u003e from strr/strr/config-fetch-simplify\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Arelle/ixbrl-viewer/commit/6bfca7bcd3e2ec010bebfac45b17059086fca837\"\u003e\u003ccode\u003e6bfca7b\u003c/code\u003e\u003c/a\u003e When fetching the config file, make the callback easier to understand\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Arelle/ixbrl-viewer/commit/19e8eec3f8a223741612907cec2d02033740bfd5\"\u003e\u003ccode\u003e19e8eec\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Arelle/ixbrl-viewer/issues/942\"\u003e#942\u003c/a\u003e from Arelle/dependabot/npm_and_yarn/npm-dependencies-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Arelle/ixbrl-viewer/commit/7fba79c03ee11a71016e9a961c74d59a8b7f520d\"\u003e\u003ccode\u003e7fba79c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Arelle/ixbrl-viewer/issues/943\"\u003e#943\u003c/a\u003e from Arelle/dependabot/npm_and_yarn/stylelint-dac218c75b\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Arelle/ixbrl-viewer/commit/1565a43093db9a0c1ca2508eed713fa194c997c7\"\u003e\u003ccode\u003e1565a43\u003c/code\u003e\u003c/a\u003e Bump stylelint-config-standard in the stylelint group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Arelle/ixbrl-viewer/commit/dd59016d77590e6c4d6ec04ab4a29808593bf8a7\"\u003e\u003ccode\u003edd59016\u003c/code\u003e\u003c/a\u003e Bump the npm-dependencies group with 20 updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Arelle/ixbrl-viewer/commit/4cf26cf689b578d9bc15a8ba5bfa4370d198c177\"\u003e\u003ccode\u003e4cf26cf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Arelle/ixbrl-viewer/issues/941\"\u003e#941\u003c/a\u003e from Arelle/dependabot/github_actions/github-action-d...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Arelle/ixbrl-viewer/compare/1.4.68...1.4.77\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `boto3` from 1.39.2 to 1.40.55\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/eb5f82773991f715b62dc38f6801d76d1035a868\"\u003e\u003ccode\u003eeb5f827\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.55'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/52a3496b66a6ff66755c4315c55f22b07826e758\"\u003e\u003ccode\u003e52a3496\u003c/code\u003e\u003c/a\u003e Bumping version to 1.40.55\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/0c90e25258ee214b06e96f3b458a6e0d843a990a\"\u003e\u003ccode\u003e0c90e25\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/2f92c15bdda649d95fce1d865c65f81dfab5f3f4\"\u003e\u003ccode\u003e2f92c15\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.54'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/eaf0158a0a0b80633d2e6a5c58bf78c1fbfb4bd1\"\u003e\u003ccode\u003eeaf0158\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.54' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/574a0d474790a8c548f7b8618b29a874fffe10e6\"\u003e\u003ccode\u003e574a0d4\u003c/code\u003e\u003c/a\u003e Bumping version to 1.40.54\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/1ada209aa81b0919af8c7df09c04efa7b4bfa626\"\u003e\u003ccode\u003e1ada209\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/9a9288aae8f60bc20679b57291fd642af33f4102\"\u003e\u003ccode\u003e9a9288a\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.53'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/7d581c32f273a4835fe8fc67917e856f2bb2a1c3\"\u003e\u003ccode\u003e7d581c3\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.53' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/312bc51267cbf62136b2f37543e88aa46f770506\"\u003e\u003ccode\u003e312bc51\u003c/code\u003e\u003c/a\u003e Bumping version to 1.40.53\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/boto/boto3/compare/1.39.2...1.40.55\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest` from 8.4.1 to 8.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest/releases\"\u003epytest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.4.2\u003c/h2\u003e\n\u003ch1\u003epytest 8.4.2 (2025-09-03)\u003c/h1\u003e\n\u003ch2\u003eBug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13478\"\u003e#13478\u003c/a\u003e: Fixed a crash when using \u003ccode\u003econsole_output_style\u003c/code\u003e{.interpreted-text role=\u0026quot;confval\u0026quot;} with \u003ccode\u003etimes\u003c/code\u003e and a module is skipped.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13530\"\u003e#13530\u003c/a\u003e: Fixed a crash when using \u003ccode\u003epytest.approx\u003c/code\u003e{.interpreted-text role=\u0026quot;func\u0026quot;} and \u003ccode\u003edecimal.Decimal\u003c/code\u003e{.interpreted-text role=\u0026quot;class\u0026quot;} instances with the \u003ccode\u003edecimal.FloatOperation\u003c/code\u003e{.interpreted-text role=\u0026quot;class\u0026quot;} trap set.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13549\"\u003e#13549\u003c/a\u003e: No longer evaluate type annotations in Python \u003ccode\u003e3.14\u003c/code\u003e when inspecting function signatures.\u003c/p\u003e\n\u003cp\u003eThis prevents crashes during module collection when modules do not explicitly use \u003ccode\u003efrom __future__ import annotations\u003c/code\u003e and import types for annotations within a \u003ccode\u003eif TYPE_CHECKING:\u003c/code\u003e block.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13559\"\u003e#13559\u003c/a\u003e: Added missing [int]{.title-ref} and [float]{.title-ref} variants to the [Literal]{.title-ref} type annotation of the [type]{.title-ref} parameter in \u003ccode\u003epytest.Parser.addini\u003c/code\u003e{.interpreted-text role=\u0026quot;meth\u0026quot;}.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13563\"\u003e#13563\u003c/a\u003e: \u003ccode\u003epytest.approx\u003c/code\u003e{.interpreted-text role=\u0026quot;func\u0026quot;} now only imports \u003ccode\u003enumpy\u003c/code\u003e if NumPy is already in \u003ccode\u003esys.modules\u003c/code\u003e. This fixes unconditional import behavior introduced in [8.4.0]{.title-ref}.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImproved documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13577\"\u003e#13577\u003c/a\u003e: Clarify that \u003ccode\u003epytest_generate_tests\u003c/code\u003e is discovered in test modules/classes; other hooks must be in \u003ccode\u003econftest.py\u003c/code\u003e or plugins.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributor-facing changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13480\"\u003e#13480\u003c/a\u003e: Self-testing: fixed a few test failures when run with \u003ccode\u003e-Wdefault\u003c/code\u003e or a similar override.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13547\"\u003e#13547\u003c/a\u003e: Self-testing: corrected expected message for \u003ccode\u003etest_doctest_unexpected_exception\u003c/code\u003e in Python \u003ccode\u003e3.14\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13684\"\u003e#13684\u003c/a\u003e: Make pytest's own testsuite insensitive to the presence of the \u003ccode\u003eCI\u003c/code\u003e environment variable -- by \u003ccode\u003eogrisel\u003c/code\u003e{.interpreted-text role=\u0026quot;user\u0026quot;}.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/bfae4224fd554d3d7f2c277a4cc092b6ec6af3ae\"\u003e\u003ccode\u003ebfae422\u003c/code\u003e\u003c/a\u003e Prepare release version 8.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/89905381a163be30ae87d62e5f750e902d750c5f\"\u003e\u003ccode\u003e8990538\u003c/code\u003e\u003c/a\u003e Fix passenv CI in tox ini and make tests insensitive to the presence of the C...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/ca676bfe005aebcb12f4146d1b0f1d2772e2cd5d\"\u003e\u003ccode\u003eca676bf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13687\"\u003e#13687\u003c/a\u003e from pytest-dev/patchback/backports/8.4.x/e63f6e51c...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/975a60a63ce385a44655596e254c1899feaa53e4\"\u003e\u003ccode\u003e975a60a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13686\"\u003e#13686\u003c/a\u003e from pytest-dev/patchback/backports/8.4.x/12bde8af6...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/7723ce84b87ab08f86ddafcb342acc28ba5ec99d\"\u003e\u003ccode\u003e7723ce8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13683\"\u003e#13683\u003c/a\u003e from even-even/fix_Exeption_to_Exception_in_errorMe...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/b7f05680d1301e0969b30bcb3c4b27433c9ee2b7\"\u003e\u003ccode\u003eb7f0568\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13685\"\u003e#13685\u003c/a\u003e from CoretexShadow/fix/docs-pytest-generate-tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/2c94c4a6948ba53440818389298157fa5d5f94cd\"\u003e\u003ccode\u003e2c94c4a\u003c/code\u003e\u003c/a\u003e add missing colon (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13640\"\u003e#13640\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13641\"\u003e#13641\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/c3d7684bc01c8c48d05145a30c5211ca8656c68c\"\u003e\u003ccode\u003ec3d7684\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13606\"\u003e#13606\u003c/a\u003e from pytest-dev/patchback/backports/8.4.x/5f9938563...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/dc6e3be2ddc75a149b6d102d9b7c82ee47a00cfa\"\u003e\u003ccode\u003edc6e3be\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13605\"\u003e#13605\u003c/a\u003e from The-Compiler/training-update-2025-07\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/f87289c36c8dbe7740e3020f5546b6f8b0861ff0\"\u003e\u003ccode\u003ef87289c\u003c/code\u003e\u003c/a\u003e Fix crash with \u003ccode\u003etimes\u003c/code\u003e output style and skipped module (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13573\"\u003e#13573\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13579\"\u003e#13579\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest/compare/8.4.1...8.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `certifi` from 2025.6.15 to 2025.10.5\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/fb14ac49a976b1695d84b1ac1307276a20b3aac9\"\u003e\u003ccode\u003efb14ac4\u003c/code\u003e\u003c/a\u003e 2025.10.05 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/371\"\u003e#371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/2c7c7ee6b76a118191b685a4cc028d4241f22eb7\"\u003e\u003ccode\u003e2c7c7ee\u003c/code\u003e\u003c/a\u003e Add Python 3.14 classifier in setup.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/1a5cb7b3771bba256755f88b3dcf3ac13f064622\"\u003e\u003ccode\u003e1a5cb7b\u003c/code\u003e\u003c/a\u003e Bump actions/setup-python from 5.6.0 to 6.0.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/367\"\u003e#367\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/dea59605ef2b266c2e0e67938e8c8535a04b1211\"\u003e\u003ccode\u003edea5960\u003c/code\u003e\u003c/a\u003e Bump pypa/gh-action-pypi-publish from 1.12.4 to 1.13.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/366\"\u003e#366\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/83566b7c993eef772facdaff59c7bba105675329\"\u003e\u003ccode\u003e83566b7\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4.2.2 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/ca2e121bdb304fd01f802d3b1ee6a65684f569f2\"\u003e\u003ccode\u003eca2e121\u003c/code\u003e\u003c/a\u003e Bump actions/download-artifact from 4.3.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/a97d9ad8f87c382378dddc0b0b33b9770932404e\"\u003e\u003ccode\u003ea97d9ad\u003c/code\u003e\u003c/a\u003e 2025.08.03 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/362\"\u003e#362\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/ddd90c6d726f174c1e5820379dac0f2a8fc723a1\"\u003e\u003ccode\u003eddd90c6\u003c/code\u003e\u003c/a\u003e 2025.07.14 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/359\"\u003e#359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/d905221c916d51077f5c8071a0f7aa2df2a37c52\"\u003e\u003ccode\u003ed905221\u003c/code\u003e\u003c/a\u003e 2025.07.09 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/358\"\u003e#358\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/certifi/python-certifi/compare/2025.06.15...2025.10.05\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `filelock` from 3.18.0 to 3.19.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tox-dev/py-filelock/releases\"\u003efilelock's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.19.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eadd 3.14t (free threading) to matrix by \u003ca href=\"https://github.com/paultiq\"\u003e\u003ccode\u003e@​paultiq\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/433\"\u003etox-dev/filelock#433\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIncrease test coverage by \u003ca href=\"https://github.com/paultiq\"\u003e\u003ccode\u003e@​paultiq\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/434\"\u003etox-dev/filelock#434\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/paultiq\"\u003e\u003ccode\u003e@​paultiq\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/433\"\u003etox-dev/filelock#433\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tox-dev/filelock/compare/3.19.0...3.19.1\"\u003ehttps://github.com/tox-dev/filelock/compare/3.19.0...3.19.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.19.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for 3.14 by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/432\"\u003etox-dev/filelock#432\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tox-dev/filelock/compare/3.18.0...3.19.0\"\u003ehttps://github.com/tox-dev/filelock/compare/3.18.0...3.19.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/8d1009f08a6a64624fad91d1079062ef31b8c2b4\"\u003e\u003ccode\u003e8d1009f\u003c/code\u003e\u003c/a\u003e Update release.yaml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/66a428e97a874b44b0310072f6c974226f55a472\"\u003e\u003ccode\u003e66a428e\u003c/code\u003e\u003c/a\u003e Increase test coverage (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/434\"\u003e#434\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/0dfc86eebd2c76ae959a409bcbc3112cc1ec5890\"\u003e\u003ccode\u003e0dfc86e\u003c/code\u003e\u003c/a\u003e add 3.14 to matrix (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/433\"\u003e#433\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/0c54837e318ebe8a692b529722430cb38134bf7c\"\u003e\u003ccode\u003e0c54837\u003c/code\u003e\u003c/a\u003e Add support for 3.14 (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/432\"\u003e#432\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/77d02f5ada3a1a92167b1beee35a7815cbde0fcf\"\u003e\u003ccode\u003e77d02f5\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5 (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/430\"\u003e#430\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/bc972b33bf253bb9f08db32b19ffd4119a74706e\"\u003e\u003ccode\u003ebc972b3\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/429\"\u003e#429\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/78d02cb5ff42b22a56ad1a36755361a6b4601765\"\u003e\u003ccode\u003e78d02cb\u003c/code\u003e\u003c/a\u003e Bump actions/download-artifact from 4 to 5 (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/428\"\u003e#428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/18cdb5d1c78a7a459463480303e9820f33cdf041\"\u003e\u003ccode\u003e18cdb5d\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/427\"\u003e#427\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/b198a096d2bae58596479497d18a82bbeec515c8\"\u003e\u003ccode\u003eb198a09\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/426\"\u003e#426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/6b097e76de603d9be6a24c5058b6fe53ef003afd\"\u003e\u003ccode\u003e6b097e7\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/425\"\u003e#425\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tox-dev/py-filelock/compare/3.18.0...3.19.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jsonschema` from 4.24.0 to 4.25.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-jsonschema/jsonschema/releases\"\u003ejsonschema's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.25.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidator\u003c/code\u003e protocol init to match runtime by \u003ca href=\"https://github.com/sirosen\"\u003e\u003ccode\u003e@​sirosen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1396\"\u003epython-jsonschema/jsonschema#1396\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/python-jsonschema/jsonschema/compare/v4.25.0...v4.25.1\"\u003ehttps://github.com/python-jsonschema/jsonschema/compare/v4.25.0...v4.25.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.25.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for the \u003ccode\u003eiri\u003c/code\u003e and \u003ccode\u003eiri-reference\u003c/code\u003e formats to the \u003ccode\u003eformat-nongpl\u003c/code\u003e extra by \u003ca href=\"https://github.com/jkowalleck\"\u003e\u003ccode\u003e@​jkowalleck\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1388\"\u003epython-jsonschema/jsonschema#1388\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/jkowalleck\"\u003e\u003ccode\u003e@​jkowalleck\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1388\"\u003epython-jsonschema/jsonschema#1388\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/python-jsonschema/jsonschema/compare/v4.24.1...v4.25.0\"\u003ehttps://github.com/python-jsonschema/jsonschema/compare/v4.24.1...v4.25.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.24.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUnambiguously quote and escape properties in JSON path rendering by \u003ca href=\"https://github.com/kurtmckee\"\u003e\u003ccode\u003e@​kurtmckee\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1390\"\u003epython-jsonschema/jsonschema#1390\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop python\u0026lt;3.9 backports by \u003ca href=\"https://github.com/hackowitz-af\"\u003e\u003ccode\u003e@​hackowitz-af\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1367\"\u003epython-jsonschema/jsonschema#1367\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/hackowitz-af\"\u003e\u003ccode\u003e@​hackowitz-af\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1367\"\u003epython-jsonschema/jsonschema#1367\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kurtmckee\"\u003e\u003ccode\u003e@​kurtmckee\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1390\"\u003epython-jsonschema/jsonschema#1390\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/python-jsonschema/jsonschema/compare/v4.24.0...v4.24.1\"\u003ehttps://github.com/python-jsonschema/jsonschema/compare/v4.24.0...v4.24.1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-jsonschema/jsonschema/blob/main/CHANGELOG.rst\"\u003ejsonschema's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev4.25.1\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix an incorrect required argument in the \u003ccode\u003eValidator\u003c/code\u003e protocol's type annotations (\u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1396\"\u003e#1396\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev4.25.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for the \u003ccode\u003eiri\u003c/code\u003e and \u003ccode\u003eiri-reference\u003c/code\u003e formats to the \u003ccode\u003eformat-nongpl\u003c/code\u003e extra via the MIT-licensed \u003ccode\u003erfc3987-syntax\u003c/code\u003e.\nThey were alread supported by the \u003ccode\u003eformat\u003c/code\u003e extra. (\u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1388\"\u003e#1388\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev4.24.1\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eProperly escape segments in \u003ccode\u003eValidationError.json_path\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/139\"\u003e#139\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/331c38425519b69118d22ebe467ad230fb83a010\"\u003e\u003ccode\u003e331c384\u003c/code\u003e\u003c/a\u003e Add the fix to the changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/c1ec0a645e913e83de95995f6efbbd358676abf6\"\u003e\u003ccode\u003ec1ec0a6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1398\"\u003e#1398\u003c/a\u003e from python-jsonschema/dependabot/github_actions/ast...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/8e7d594faff13f8f663b306a0d86bea0ce5de6cb\"\u003e\u003ccode\u003e8e7d594\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1399\"\u003e#1399\u003c/a\u003e from python-jsonschema/dependabot/github_actions/act...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/460f4fae42664773160f56ccc843a4fcea34f7cf\"\u003e\u003ccode\u003e460f4fa\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1396\"\u003e#1396\u003c/a\u003e from sirosen/improve-protocol-init-signature\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/1e58409b71a9696b7bf9938ae8a3a48ef95ab29e\"\u003e\u003ccode\u003e1e58409\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] auto fixes from pre-commit.com hooks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/64bc2171624ef201bdbf35e47780348ce30935c5\"\u003e\u003ccode\u003e64bc217\u003c/code\u003e\u003c/a\u003e Add a typing test for the Validator protocol\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/6c25741bff889477680f9b0d1aa967ae35c38f43\"\u003e\u003ccode\u003e6c25741\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/bf603d59117f840916709fc87c6625df43d1fe72\"\u003e\u003ccode\u003ebf603d5\u003c/code\u003e\u003c/a\u003e Bump astral-sh/setup-uv from 6.4.3 to 6.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/a916d8f8253baa11bacc60f0868f0bab1e42d526\"\u003e\u003ccode\u003ea916d8f\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eValidator\u003c/code\u003e protocol init to match runtime\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/de60f18bd97395a52a11b561eb62963e0ffe9e71\"\u003e\u003ccode\u003ede60f18\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1397\"\u003e#1397\u003c/a\u003e from python-jsonschema/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-jsonschema/jsonschema/compare/v4.24.0...v4.25.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyparsing` from 3.2.3 to 3.2.5\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyparsing/pyparsing/blob/master/CHANGES\"\u003epyparsing's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.2.5 - September, 2025\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eJINX! Well, 3.2.4 had a bug for \u003ccode\u003eWord\u003c/code\u003e expressions that include a space\ncharacter, if that expression was then copied, either directly with .copy() or\nby adding a results name, or included in another construct (like \u003ccode\u003eDelimitedList\u003c/code\u003e)\nthat makes a copy internally. Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/618\"\u003e#618\u003c/a\u003e, reported by mstinberg, among others -\nthanks, and sorry for the inconvenience.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.2.5 - September, 2025\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eJINX! Well, 3.2.4 had a bug for \u003ccode\u003eWord\u003c/code\u003e expressions that include a space\ncharacter, if that expression was then copied, either directly with .copy() or\nby adding a results name, or including in another construct (like \u003ccode\u003eDelimitedList\u003c/code\u003e)\nthat makes a copy internally. Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/618\"\u003e#618\u003c/a\u003e, reported by mstinberg, among others -\nthanks, and sorry for the inconvenience.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.2.4 - September, 2025\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eBarring any catastrophic bugs in this release, this will be the last release in\nthe 3.2.x line. The next release, 3.3.0, will begin emitting \u003ccode\u003eDeprecationWarnings\u003c/code\u003e\nwhen the pre-PEP8 methods are used (see header notes above for more information,\nincluding available automation for converting any existing code using\npyparsing with the old names).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed bug when using a copy of a \u003ccode\u003eWord\u003c/code\u003e expression (either by using the explicit\n\u003ccode\u003ecopy()\u003c/code\u003e method, or attaching a results name), and setting a new expression name,\na raised \u003ccode\u003eParseException\u003c/code\u003e still used the original expression name. Also affected\n\u003ccode\u003eRegex\u003c/code\u003e expressions with \u003ccode\u003eas_match\u003c/code\u003e or \u003ccode\u003eas_group_list\u003c/code\u003e = True. Reported by\nWaqas Ilyas, in Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/612\"\u003e#612\u003c/a\u003e - good catch!\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed type annotation for \u003ccode\u003ereplace_with\u003c/code\u003e, to accept \u003ccode\u003eAny\u003c/code\u003e type. Fixes Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/602\"\u003e#602\u003c/a\u003e,\nreported by esquonk.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded locking around potential race condition in \u003ccode\u003eParserElement.reset_cache\u003c/code\u003e, as\nwell as other cache-related methods. Fixes Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/604\"\u003e#604\u003c/a\u003e, reported by CarlosDescalziIM.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSubstantial update to docstrings and doc generation in preparation for 3.3.0,\ngreat effort by FeRD, thanks!\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNotable addition by FeRD to convert docstring examples to work with doctest! This\nwas long overdue, thanks so much!\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/dbbd53ad1cd0ab31ae2a8fee5a64a718788b63fb\"\u003e\u003ccode\u003edbbd53a\u003c/code\u003e\u003c/a\u003e More unit tests and some comments for traceability to Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/618\"\u003e#618\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/f5bdb2deff92859e068937f2ae502136b38ad16f\"\u003e\u003ccode\u003ef5bdb2d\u003c/code\u003e\u003c/a\u003e Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/618\"\u003e#618\u003c/a\u003e - fix reference to re_match attribute in copy of Word object to fi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/8c61893d362b21d66fa3646c073295235ef166fd\"\u003e\u003ccode\u003e8c61893\u003c/code\u003e\u003c/a\u003e Prep for 3.2.5 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/57923cd6a651d81c72b4e60b2baa02fbedf217ba\"\u003e\u003ccode\u003e57923cd\u003c/code\u003e\u003c/a\u003e Enable matplotlib unit tests for Python 3.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/fad1505f8ab91cc897f3067868e500257130e1a4\"\u003e\u003ccode\u003efad1505\u003c/code\u003e\u003c/a\u003e Update CHANGES file with thanks to FeRD for making the docstring examples doc...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/6622151cb440e85de9880ca6b7f3652e0962e315\"\u003e\u003ccode\u003e6622151\u003c/code\u003e\u003c/a\u003e Update tox.ini to add doctest testing for all Python versions 3.10 and later\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/e6ed66bdcd6da3ef63f4396565d860467efb5252\"\u003e\u003ccode\u003ee6ed66b\u003c/code\u003e\u003c/a\u003e Change doctest for LineStart to reflect latest implementation of \u0026quot;is this tok...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/23092da6569c97f30605ff2fe818fc15b3d12567\"\u003e\u003ccode\u003e23092da\u003c/code\u003e\u003c/a\u003e Doctests for pyparsing.exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/0bae3cdcc9274dbbcde5daabba739d3b1ddb49fc\"\u003e\u003ccode\u003e0bae3cd\u003c/code\u003e\u003c/a\u003e Doctests for pyparsing.common\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/98ec165d1a66247dbeffcf692643765648fb230f\"\u003e\u003ccode\u003e98ec165\u003c/code\u003e\u003c/a\u003e Docs: Add doctest-wrtiting documentation\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyparsing/pyparsing/compare/3.2.3...3.2.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `regex` from 2024.11.6 to 2025.9.18\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mrabarnett/mrab-regex/blob/hg/changelog.txt\"\u003eregex's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eVersion: 2025.9.20\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eEnable free-threading support in cibuildwheel in another place.\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.9.19\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eEnable free-threading support in cibuildwheel.\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.9.18\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eGit issue 565: Support the free-threaded build of CPython 3.13\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.9.1\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eGit PR 585: Fix AttributeError: 'AnyAll' object has no attribute '_key'\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.8.29\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eGit issue 584: AttributeError: 'AnyAll' object has no attribute 'positive'\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.7.34\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eGit issue 575: Issues with ASCII/Unicode modifiers\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.7.33\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eUpdated main.yml and pyproject.toml.\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.7.32\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eGit issue 580: Regression in v2025.7.31: \\P{L} no longer matches in simple patterns\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.7.31\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eFurther updates to main.yml.\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.7.30\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eUpdated main.yml and pyproject.toml.\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.7.29\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eGit issue 572: Inline ASCII modifier doesn't seem to affect anything\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.5.19\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eChanged how main.yml skips unwanted Arch builds.\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.5.18\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/mrabarnett/mrab-regex/commit/db5c9c636e68a44e27d623e11af1c08229ec4963\"\u003e\u003ccode\u003edb5c9c6\u003c/code\u003e\u003c/a\u003e Git issue 565: Support the free-threaded build of CPython 3.13\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/49e3881e9fceb225b0f82d43f1ef09688ec30da3\"\u003e\u003ccode\u003e49e3881\u003c/code\u003e\u003c/a\u003e Git PR 585: Fix AttributeError: 'AnyAll' object has no attribute '_key'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/183a653894f56ad9bc6ca767b795c0439518e2c1\"\u003e\u003ccode\u003e183a653\u003c/code\u003e\u003c/a\u003e Git issue 584: AttributeError: 'AnyAll' object has no attribute 'positive'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/23ca191dd8d259a42bc3dcae092e4eafce48652d\"\u003e\u003ccode\u003e23ca191\u003c/code\u003e\u003c/a\u003e Git issue 575: Issues with ASCII/Unicode modifiers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/88fee8529b5d41846bfdc144f46d2510c547d169\"\u003e\u003ccode\u003e88fee85\u003c/code\u003e\u003c/a\u003e Updated main.yml and pyproject.toml.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/7ebda8c03230f31e28666790a96c40a650fd1b94\"\u003e\u003ccode\u003e7ebda8c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mrabarnett/mrab-regex/issues/582\"\u003e#582\u003c/a\u003e from facelessuser/bugfix/setuptools\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/26d6efc9bf050190d32c1e8b972acc600d4f2edf\"\u003e\u003ccode\u003e26d6efc\u003c/code\u003e\u003c/a\u003e Setup failure scenario\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/a4a6d9443b11beb42d3440df91c76644ce45615c\"\u003e\u003ccode\u003ea4a6d94\u003c/code\u003e\u003c/a\u003e Git issue 580: Regression in v2025.7.31: \\P{L} no longer matches in simple pa...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/becb0d456d90541fa1266e19999b8005b401fb89\"\u003e\u003ccode\u003ebecb0d4\u003c/code\u003e\u003c/a\u003e Updated version and added changes to changelog.txt.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/457bcd38a53fcc695d7f219ff19607f39a7e08e7\"\u003e\u003ccode\u003e457bcd3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mrabarnett/mrab-regex/issues/577\"\u003e#577\u003c/a\u003e from facelessuser/bugfix/linux\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mrabarnett/mrab-regex/compare/2024.11.6...2025.9.18\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `typing-extensions` from 4.14.0 to 4.15.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/typing_extensions/releases\"\u003etyping-extensions's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.15.0\u003c/h2\u003e\n\u003cp\u003eNo user-facing changes since 4.15.0rc1.\u003c/p\u003e\n\u003cp\u003eNew features since 4.14.1:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd the \u003ccode\u003e@typing_extensions.disjoint_base\u003c/code\u003e decorator, as specified\nin PEP 800. Patch by Jelle Zijlstra.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etyping_extensions.type_repr\u003c/code\u003e, a backport of\n\u003ca href=\"https://docs.python.org/3.14/library/annotationlib.html#annotationlib.type_repr\"\u003e\u003ccode\u003eannotationlib.type_repr\u003c/code\u003e\u003c/a\u003e,\nintroduced in Python 3.14 (CPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/124551\"\u003e#124551\u003c/a\u003e,\noriginally by Jelle Zijlstra). Patch by Semyon Moroz.\u003c/li\u003e\n\u003cli\u003eFix behavior of type params in \u003ccode\u003etyping_extensions.evaluate_forward_ref\u003c/code\u003e. Backport of\nCPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/137227\"\u003e#137227\u003c/a\u003e by Jelle Zijlstra.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.15.0rc1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd the \u003ccode\u003e@typing_extensions.disjoint_base\u003c/code\u003e decorator, as specified\nin PEP 800. Patch by Jelle Zijlstra.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etyping_extensions.type_repr\u003c/code\u003e, a backport of\n\u003ca href=\"https://docs.python.org/3.14/library/annotationlib.html#annotationlib.type_repr\"\u003e\u003ccode\u003eannotationlib.type_repr\u003c/code\u003e\u003c/a\u003e,\nintroduced in Python 3.14 (CPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/124551\"\u003e#124551\u003c/a\u003e,\noriginally by Jelle Zijlstra). Patch by Semyon Moroz.\u003c/li\u003e\n\u003cli\u003eFix behavior of type params in \u003ccode\u003etyping_extensions.evaluate_forward_ref\u003c/code\u003e. Backport of\nCPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/137227\"\u003e#137227\u003c/a\u003e by Jelle Zijlstra.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.14.1\u003c/h2\u003e\n\u003ch1\u003eRelease 4.14.1 (July 4, 2025)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix usage of \u003ccode\u003etyping_extensions.TypedDict\u003c/code\u003e nested inside other types\n(e.g., \u003ccode\u003etyping.Type[typing_extensions.TypedDict]\u003c/code\u003e). This is not allowed by the\ntype system but worked on older versions, so we maintain 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/python/typing_extensions/blob/main/CHANGELOG.md\"\u003etyping-extensions's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eRelease 4.15.0 (August 25, 2025)\u003c/h1\u003e\n\u003cp\u003eNo user-facing changes since 4.15.0rc1.\u003c/p\u003e\n\u003ch1\u003eRelease 4.15.0rc1 (August 18, 2025)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd the \u003ccode\u003e@typing_extensions.disjoint_base\u003c/code\u003e decorator, as specified\nin PEP 800. Patch by Jelle Zijlstra.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etyping_extensions.type_repr\u003c/code\u003e, a backport of\n\u003ca href=\"https://docs.python.org/3.14/library/annotationlib.html#annotationlib.type_repr\"\u003e\u003ccode\u003eannotationlib.type_repr\u003c/code\u003e\u003c/a\u003e,\nintroduced in Python 3.14 (CPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/124551\"\u003e#124551\u003c/a\u003e,\noriginally by Jelle Zijlstra). Patch by Semyon Moroz.\u003c/li\u003e\n\u003cli\u003eFix behavior of type params in \u003ccode\u003etyping_extensions.evaluate_forward_ref\u003c/code\u003e. Backport of\nCPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/137227\"\u003e#137227\u003c/a\u003e by Jelle Zijlstra.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eRelease 4.14.1 (July 4, 2025)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix usage of \u003ccode\u003etyping_extensions.TypedDict\u003c/code\u003e nested inside other types\n(e.g., \u003ccode\u003etyping.Type[typing_extensions.TypedDict]\u003c/code\u003e). This is not allowed by the\ntype system but worked on older versions, so we maintain 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/python/typing_extensions/commit/9d1637e264b5c1a6b7acee3e907015f89b20c2c9\"\u003e\u003ccode\u003e9d1637e\u003c/code\u003e\u003c/a\u003e Prepare release 4.15.0 (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/658\"\u003e#658\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/4bd67c5be5d9443c7d33c314d02a56ee125eb88d\"\u003e\u003ccode\u003e4bd67c5\u003c/code\u003e\u003c/a\u003e Coverage: exclude some noise (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/656\"\u003e#656\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/e589a26da73b075c5276bae40b86db1af0144f84\"\u003e\u003ccode\u003ee589a26\u003c/code\u003e\u003c/a\u003e Coverage: add detailed report to job summary (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/655\"\u003e#655\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/67d37fed1298e050f74d5acc95b2621bd37837ad\"\u003e\u003ccode\u003e67d37fe\u003c/code\u003e\u003c/a\u003e Coverage: Implement fail_under (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/654\"\u003e#654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/e9ae26f5286edee9262727755ecb9ad16e999192\"\u003e\u003ccode\u003ee9ae26f\u003c/code\u003e\u003c/a\u003e Don't delete previous coverage comment (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/653\"\u003e#653\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/ac80bb728a3006fc88ef7373b92f0c25cfcc7895\"\u003e\u003ccode\u003eac80bb7\u003c/code\u003e\u003c/a\u003e Add Coverage workflow (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/623\"\u003e#623\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/abaaafd98c1cc7e5baf098ec287a3d22cb339670\"\u003e\u003ccode\u003eabaaafd\u003c/code\u003e\u003c/a\u003e Prepare release 4.15.0rc1 (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/650\"\u003e#650\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/98104053ea8d49bcdd247804e5fa9f73136acbd4\"\u003e\u003ccode\u003e9810405\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003e@disjoint_base\u003c/code\u003e (PEP 800) (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/634\"\u003e#634\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/7ee9e05fd484d06899ce56e80f5e1aa4c760fc03\"\u003e\u003ccode\u003e7ee9e05\u003c/code\u003e\u003c/a\u003e Backport type_params fix from CPython (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/646\"\u003e#646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/1e8eb9c06ef51b3a1e1f05303a16feca13f5ed98\"\u003e\u003ccode\u003e1e8eb9c\u003c/code\u003e\u003c/a\u003e Do not refer to PEP 705 as being experimental (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/648\"\u003e#648\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python/typing_extensions/compare/4.14.0...4.15.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cheroot` from 10.0.1 to 11.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/cherrypy/cheroot/releases\"\u003echeroot's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev11.0.0\u003c/h2\u003e\n\u003ch2\u003e📝 Release notes\u003c/h2\u003e\n\u003cp\u003e📦 PyPI page: \u003ca href=\"https://pypi.org/project/cheroot/11.0.0\"\u003ehttps://pypi.org/project/cheroot/11.0.0\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e🌱 v11.0.0 is marked as a stable release.\u003c/p\u003e\n\u003cp\u003e🔗 This release has been produced by  the following workflow run: \u003ca href=\"https://github.com/cherrypy/cheroot/actions/runs/17894178348\"\u003ehttps://github.com/cherrypy/cheroot/actions/runs/17894178348\u003c/a\u003e\u003c/p\u003e\n\u003ch1\u003ev11.0.0\u003c/h1\u003e\n\u003cp\u003e\u003cem\u003e(2025-09-21)\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eWhen load is too high, Cheroot now responds with a 503 Service\nUnavailable HTTP error. Previously it silently closed the connection.\u003c/p\u003e\n\u003cp\u003e-- by \u003ca href=\"https://github.com/itamarst\"\u003e\u003ccode\u003e@​itamarst\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRelated issues and pull requests on GitHub:\u003c/em\u003e \u003ca href=\"https://redirect.github.com/cherrypy/cheroot/issues/745\"\u003e#745\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRemovals and backward incompatible breaking changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eCheroot dropped support for Python 3.6 and 3.7. It now requires Python\n3.8 or later.\u003c/p\u003e\n\u003cp\u003e-- by \u003ca href=\"https://github.com/jaraco\"\u003e\u003ccode\u003e@​jaraco\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRelated issues and pull requests on GitHub:\u003c/em\u003e \u003ca href=\"https://redirect.github.com/cherrypy/cheroot/issues/565\"\u003e#565\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/cherrypy/cheroot/issues/633\"\u003e#633\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRelated commits on GitHub:\u003c/em\u003e\n\u003ca href=\"https://github.com/cherrypy/cheroot/commit/437863ee\"\u003ehttps://github.com/cherrypy/cheroot/commit/437863ee\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePackaging updates and notes for downstreams\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eDeclared Python 3.12 and Python 3.13 as supported officially -- by\n\u003ca href=\"https://github.com/webknjaz\"\u003e\u003ccode\u003e@​webknjaz\u003c/code\u003e\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRelated issues and pull requests on GitHub:\u003c/em\u003e \u003ca href=\"https://redirect.github.com/cherrypy/cheroot/issues/696\"\u003e#696\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRelated commits on GitHub:\u003c/em\u003e\n\u003ca href=\"https://github.com/cherrypy/cheroot/commit/5db4f634\"\u003ehttps://github.com/cherrypy/cheroot/commit/5db4f634\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe minimum version of the \u003ccode\u003esetuptools-scm\u003c/code\u003e build dependency has been\nset to 7. The Git archives are now produced by it natively, instead of\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/cherrypy/cheroot/blob/main/CHANGES.rst\"\u003echeroot's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev11.0.0\u003c/h1\u003e\n\u003cp\u003e\u003cem\u003e(2025-09-21)\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eWhen load is too high, Cheroot now responds with a 503 Service Unavailable HTTP error.\nPreviously it silently closed the connection.\u003c/p\u003e\n\u003cp\u003e-- by :user:\u003ccode\u003eitamarst\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRelated issues and pull requests on GitHub:\u003c/em\u003e\n:issue:\u003ccode\u003e745\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRemovals and backward incompatible breaking changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eCheroot dropped support for Python 3.6 and 3.7.\nIt now requires Python 3.8 or later.\u003c/p\u003e\n\u003cp\u003e-- by :user:\u003ccode\u003ejaraco\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRelated issues and pull requests on GitHub:\u003c/em\u003e\n:issue:\u003ccode\u003e565\u003c/code\u003e, :issue:\u003ccode\u003e633\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRelated commits on GitHub:\u003c/em\u003e\n:commit:\u003ccode\u003e437863ee\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePackaging updates and notes for downstreams\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eDeclared Python 3.12 and Python 3.13 as supported officially\n-- by :user:\u003ccode\u003ewebknjaz\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRelated issues and pull requests on GitHub:\u003c/em\u003e\n:issue:\u003ccode\u003e696\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRelated commits on GitHub:\u003c/em\u003e\n:commit:\u003ccode\u003e5db4f634\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe minimum version of the \u003ccode\u003esetuptools-scm\u003c/code\u003e build dependency\nhas been set to 7. The Git archives are now produced by it\nnatively, instead of relying on a third party plugin which is\nno longer being used.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cherrypy/cheroot/commit/50b1f1d72c90be6fad4c2a53cf57be6ad98d03cc\"\u003e\u003ccode\u003e50b1f1d\u003c/code\u003e\u003c/a\u003e Generate a change log entry for v11.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cherrypy/cheroot/commit/4e9b36b99f0ac96d1a99c11817587b2a09166432\"\u003e\u003ccode\u003e4e9b36b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/cherrypy/cheroot/issues/759\"\u003e#759\u003c/a\u003e from cherrypy/maintenance/pip-tools-constraint-lockfiles\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cherrypy/cheroot/commit/b4a28ae4b7ac41047f294a19a01b77a6f874841b\"\u003e\u003ccode\u003eb4a28ae\u003c/code\u003e\u003c/a\u003e Update tox-pypy311-pp311-win32-amd64 constraints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cherrypy/cheroot/commit/a9fd2ba845417bd0a42288dd3695f296a7dcf14f\"\u003e\u003ccode\u003ea9fd2ba\u003c/code\u003e\u003c/a\u003e Update tox-pypy311-pp311-linux-x86_64 constraints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cherrypy/cheroot/commit/27a91155b671f56e47e199f794420982ebc9475a\"\u003e\u003ccode\u003e27a9115\u003c/code\u003e\u003c/a\u003e Update tox-pypy311-pp311-linux-aarch64 constraints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cherrypy/cheroot/commit/5fdcdd67817aed949827727376a31f9b2f533106\"\u003e\u003ccode\u003e5fdcdd6\u003c/code\u003e\u003c/a\u003e Update tox-pypy311-pp311-darwin-x86_64 constraints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cherrypy/cheroot/commit/c1cbafca5bf4490b70a50a80d4b5325d0accbb8c\"\u003e\u003ccode\u003ec1cbafc\u003c/code\u003e\u003c/a\u003e Update tox-pypy311-pp311-darwin-arm64 constraints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cherrypy/cheroot/commit/93faa537f8631133f44bd278c69bc817223c7a0a\"\u003e\u003ccode\u003e93faa53\u003c/code\u003e\u003c/a\u003e Update tox-py39-cp39-win32-amd64 constraints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cherrypy/cheroot/commit/36482bb6930628f5598afb2e0aa9fc1717dae6eb\"\u003e\u003ccode\u003e36482bb\u003c/code\u003e\u003c/a\u003e Update tox-py39-cp39-linux-x86_64 constraints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cherrypy/cheroot/commit/a1b2a20ccc095ff0c925b8581985c4f5d915287e\"\u003e\u003ccode\u003ea1b2a20\u003c/code\u003e\u003c/a\u003e Update tox-py39-cp39-linux-aarch64 constraints\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/cherrypy/cheroot/compare/v10.0.1...v11.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `holidays` from 0.75 to 0.82\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vacanza/holidays/releases\"\u003eholidays's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.82\u003c/h2\u003e\n\u003ch1\u003eVersion 0.82\u003c/h1\u003e\n\u003cp\u003eReleased October 6, 2025\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd variable weekend support (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2945\"\u003e#2945\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor Chile holidays: reduce l10n string duplication (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2934\"\u003e#2934\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor Cuba holidays: reduce l10n string duplication (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2935\"\u003e#2935\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor Eastern holidays groups (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2966\"\u003e#2966\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor Hungary holidays: reduce l10n string duplication (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2936\"\u003e#2936\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor Japan holidays: reduce l10n string duplication, \u003ccode\u003een_US\u003c/code\u003e typo fixed (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2937\"\u003e#2937\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor Portugal holidays: consolidate holidays code (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2943\"\u003e#2943\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor South Africa holidays: move \u003ccode\u003estart_year\u003c/code\u003e to 1911, capitalization fixes (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2942\"\u003e#2942\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor \u003ccode\u003etest_utils.py\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2970\"\u003e#2970\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor iCal exporter (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2977\"\u003e#2977\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor imports in certain countries: use \u003ccode\u003eTYPE_CHECKING\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2949\"\u003e#2949\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Antarctica holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2962\"\u003e#2962\u003c/a\u003e by \u003ca href=\"https://github.com/Aaqilyousuf\"\u003e\u003ccode\u003e@​Aaqilyousuf\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Myanmar holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2944\"\u003e#2944\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd North Korea holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2911\"\u003e#2911\u003c/a\u003e by \u003ca href=\"https://github.com/Wasif-Shahzad\"\u003e\u003ccode\u003e@​Wasif-Shahzad\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Spain holidays: add Catalan (\u003ccode\u003eca\u003c/code\u003e) localization (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2960\"\u003e#2960\u003c/a\u003e by \u003ca href=\"https://github.com/Oriol-Romani-BA\"\u003e\u003ccode\u003e@​Oriol-Romani-BA\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix working day test (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2950\"\u003e#2950\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Afghanistan holidays: 2025 exact Islamic holidays observances (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2932\"\u003e#2932\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Algeria holidays: add \u003ccode\u003eCHRISTIAN\u003c/code\u003e, \u003ccode\u003eHEBREW\u003c/code\u003e supported categories (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2928\"\u003e#2928\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Brazil holidays: Republic Constitution Day typo fixed (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2933\"\u003e#2933\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Djibouti holidays: change holiday groups MRO (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2931\"\u003e#2931\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate India holidays: add Ugadi holiday for AP, KA, TS subdivisions (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2953\"\u003e#2953\u003c/a\u003e by \u003ca href=\"https://github.com/Aaqilyousuf\"\u003e\u003ccode\u003e@​Aaqilyousuf\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Myanmar holidays: add \u003ccode\u003eth\u003c/code\u003e l10n support (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2959\"\u003e#2959\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Norway holidays: update subdivision list as per 2024 administrative reform (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2952\"\u003e#2952\u003c/a\u003e by \u003ca href=\"https://github.com/Exerqtor\"\u003e\u003ccode\u003e@​Exerqtor\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Paraguay holidays: typo fixed, 2023-2025 government holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2938\"\u003e#2938\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Serbia holidays: set 2007 as \u003ccode\u003estart_year\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2939\"\u003e#2939\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Sri Lanka holidays: testcase name typo fixed (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2940\"\u003e#2940\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Switzerland holidays: standardize code comment (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2941\"\u003e#2941\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Taiwan holidays: add support for 1998-2000 special weekend pattern (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2948\"\u003e#2948\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Thailand holidays: add support for historical weekend patterns (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2951\"\u003e#2951\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate the United States holidays: add Father's Day and Mother's Day for \u003ccode\u003eUNOFFICIAL\u003c/code\u003e category (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2975\"\u003e#2975\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd no holiday countries (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2969\"\u003e#2969\u003c/a\u003e by \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003elru_cache\u003c/code\u003e with \u003ccode\u003ecache\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2964\"\u003e#2964\u003c/a\u003e by \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eNew Contributors\u003c/strong\u003e:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Aaqilyousuf\"\u003e\u003ccode\u003e@​Aaqilyousuf\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/vacanza/holidays/pull/2953\"\u003evacanza/holidays#2953\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/AryaPhansalkar\"\u003e\u003ccode\u003e@​AryaPhansalkar\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/vacanza/holidays/pull/2971\"\u003evacanza/holidays#2971\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Exerqtor\"\u003e\u003ccode\u003e@​Exerqtor\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/vacanza/holidays/pull/2952\"\u003evacanza/holidays#2952\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Oriol-Romani-BA\"\u003e\u003ccode\u003e@​Oriol-Romani-BA\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/vacanza/holidays/pull/2960\"\u003evacanza/holidays#2960\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/vacanza/holidays/compare/v0.81...v0.82\"\u003ehttps://github.com/vacanza/holidays/compare/v0.81...v0.82\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.81\u003c/h2\u003e\n\u003ch1\u003eVersion 0.81\u003c/h1\u003e\n\u003cp\u003eReleased September 15, 2025\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/vacanza/holidays/blob/dev/CHANGES.md\"\u003eholidays's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eVersion 0.82\u003c/h1\u003e\n\u003cp\u003eReleased October 6, 2025\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd variable weekend support (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2945\"\u003e#2945\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor Chile holidays: reduce l10n string duplication (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2934\"\u003e#2934\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor Cuba holidays: reduce l10n string duplication (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2935\"\u003e#2935\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor Eastern holidays groups (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2966\"\u003e#2966\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor Hungary holidays: reduce l10n string duplication (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2936\"\u003e#2936\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor Japan holidays: reduce l10n string duplication, \u003ccode\u003een_US\u003c/code\u003e typo fixed (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2937\"\u003e#2937\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor Portugal holidays: consolidate holidays code (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2943\"\u003e#2943\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor South Africa holidays: move \u003ccode\u003estart_year\u003c/code\u003e to 1911, capitalization fixes (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2942\"\u003e#2942\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor \u003ccode\u003etest_utils.py\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2970\"\u003e#2970\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor iCal exporter (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2977\"\u003e#2977\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor imports in certain countries: use \u003ccode\u003eTYPE_CHECKING\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2949\"\u003e#2949\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Antarctica holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2962\"\u003e#2962\u003c/a\u003e by \u003ca href=\"https://github.com/Aaqilyousuf\"\u003e\u003ccode\u003e@​Aaqilyousuf\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Myanmar holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2944\"\u003e#2944\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd North Korea holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2911\"\u003e#2911\u003c/a\u003e by \u003ca href=\"https://github.com/Wasif-Shahzad\"\u003e\u003ccode\u003e@​Wasif-Shahzad\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Spain holidays: add Catalan (\u003ccode\u003eca\u003c/code\u003e) localization (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2960\"\u003e#2960\u003c/a\u003e by \u003ca href=\"https://github.com/Oriol-Romani-BA\"\u003e\u003ccode\u003e@​Oriol-Romani-BA\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix working day test (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2950\"\u003e#2950\u003c/a\u003e by \u003ca href=\"https://github.com/K...\n\n_Description has been truncated_","html_url":"https://github.com/lplinkl00/xbrl-hivedome/pull/14","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/lplinkl00%2Fxbrl-hivedome/issues/14","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/14/packages"},{"uuid":"3475562201","node_id":"PR_kwDOP6pP0c6rqhg5","number":4,"state":"open","title":"chore(deps): bump the all-dependencies group in /python/agents/data-science with 9 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-10-02T00:12:21.000Z","updated_at":"2025-10-06T02:41:52.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"all-dependencies","update_count":9,"packages":[{"name":"google-adk","old_version":"1.7.0","new_version":"1.15.1","repository_url":"https://github.com/google/adk-python"},{"name":"sqlglot","old_version":"27.0.0","new_version":"27.20.0","repository_url":"https://github.com/tobymao/sqlglot"},{"name":"regex","old_version":"2024.11.6","new_version":"2025.9.18","repository_url":"https://github.com/mrabarnett/mrab-regex"},{"name":"pydantic","old_version":"2.11.7","new_version":"2.11.9","repository_url":"https://github.com/pydantic/pydantic"},{"name":"pandas","old_version":"2.3.1","new_version":"2.3.3","repository_url":"https://github.com/pandas-dev/pandas"},{"name":"numpy","old_version":"2.3.1","new_version":"2.3.3","repository_url":"https://github.com/numpy/numpy"},{"name":"pg8000","old_version":"1.31.4","new_version":"1.31.5","repository_url":"https://github.com/tlocke/pg8000"},{"name":"pytest","old_version":"8.4.1","new_version":"8.4.2","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"pytest-asyncio","old_version":"1.1.0","new_version":"1.2.0","repository_url":"https://github.com/pytest-dev/pytest-asyncio"}],"path":"/python/agents/data-science","ecosystem":"pip"},"body":"Bumps the all-dependencies group in /python/agents/data-science with 9 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [google-adk](https://github.com/google/adk-python) | `1.7.0` | `1.15.1` |\n| [sqlglot](https://github.com/tobymao/sqlglot) | `27.0.0` | `27.20.0` |\n| [regex](https://github.com/mrabarnett/mrab-regex) | `2024.11.6` | `2025.9.18` |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.11.7` | `2.11.9` |\n| [pandas](https://github.com/pandas-dev/pandas) | `2.3.1` | `2.3.3` |\n| [numpy](https://github.com/numpy/numpy) | `2.3.1` | `2.3.3` |\n| [pg8000](https://github.com/tlocke/pg8000) | `1.31.4` | `1.31.5` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.4.1` | `8.4.2` |\n| [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) | `1.1.0` | `1.2.0` |\n\nUpdates `google-adk` from 1.7.0 to 1.15.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/adk-python/releases\"\u003egoogle-adk's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 1.15.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.15.0...v1.15.1\"\u003e1.15.1\u003c/a\u003e (2025-09-26)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix the deployment failure for Agent Engine (\u003ca href=\"https://github.com/google/adk-python/commit/e172811bc7173b9004572f2a2afc7024145d7713\"\u003ee172811\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 1.15.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.14.1...v1.15.0\"\u003e1.15.0\u003c/a\u003e (2025-09-24)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[Core]\n\u003cul\u003e\n\u003cli\u003eAdding the ContextFilterPlugin (\u003ca href=\"https://github.com/google/adk-python/commit/a06bf278cbc89f521c187ed51b032d82ffdafe2d\"\u003ea06bf27\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdds plugin to save artifacts for issue \u003ca href=\"https://redirect.github.com/google/adk-python/issues/2176\"\u003e#2176\u003c/a\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/657369cffe142ef3745cd5950d0d24a49f42f7fd\"\u003e657369c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpose log probs of candidates in LlmResponse (\u003ca href=\"https://github.com/google/adk-python/commit/f7bd3c111c211e880d7c1954dd4508b952704c68\"\u003ef7bd3c1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e[Context Caching]\n\u003cul\u003e\n\u003cli\u003eSupport context caching (\u003ca href=\"https://github.com/google/adk-python/commit/c66245a3b80192c16cb67ee3194f82c9a7c901e5\"\u003ec66245a\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSupport explicit context caching auto creation and lifecycle management.\u003c/p\u003e\n\u003cp\u003eUsage: \u003ccode\u003eApp(root_agent=..., plugins=..., context_cache_config=...)\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eSupport non-text content in static instruction (\u003ca href=\"https://github.com/google/adk-python/commit/61213ce4d4c10f7ecaf6ddb521672059cee27942\"\u003e61213ce\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport static instructions (\u003ca href=\"https://github.com/google/adk-python/commit/9be9cc2feee92241fd2fbf9dea3a42de5a78e9ce\"\u003e9be9cc2\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSupport static instruction that won't change, put at the beginning of\nthe instruction.\nStatic instruction support inline_data and file_data as contents.\nDynamic instruction moved to the end of LlmRequest, increasing prefix\ncaching matching size.\u003c/p\u003e\n\u003cp\u003eUsage:\n\u003ccode\u003eLlmAgent(model=...,static_instruction =types.Content(parts=...), ... )\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e[Telemetry]\n\u003cul\u003e\n\u003cli\u003eAdd --otel_to_cloud experimental support (\u003ca href=\"https://github.com/google/adk-python/commit/1ae0b82f5602a57ad1ca975ca0b7c85003d1a28a\"\u003e1ae0b82\u003c/a\u003e, \u003ca href=\"https://github.com/google/adk-python/commit/b1312680f4ea9f21c3246a1d24392619643d71f5\"\u003eb131268\u003c/a\u003e, \u003ca href=\"https://github.com/google/adk-python/commit/7870480c63bb4fc08cfb3cabc0e1f0458f0e85bd\"\u003e7870480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd GenAI Instrumentation if --otel_to_cloud is enabled (\u003ca href=\"https://github.com/google/adk-python/commit/cee365a13d0d1b1f2be046c1cc29e24a8d1fdbcc\"\u003ecee365a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport standard OTel env variables for exporter endpoints (\u003ca href=\"https://github.com/google/adk-python/commit/f157b2ee4caf4055e78f4657254e45913895f5de\"\u003ef157b2e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTemporarily disable Cloud Monitoring integration in --otel_to_cloud (\u003ca href=\"https://github.com/google/adk-python/commit/3b80337faf427460e4743e25dbb92578f823513f\"\u003e3b80337\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e[Services]\n\u003cul\u003e\n\u003cli\u003eAdd endpoint to generate memory from session (\u003ca href=\"https://github.com/google/adk-python/commit/25958242db890b4d2aac8612f7f7cfbb561727fa\"\u003e2595824\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e[Tools]\n\u003cul\u003e\n\u003cli\u003eAdd Google Maps Grounding Tool to ADK (\u003ca href=\"https://github.com/google/adk-python/commit/6b493915469ecb42068e24818ab547b0856e4709\"\u003e6b49391\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eMCP:\u003c/strong\u003e Initialize tool_name_prefix in MCPToolse (\u003ca href=\"https://github.com/google/adk-python/commit/86dea5b53ac305367283b7e353b60d0f4515be3b\"\u003e86dea5b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e[Evals]\n\u003cul\u003e\n\u003cli\u003eData model for storing App Details and data model for steps (\u003ca href=\"https://github.com/google/adk-python/commit/01923a9227895906ca8ae32712d65b178e2cd7d5\"\u003e01923a9\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdds Rubric based final response evaluator (\u003ca href=\"https://github.com/google/adk-python/commit/5a485b01cd64cb49735e13ebd5e7fa3da02cd85f\"\u003e5a485b0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePopulate AppDetails to each Invocation (\u003ca href=\"https://github.com/google/adk-python/commit/d48679582de91050ca9c5106402319be9a8ae7e8\"\u003ed486795\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e[Samples]\n\u003cul\u003e\n\u003cli\u003eMake the bigquery sample agent run with ADC out-of-the-box (\u003ca href=\"https://github.com/google/adk-python/commit/10cf37749417856e394e62896231e41b13420f18\"\u003e10cf377\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\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/google/adk-python/blob/main/CHANGELOG.md\"\u003egoogle-adk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.15.0...v1.15.1\"\u003e1.15.1\u003c/a\u003e (2025-09-26)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix the deployment failure for Agent Engine (\u003ca href=\"https://github.com/google/adk-python/commit/e172811bc7173b9004572f2a2afc7024145d7713\"\u003ee172811\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.14.1...v1.15.0\"\u003e1.15.0\u003c/a\u003e (2025-09-24)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[Core]\n\u003cul\u003e\n\u003cli\u003eAdding the ContextFilterPlugin (\u003ca href=\"https://github.com/google/adk-python/commit/a06bf278cbc89f521c187ed51b032d82ffdafe2d\"\u003ea06bf27\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdds plugin to save artifacts for issue \u003ca href=\"https://redirect.github.com/google/adk-python/issues/2176\"\u003e#2176\u003c/a\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/657369cffe142ef3745cd5950d0d24a49f42f7fd\"\u003e657369c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpose log probs of candidates in LlmResponse (\u003ca href=\"https://github.com/google/adk-python/commit/f7bd3c111c211e880d7c1954dd4508b952704c68\"\u003ef7bd3c1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e[Context Caching]\n\u003cul\u003e\n\u003cli\u003eSupport context caching (\u003ca href=\"https://github.com/google/adk-python/commit/c66245a3b80192c16cb67ee3194f82c9a7c901e5\"\u003ec66245a\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSupport explicit context caching auto creation and lifecycle management.\u003c/p\u003e\n\u003cp\u003eUsage: \u003ccode\u003eApp(root_agent=..., plugins=..., context_cache_config=...)\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eSupport non-text content in static instruction (\u003ca href=\"https://github.com/google/adk-python/commit/61213ce4d4c10f7ecaf6ddb521672059cee27942\"\u003e61213ce\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport static instructions (\u003ca href=\"https://github.com/google/adk-python/commit/9be9cc2feee92241fd2fbf9dea3a42de5a78e9ce\"\u003e9be9cc2\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSupport static instruction that won't change, put at the beginning of\nthe instruction.\nStatic instruction support inline_data and file_data as contents.\nDynamic instruction moved to the end of LlmRequest, increasing prefix\ncaching matching size.\u003c/p\u003e\n\u003cp\u003eUsage:\n\u003ccode\u003eLlmAgent(model=...,static_instruction =types.Content(parts=...), ... )\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e[Telemetry]\n\u003cul\u003e\n\u003cli\u003eAdd --otel_to_cloud experimental support (\u003ca href=\"https://github.com/google/adk-python/commit/1ae0b82f5602a57ad1ca975ca0b7c85003d1a28a\"\u003e1ae0b82\u003c/a\u003e, \u003ca href=\"https://github.com/google/adk-python/commit/b1312680f4ea9f21c3246a1d24392619643d71f5\"\u003eb131268\u003c/a\u003e, \u003ca href=\"https://github.com/google/adk-python/commit/7870480c63bb4fc08cfb3cabc0e1f0458f0e85bd\"\u003e7870480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd GenAI Instrumentation if --otel_to_cloud is enabled (\u003ca href=\"https://github.com/google/adk-python/commit/cee365a13d0d1b1f2be046c1cc29e24a8d1fdbcc\"\u003ecee365a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport standard OTel env variables for exporter endpoints (\u003ca href=\"https://github.com/google/adk-python/commit/f157b2ee4caf4055e78f4657254e45913895f5de\"\u003ef157b2e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTemporarily disable Cloud Monitoring integration in --otel_to_cloud (\u003ca href=\"https://github.com/google/adk-python/commit/3b80337faf427460e4743e25dbb92578f823513f\"\u003e3b80337\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e[Services]\n\u003cul\u003e\n\u003cli\u003eAdd endpoint to generate memory from session (\u003ca href=\"https://github.com/google/adk-python/commit/25958242db890b4d2aac8612f7f7cfbb561727fa\"\u003e2595824\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e[Tools]\n\u003cul\u003e\n\u003cli\u003eAdd Google Maps Grounding Tool to ADK (\u003ca href=\"https://github.com/google/adk-python/commit/6b493915469ecb42068e24818ab547b0856e4709\"\u003e6b49391\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eMCP:\u003c/strong\u003e Initialize tool_name_prefix in MCPToolse (\u003ca href=\"https://github.com/google/adk-python/commit/86dea5b53ac305367283b7e353b60d0f4515be3b\"\u003e86dea5b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e[Evals]\n\u003cul\u003e\n\u003cli\u003eData model for storing App Details and data model for steps (\u003ca href=\"https://github.com/google/adk-python/commit/01923a9227895906ca8ae32712d65b178e2cd7d5\"\u003e01923a9\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdds Rubric based final response evaluator (\u003ca href=\"https://github.com/google/adk-python/commit/5a485b01cd64cb49735e13ebd5e7fa3da02cd85f\"\u003e5a485b0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePopulate AppDetails to each Invocation (\u003ca href=\"https://github.com/google/adk-python/commit/d48679582de91050ca9c5106402319be9a8ae7e8\"\u003ed486795\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e[Samples]\n\u003cul\u003e\n\u003cli\u003eMake the bigquery sample agent run with ADC out-of-the-box (\u003ca href=\"https://github.com/google/adk-python/commit/10cf37749417856e394e62896231e41b13420f18\"\u003e10cf377\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClose runners after running eval (\u003ca href=\"https://github.com/google/adk-python/commit/86ee6e3fa3690148d60358fc3dacb0e0ab40942b\"\u003e86ee6e3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFilter out thought parts when saving agent output to state (\u003ca href=\"https://github.com/google/adk-python/commit/632bf8b0bcf18ff4e4505e4e5f4c626510f366a2\"\u003e632bf8b\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/google/adk-python/commit/e172811bc7173b9004572f2a2afc7024145d7713\"\u003e\u003ccode\u003ee172811\u003c/code\u003e\u003c/a\u003e fix: unbreak client closed errors when using vertexai session service\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/da6f1d36537f471e8ba1f368efc2102f59b7bd5a\"\u003e\u003ccode\u003eda6f1d3\u003c/code\u003e\u003c/a\u003e chore: Release ADK 1.15.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/2c752934a84a647dfc80365e48fd9c870f29c0ae\"\u003e\u003ccode\u003e2c75293\u003c/code\u003e\u003c/a\u003e feat: Skip running a workflow agent if it has no sub-agents\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/b2b80e7fa0d9de01dc15cde5026097efd39c3db8\"\u003e\u003ccode\u003eb2b80e7\u003c/code\u003e\u003c/a\u003e feat: Pause invocations on long running function calls for resumable apps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/dd1ffad39460c3cb687909e7beb65b3dda28a1dd\"\u003e\u003ccode\u003edd1ffad\u003c/code\u003e\u003c/a\u003e chore: Update \u003ccode\u003egoogle-genai\u003c/code\u003e version constraint\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/8b081751ed162c8cf51fda7ff1c378871969fc7b\"\u003e\u003ccode\u003e8b08175\u003c/code\u003e\u003c/a\u003e feat: Add core checkpointing primitive for base agent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/b5a65fb4f4c97cae90f570d76960fe725ed16a84\"\u003e\u003ccode\u003eb5a65fb\u003c/code\u003e\u003c/a\u003e chore: Remove the too-detailed edge case descriptions for resumability\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/839d2e43bbcdd8e4b9a9121e9da8bb47688c5db6\"\u003e\u003ccode\u003e839d2e4\u003c/code\u003e\u003c/a\u003e feat: Define an AgentState to be used for resuming agent invocation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/1589fcdd86eb7d632f161f5c88add0cf1241e196\"\u003e\u003ccode\u003e1589fcd\u003c/code\u003e\u003c/a\u003e chore: Replace github HTTP URIs with GCS HTTP URIs in static non-text content...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/e7528aebd400c59885765f8c14ef0aa983bc7b39\"\u003e\u003ccode\u003ee7528ae\u003c/code\u003e\u003c/a\u003e feat(otel): adjust telemetry to follow OTLP 1.37 GenAI semconv\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/adk-python/compare/v1.7.0...v1.15.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sqlglot` from 27.0.0 to 27.20.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tobymao/sqlglot/blob/main/CHANGELOG.md\"\u003esqlglot's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[v27.20.0] - 2025-09-30\u003c/h2\u003e\n\u003ch3\u003e:boom: BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003edue to \u003ca href=\"https://github.com/tobymao/sqlglot/commit/13a30dfa37096df5bfc2c31538325c40a49f7917\"\u003e\u003ccode\u003e13a30df\u003c/code\u003e\u003c/a\u003e - Annotate type for snowflake TRY_BASE64_DECODE_BINARY function \u003cem\u003e(PR \u003ca href=\"https://redirect.github.com/tobymao/sqlglot/pull/5972\"\u003e#5972\u003c/a\u003e by \u003ca href=\"https://github.com/fivetran-amrutabhimsenayachit\"\u003e\u003ccode\u003e@​fivetran-amrutabhimsenayachit\u003c/code\u003e\u003c/a\u003e)\u003c/em\u003e:\u003c/p\u003e\n\u003cp\u003eAnnotate type for snowflake TRY_BASE64_DECODE_BINARY function (\u003ca href=\"https://redirect.github.com/tobymao/sqlglot/issues/5972\"\u003e#5972\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003edue to \u003ca href=\"https://github.com/tobymao/sqlglot/commit/1f5fdd799c047de167a4572f7ac26b7ad92167f2\"\u003e\u003ccode\u003e1f5fdd7\u003c/code\u003e\u003c/a\u003e - Annotate type for snowflake TRY_BASE64_DECODE_STRING function \u003cem\u003e(PR \u003ca href=\"https://redirect.github.com/tobymao/sqlglot/pull/5974\"\u003e#5974\u003c/a\u003e by \u003ca href=\"https://github.com/fivetran-amrutabhimsenayachit\"\u003e\u003ccode\u003e@​fivetran-amrutabhimsenayachit\u003c/code\u003e\u003c/a\u003e)\u003c/em\u003e:\u003c/p\u003e\n\u003cp\u003eAnnotate type for snowflake TRY_BASE64_DECODE_STRING function (\u003ca href=\"https://redirect.github.com/tobymao/sqlglot/issues/5974\"\u003e#5974\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003edue to \u003ca href=\"https://github.com/tobymao/sqlglot/commit/324e82fe1fb11722f91341010602a743b151e055\"\u003e\u003ccode\u003e324e82f\u003c/code\u003e\u003c/a\u003e - Annotate type for snowflake TRY_HEX_DECODE_BINARY function \u003cem\u003e(PR \u003ca href=\"https://redirect.github.com/tobymao/sqlglot/pull/5975\"\u003e#5975\u003c/a\u003e by \u003ca href=\"https://github.com/fivetran-amrutabhimsenayachit\"\u003e\u003ccode\u003e@​fivetran-amrutabhimsenayachit\u003c/code\u003e\u003c/a\u003e)\u003c/em\u003e:\u003c/p\u003e\n\u003cp\u003eAnnotate type for snowflake TRY_HEX_DECODE_BINARY function (\u003ca href=\"https://redirect.github.com/tobymao/sqlglot/issues/5975\"\u003e#5975\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003edue to \u003ca href=\"https://github.com/tobymao/sqlglot/commit/6caf99d556a3357ffaa6c294a9babcd30dd5fac5\"\u003e\u003ccode\u003e6caf99d\u003c/code\u003e\u003c/a\u003e - Annotate type for snowflake TRY_HEX_DECODE_STRING function \u003cem\u003e(PR \u003ca href=\"https://redirect.github.com/tobymao/sqlglot/pull/5976\"\u003e#5976\u003c/a\u003e by \u003ca href=\"https://github.com/fivetran-amrutabhimsenayachit\"\u003e\u003ccode\u003e@​fivetran-amrutabhimsenayachit\u003c/code\u003e\u003c/a\u003e)\u003c/em\u003e:\u003c/p\u003e\n\u003cp\u003eAnnotate type for snowflake TRY_HEX_DECODE_STRING function (\u003ca href=\"https://redirect.github.com/tobymao/sqlglot/issues/5976\"\u003e#5976\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003edue to \u003ca href=\"https://github.com/tobymao/sqlglot/commit/73186a812ce422c108ee81b3de11da6ee9a9e902\"\u003e\u003ccode\u003e73186a8\u003c/code\u003e\u003c/a\u003e - annotate type for Snowflake REGEXP_COUNT function \u003cem\u003e(PR \u003ca href=\"https://redirect.github.com/tobymao/sqlglot/pull/5963\"\u003e#5963\u003c/a\u003e by \u003ca href=\"https://github.com/fivetran-BradfordPaskewitz\"\u003e\u003ccode\u003e@​fivetran-BradfordPaskewitz\u003c/code\u003e\u003c/a\u003e)\u003c/em\u003e:\u003c/p\u003e\n\u003cp\u003eannotate type for Snowflake REGEXP_COUNT function (\u003ca href=\"https://redirect.github.com/tobymao/sqlglot/issues/5963\"\u003e#5963\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003edue to \u003ca href=\"https://github.com/tobymao/sqlglot/commit/c3bdb3cd1af1809ed82be0ae40744d9fffc8ce18\"\u003e\u003ccode\u003ec3bdb3c\u003c/code\u003e\u003c/a\u003e - array start index is 1, support array_flatten, fixes \u003ca href=\"https://redirect.github.com/tobymao/sqlglot/pull/5983\"\u003e#5983\u003c/a\u003e \u003cem\u003e(commit by \u003ca href=\"https://github.com/georgesittas\"\u003e\u003ccode\u003e@​georgesittas\u003c/code\u003e\u003c/a\u003e)\u003c/em\u003e:\u003c/p\u003e\n\u003cp\u003earray start index is 1, support array_flatten, fixes \u003ca href=\"https://redirect.github.com/tobymao/sqlglot/issues/5983\"\u003e#5983\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003edue to \u003ca href=\"https://github.com/tobymao/sqlglot/commit/244fb48fc9c4776f427c08b825d139b1c172fd26\"\u003e\u003ccode\u003e244fb48\u003c/code\u003e\u003c/a\u003e - annotate type for Snowflake SPLIT_PART function \u003cem\u003e(PR \u003ca href=\"https://redirect.github.com/tobymao/sqlglot/pull/5988\"\u003e#5988\u003c/a\u003e by \u003ca href=\"https://github.com/fivetran-BradfordPaskewitz\"\u003e\u003ccode\u003e@​fivetran-BradfordPaskewitz\u003c/code\u003e\u003c/a\u003e)\u003c/em\u003e:\u003c/p\u003e\n\u003cp\u003eannotate type for Snowflake SPLIT_PART function (\u003ca href=\"https://redirect.github.com/tobymao/sqlglot/issues/5988\"\u003e#5988\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003edue to \u003ca href=\"https://github.com/tobymao/sqlglot/commit/0d772e0b9d687b24d49203c05d7a90cc1dce02d5\"\u003e\u003ccode\u003e0d772e0\u003c/code\u003e\u003c/a\u003e - add ast node for \u003ccode\u003eDIRECTORY\u003c/code\u003e source \u003cem\u003e(PR \u003ca href=\"https://redirect.github.com/tobymao/sqlglot/pull/5990\"\u003e#5990\u003c/a\u003e by \u003ca href=\"https://github.com/georgesittas\"\u003e\u003ccode\u003e@​georgesittas\u003c/code\u003e\u003c/a\u003e)\u003c/em\u003e:\u003c/p\u003e\n\u003cp\u003eadd ast node for \u003ccode\u003eDIRECTORY\u003c/code\u003e source (\u003ca href=\"https://redirect.github.com/tobymao/sqlglot/issues/5990\"\u003e#5990\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:sparkles: New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/13a30dfa37096df5bfc2c31538325c40a49f7917\"\u003e\u003ccode\u003e13a30df\u003c/code\u003e\u003c/a\u003e - \u003cstrong\u003eoptimizer\u003c/strong\u003e: Annotate type for snowflake TRY_BASE64_DECODE_BINARY function \u003cem\u003e(PR \u003ca href=\"https://redirect.github.com/tobymao/sqlglot/pull/5972\"\u003e#5972\u003c/a\u003e by \u003ca href=\"https://github.com/fivetran-amrutabhimsenayachit\"\u003e\u003ccode\u003e@​fivetran-amrutabhimsenayachit\u003c/code\u003e\u003c/a\u003e)\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/1f5fdd799c047de167a4572f7ac26b7ad92167f2\"\u003e\u003ccode\u003e1f5fdd7\u003c/code\u003e\u003c/a\u003e - \u003cstrong\u003eoptimizer\u003c/strong\u003e: Annotate type for snowflake TRY_BASE64_DECODE_STRING function \u003cem\u003e(PR \u003ca href=\"https://redirect.github.com/tobymao/sqlglot/pull/5974\"\u003e#5974\u003c/a\u003e by \u003ca href=\"https://github.com/fivetran-amrutabhimsenayachit\"\u003e\u003ccode\u003e@​fivetran-amrutabhimsenayachit\u003c/code\u003e\u003c/a\u003e)\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/324e82fe1fb11722f91341010602a743b151e055\"\u003e\u003ccode\u003e324e82f\u003c/code\u003e\u003c/a\u003e - \u003cstrong\u003eoptimizer\u003c/strong\u003e: Annotate type for snowflake TRY_HEX_DECODE_BINARY function \u003cem\u003e(PR \u003ca href=\"https://redirect.github.com/tobymao/sqlglot/pull/5975\"\u003e#5975\u003c/a\u003e by \u003ca href=\"https://github.com/fivetran-amrutabhimsenayachit\"\u003e\u003ccode\u003e@​fivetran-amrutabhimsenayachit\u003c/code\u003e\u003c/a\u003e)\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/6caf99d556a3357ffaa6c294a9babcd30dd5fac5\"\u003e\u003ccode\u003e6caf99d\u003c/code\u003e\u003c/a\u003e - \u003cstrong\u003eoptimizer\u003c/strong\u003e: Annotate type for snowflake TRY_HEX_DECODE_STRING function \u003cem\u003e(PR \u003ca href=\"https://redirect.github.com/tobymao/sqlglot/pull/5976\"\u003e#5976\u003c/a\u003e by \u003ca href=\"https://github.com/fivetran-amrutabhimsenayachit\"\u003e\u003ccode\u003e@​fivetran-amrutabhimsenayachit\u003c/code\u003e\u003c/a\u003e)\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/73186a812ce422c108ee81b3de11da6ee9a9e902\"\u003e\u003ccode\u003e73186a8\u003c/code\u003e\u003c/a\u003e - \u003cstrong\u003eoptimizer\u003c/strong\u003e: annotate type for Snowflake REGEXP_COUNT function \u003cem\u003e(PR \u003ca href=\"https://redirect.github.com/tobymao/sqlglot/pull/5963\"\u003e#5963\u003c/a\u003e by \u003ca href=\"https://github.com/fivetran-BradfordPaskewitz\"\u003e\u003ccode\u003e@​fivetran-BradfordPaskewitz\u003c/code\u003e\u003c/a\u003e)\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/6124de76fa6d6725e844cd37e09ebfe99469b0ec\"\u003e\u003ccode\u003e6124de7\u003c/code\u003e\u003c/a\u003e - \u003cstrong\u003eoptimizer\u003c/strong\u003e: Annotate type for snowflake SOUNDEX function \u003cem\u003e(PR \u003ca href=\"https://redirect.github.com/tobymao/sqlglot/pull/5986\"\u003e#5986\u003c/a\u003e by \u003ca href=\"https://github.com/fivetran-amrutabhimsenayachit\"\u003e\u003ccode\u003e@​fivetran-amrutabhimsenayachit\u003c/code\u003e\u003c/a\u003e)\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/244fb48fc9c4776f427c08b825d139b1c172fd26\"\u003e\u003ccode\u003e244fb48\u003c/code\u003e\u003c/a\u003e - \u003cstrong\u003eoptimizer\u003c/strong\u003e: annotate type for Snowflake SPLIT_PART function \u003cem\u003e(PR \u003ca href=\"https://redirect.github.com/tobymao/sqlglot/pull/5988\"\u003e#5988\u003c/a\u003e by \u003ca href=\"https://github.com/fivetran-BradfordPaskewitz\"\u003e\u003ccode\u003e@​fivetran-BradfordPaskewitz\u003c/code\u003e\u003c/a\u003e)\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/0d772e0b9d687b24d49203c05d7a90cc1dce02d5\"\u003e\u003ccode\u003e0d772e0\u003c/code\u003e\u003c/a\u003e - \u003cstrong\u003esnowflake\u003c/strong\u003e: add ast node for \u003ccode\u003eDIRECTORY\u003c/code\u003e source \u003cem\u003e(PR \u003ca href=\"https://redirect.github.com/tobymao/sqlglot/pull/5990\"\u003e#5990\u003c/a\u003e by \u003ca href=\"https://github.com/georgesittas\"\u003e\u003ccode\u003e@​georgesittas\u003c/code\u003e\u003c/a\u003e)\u003c/em\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/7a3744f203b93211e5dd97e6730b6bf59d6d96e0\"\u003e\u003ccode\u003e7a3744f\u003c/code\u003e\u003c/a\u003e - \u003cstrong\u003esqlite\u003c/strong\u003e: support \u003ccode\u003eRANGE CURRENT ROW\u003c/code\u003e in window spec \u003cem\u003e(commit by \u003ca href=\"https://github.com/georgesittas\"\u003e\u003ccode\u003e@​georgesittas\u003c/code\u003e\u003c/a\u003e)\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/c3bdb3cd1af1809ed82be0ae40744d9fffc8ce18\"\u003e\u003ccode\u003ec3bdb3c\u003c/code\u003e\u003c/a\u003e - \u003cstrong\u003estarrocks\u003c/strong\u003e: array start index is 1, support array_flatten, fixes \u003ca href=\"https://redirect.github.com/tobymao/sqlglot/pull/5983\"\u003e#5983\u003c/a\u003e \u003cem\u003e(commit by \u003ca href=\"https://github.com/georgesittas\"\u003e\u003ccode\u003e@​georgesittas\u003c/code\u003e\u003c/a\u003e)\u003c/em\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:recycle: Refactors\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/0d772e0b9d687b24d49203c05d7a90cc1dce02d5\"\u003e\u003ccode\u003e0d772e0\u003c/code\u003e\u003c/a\u003e Feat(snowflake)!: add ast node for \u003ccode\u003eDIRECTORY\u003c/code\u003e source (\u003ca href=\"https://redirect.github.com/tobymao/sqlglot/issues/5990\"\u003e#5990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/244fb48fc9c4776f427c08b825d139b1c172fd26\"\u003e\u003ccode\u003e244fb48\u003c/code\u003e\u003c/a\u003e feat(optimizer)!: annotate type for Snowflake SPLIT_PART function (\u003ca href=\"https://redirect.github.com/tobymao/sqlglot/issues/5988\"\u003e#5988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/6124de76fa6d6725e844cd37e09ebfe99469b0ec\"\u003e\u003ccode\u003e6124de7\u003c/code\u003e\u003c/a\u003e feat(optimizer): Annotate type for snowflake SOUNDEX function (\u003ca href=\"https://redirect.github.com/tobymao/sqlglot/issues/5986\"\u003e#5986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/c3bdb3cd1af1809ed82be0ae40744d9fffc8ce18\"\u003e\u003ccode\u003ec3bdb3c\u003c/code\u003e\u003c/a\u003e Fix(starrocks)!: array start index is 1, support array_flatten, fixes \u003ca href=\"https://redirect.github.com/tobymao/sqlglot/issues/5983\"\u003e#5983\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/7a3744f203b93211e5dd97e6730b6bf59d6d96e0\"\u003e\u003ccode\u003e7a3744f\u003c/code\u003e\u003c/a\u003e Fix(sqlite): support \u003ccode\u003eRANGE CURRENT ROW\u003c/code\u003e in window spec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/73186a812ce422c108ee81b3de11da6ee9a9e902\"\u003e\u003ccode\u003e73186a8\u003c/code\u003e\u003c/a\u003e feat(optimizer)!: annotate type for Snowflake REGEXP_COUNT function (\u003ca href=\"https://redirect.github.com/tobymao/sqlglot/issues/5963\"\u003e#5963\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/d425ba26b96b368801f8f486fa375cd75105993d\"\u003e\u003ccode\u003ed425ba2\u003c/code\u003e\u003c/a\u003e refactor: make hash and eq non recursive (\u003ca href=\"https://redirect.github.com/tobymao/sqlglot/issues/5966\"\u003e#5966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/6caf99d556a3357ffaa6c294a9babcd30dd5fac5\"\u003e\u003ccode\u003e6caf99d\u003c/code\u003e\u003c/a\u003e feat(optimizer)!: Annotate type for snowflake TRY_HEX_DECODE_STRING function ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/324e82fe1fb11722f91341010602a743b151e055\"\u003e\u003ccode\u003e324e82f\u003c/code\u003e\u003c/a\u003e feat(optimizer)!: Annotate type for snowflake TRY_HEX_DECODE_BINARY function ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/1f5fdd799c047de167a4572f7ac26b7ad92167f2\"\u003e\u003ccode\u003e1f5fdd7\u003c/code\u003e\u003c/a\u003e feat(optimizer)!: Annotate type for snowflake TRY_BASE64_DECODE_STRING functi...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tobymao/sqlglot/compare/v27.0.0...v27.20.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `regex` from 2024.11.6 to 2025.9.18\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mrabarnett/mrab-regex/blob/hg/changelog.txt\"\u003eregex's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eVersion: 2025.9.20\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eEnable free-threading support in cibuildwheel in another place.\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.9.19\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eEnable free-threading support in cibuildwheel.\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.9.18\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eGit issue 565: Support the free-threaded build of CPython 3.13\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.9.1\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eGit PR 585: Fix AttributeError: 'AnyAll' object has no attribute '_key'\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.8.29\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eGit issue 584: AttributeError: 'AnyAll' object has no attribute 'positive'\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.7.34\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eGit issue 575: Issues with ASCII/Unicode modifiers\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.7.33\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eUpdated main.yml and pyproject.toml.\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.7.32\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eGit issue 580: Regression in v2025.7.31: \\P{L} no longer matches in simple patterns\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.7.31\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eFurther updates to main.yml.\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.7.30\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eUpdated main.yml and pyproject.toml.\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.7.29\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eGit issue 572: Inline ASCII modifier doesn't seem to affect anything\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.5.19\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eChanged how main.yml skips unwanted Arch builds.\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.5.18\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/mrabarnett/mrab-regex/commit/db5c9c636e68a44e27d623e11af1c08229ec4963\"\u003e\u003ccode\u003edb5c9c6\u003c/code\u003e\u003c/a\u003e Git issue 565: Support the free-threaded build of CPython 3.13\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/49e3881e9fceb225b0f82d43f1ef09688ec30da3\"\u003e\u003ccode\u003e49e3881\u003c/code\u003e\u003c/a\u003e Git PR 585: Fix AttributeError: 'AnyAll' object has no attribute '_key'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/183a653894f56ad9bc6ca767b795c0439518e2c1\"\u003e\u003ccode\u003e183a653\u003c/code\u003e\u003c/a\u003e Git issue 584: AttributeError: 'AnyAll' object has no attribute 'positive'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/23ca191dd8d259a42bc3dcae092e4eafce48652d\"\u003e\u003ccode\u003e23ca191\u003c/code\u003e\u003c/a\u003e Git issue 575: Issues with ASCII/Unicode modifiers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/88fee8529b5d41846bfdc144f46d2510c547d169\"\u003e\u003ccode\u003e88fee85\u003c/code\u003e\u003c/a\u003e Updated main.yml and pyproject.toml.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/7ebda8c03230f31e28666790a96c40a650fd1b94\"\u003e\u003ccode\u003e7ebda8c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mrabarnett/mrab-regex/issues/582\"\u003e#582\u003c/a\u003e from facelessuser/bugfix/setuptools\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/26d6efc9bf050190d32c1e8b972acc600d4f2edf\"\u003e\u003ccode\u003e26d6efc\u003c/code\u003e\u003c/a\u003e Setup failure scenario\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/a4a6d9443b11beb42d3440df91c76644ce45615c\"\u003e\u003ccode\u003ea4a6d94\u003c/code\u003e\u003c/a\u003e Git issue 580: Regression in v2025.7.31: \\P{L} no longer matches in simple pa...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/becb0d456d90541fa1266e19999b8005b401fb89\"\u003e\u003ccode\u003ebecb0d4\u003c/code\u003e\u003c/a\u003e Updated version and added changes to changelog.txt.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/457bcd38a53fcc695d7f219ff19607f39a7e08e7\"\u003e\u003ccode\u003e457bcd3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mrabarnett/mrab-regex/issues/577\"\u003e#577\u003c/a\u003e from facelessuser/bugfix/linux\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mrabarnett/mrab-regex/compare/2024.11.6...2025.9.18\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pydantic` from 2.11.7 to 2.11.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/releases\"\u003epydantic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.11.9 2025-09-13\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eBackport v1.10.23 changes by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.11.8...v2.11.9\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.11.8...v2.11.9\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.11.8 2025-09-13\u003c/h2\u003e\n\u003ch2\u003ev2.11.8 (2025-09-13)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix mypy plugin for mypy 1.18 by \u003ca href=\"https://github.com/cdce8p\"\u003e\u003ccode\u003e@​cdce8p\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12209\"\u003e#12209\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.11.7...v2.11.8\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.11.7...v2.11.8\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/blob/v2.11.9/HISTORY.md\"\u003epydantic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.11.9 (2025-09-13)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.11.9\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eBackport v1.10.23 changes by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.11.8 (2025-09-13)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.11.8\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix mypy plugin for mypy 1.18 by \u003ca href=\"https://github.com/cdce8p\"\u003e\u003ccode\u003e@​cdce8p\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12209\"\u003e#12209\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/92310953c146a2ac668a0141be820c083e325f5d\"\u003e\u003ccode\u003e9231095\u003c/code\u003e\u003c/a\u003e Prepare release v2.11.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/f003a89eeaff35ee18f220a2c790d20536e3d0ab\"\u003e\u003ccode\u003ef003a89\u003c/code\u003e\u003c/a\u003e Backport v1.10.23 changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/96b81ddaf93a1f2e19ff1609080c33de10b8d931\"\u003e\u003ccode\u003e96b81dd\u003c/code\u003e\u003c/a\u003e Prepare release v2.11.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/966f377692194b3f1d6d5155ac78052bec0a751d\"\u003e\u003ccode\u003e966f377\u003c/code\u003e\u003c/a\u003e Fix mypy v2 plugin for upcoming \u003ccode\u003e1.18\u003c/code\u003e mypy release\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.11.7...v2.11.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pandas` from 2.3.1 to 2.3.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pandas-dev/pandas/releases\"\u003epandas's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ePandas 2.3.3\u003c/h2\u003e\n\u003cp\u003eWe are pleased to announce the release of pandas 2.3.3.\nThis release includes some improvements and fixes to the future string data type (preview feature for the upcoming pandas 3.0). We recommend that all users upgrade to this version.\u003c/p\u003e\n\u003cp\u003eSee the \u003ca href=\"https://pandas.pydata.org/pandas-docs/version/2.3/whatsnew/v2.3.3.html\"\u003efull whatsnew\u003c/a\u003e for a list of all the changes.\nPandas 2.3.3 supports Python 3.9 and higher, and is the first release to support Python 3.14.\u003c/p\u003e\n\u003cp\u003eThe release will be available on the conda-forge channel:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003econda install pandas --channel conda-forge\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eOr via PyPI:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epython3 -m pip install --upgrade pandas\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003ePlease report any issues with the release on the \u003ca href=\"https://github.com/pandas-dev/pandas/issues\"\u003epandas issue tracker\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThanks to all the contributors who made this release possible.\u003c/p\u003e\n\u003ch2\u003ePandas 2.3.2\u003c/h2\u003e\n\u003cp\u003eWe are pleased to announce the release of pandas 2.3.2.\nThis release includes some improvements and fixes to the future string data type (preview feature for the upcoming pandas 3.0). We recommend that all users upgrade to this version.\u003c/p\u003e\n\u003cp\u003eSee the \u003ca href=\"https://pandas.pydata.org/pandas-docs/version/2.3/whatsnew/v2.3.2.html\"\u003efull whatsnew\u003c/a\u003e for a list of all the changes.\nPandas 2.3.2 supports Python 3.9 and higher.\u003c/p\u003e\n\u003cp\u003eThe release will be available on the conda-forge channel:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003econda install pandas --channel conda-forge\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eOr via PyPI:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epython3 -m pip install --upgrade pandas\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003ePlease report any issues with the release on the \u003ca href=\"https://github.com/pandas-dev/pandas/issues\"\u003epandas issue tracker\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThanks to all the contributors who made this release possible.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/9c8bc3e55188c8aff37207a74f1dd144980b8874\"\u003e\u003ccode\u003e9c8bc3e\u003c/code\u003e\u003c/a\u003e RLS: 2.3.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/6aa788a00bda9b0f004302076dad94df3edeafc7\"\u003e\u003ccode\u003e6aa788a\u003c/code\u003e\u003c/a\u003e [backport 2.3.x] DOC: prepare 2.3.3 whatsnew notes for release (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/62499\"\u003e#62499\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/62508\"\u003e#62508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/b64f0df403d11ac733d9f460f89a5e99c8044ed0\"\u003e\u003ccode\u003eb64f0df\u003c/code\u003e\u003c/a\u003e [backport 2.3.x] BUG: avoid validation error for ufunc with string[python] ar...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/058eb2b0edfc408dae9966ef1f03372f2a3ff04c\"\u003e\u003ccode\u003e058eb2b\u003c/code\u003e\u003c/a\u003e [backport 2.3.x] BUG: String[pyarrow] comparison with mixed object (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/62424\"\u003e#62424\u003c/a\u003e) (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/2ca088daef6a9d9333fea8aedffc7e50d28dfdee\"\u003e\u003ccode\u003e2ca088d\u003c/code\u003e\u003c/a\u003e [backport 2.3.x] DEPR: remove the Period resampling deprecation (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/62480\"\u003e#62480\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/62\"\u003e#62\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/92bf98f623572ed053d48be5818c8503f1b61888\"\u003e\u003ccode\u003e92bf98f\u003c/code\u003e\u003c/a\u003e [backport 2.3.x] BUG: fix .str.isdigit to honor unicode superscript for older...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/e57c7d6a2247316188fba0ba2a0db3c11028d75c\"\u003e\u003ccode\u003ee57c7d6\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/62452\"\u003e#62452\u003c/a\u003e on branch 2.3.x (TST: Adjust tests for numexpr 2.13) (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/62454\"\u003e#62454\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/e0fe9a03c90e560c34a3bbbdd1735a8b64f7b281\"\u003e\u003ccode\u003ee0fe9a0\u003c/code\u003e\u003c/a\u003e Backport to 2.3.x: REGR: from_records not initializing subclasses properly (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/23a1085e641c8e3a5b500e319c5973e4160b9236\"\u003e\u003ccode\u003e23a1085\u003c/code\u003e\u003c/a\u003e BUG: improve future warning for boolean operations with missaligned indexes (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/61136969fb18b438b6660bd5d485d0236dbf4a71\"\u003e\u003ccode\u003e6113696\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/62396\"\u003e#62396\u003c/a\u003e on branch 2.3.x (PKG/DOC: indicate Python 3.14 support in ...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pandas-dev/pandas/compare/v2.3.1...v2.3.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `numpy` from 2.3.1 to 2.3.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/numpy/numpy/releases\"\u003enumpy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.3 (Sep 9, 2025)\u003c/h2\u003e\n\u003ch1\u003eNumPy 2.3.3 Release Notes\u003c/h1\u003e\n\u003cp\u003eThe NumPy 2.3.3 release is a patch release split between a number of maintenance\nupdates and bug fixes. This release supports Python versions 3.11-3.14. Note\nthat the 3.14.0 final is currently expected in Oct, 2025. This release is based\non 3.14.0rc2.\u003c/p\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eA total of 13 people contributed to this release. People with a \u0026quot;+\u0026quot; by their\nnames contributed a patch for the first time.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAleksandr A. Voyt +\u003c/li\u003e\n\u003cli\u003eBernard Roesler +\u003c/li\u003e\n\u003cli\u003eCharles Harris\u003c/li\u003e\n\u003cli\u003eHunter Hogan +\u003c/li\u003e\n\u003cli\u003eJoren Hammudoglu\u003c/li\u003e\n\u003cli\u003eMaanas Arora\u003c/li\u003e\n\u003cli\u003eMatti Picus\u003c/li\u003e\n\u003cli\u003eNathan Goldbaum\u003c/li\u003e\n\u003cli\u003eRaghuveer Devulapalli\u003c/li\u003e\n\u003cli\u003eSanjay Kumar Sakamuri Kamalakar +\u003c/li\u003e\n\u003cli\u003eTobias Markus +\u003c/li\u003e\n\u003cli\u003eWarren Weckesser\u003c/li\u003e\n\u003cli\u003eZebreus +\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePull requests merged\u003c/h2\u003e\n\u003cp\u003eA total of 23 pull requests were merged for this release.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29440\"\u003e#29440\u003c/a\u003e: MAINT: Prepare 2.3.x for further development.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29446\"\u003e#29446\u003c/a\u003e: BUG: Fix test_configtool_pkgconfigdir to resolve PKG_CONFIG_DIR...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29447\"\u003e#29447\u003c/a\u003e: BLD: allow targeting webassembly without emscripten\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29460\"\u003e#29460\u003c/a\u003e: MAINT: Backport write_release.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29473\"\u003e#29473\u003c/a\u003e: MAINT: Bump pypa/cibuildwheel from 3.1.0 to 3.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29500\"\u003e#29500\u003c/a\u003e: BUG: Always return a real dtype from linalg.cond (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/18304\"\u003egh-18304\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29333\"\u003e#29333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29501\"\u003e#29501\u003c/a\u003e: MAINT: Add .file entry to all .s SVML files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29556\"\u003e#29556\u003c/a\u003e: BUG: Casting from one timedelta64 to another didn't handle NAT.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29562\"\u003e#29562\u003c/a\u003e: BLD: update vendored Meson to 1.8.3 [wheel build]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29563\"\u003e#29563\u003c/a\u003e: BUG: Fix metadata not roundtripping when pickling datetime (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29555\"\u003e#29555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29587\"\u003e#29587\u003c/a\u003e: TST: update link and version for Intel SDE download\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29593\"\u003e#29593\u003c/a\u003e: TYP: add \u003ccode\u003esorted\u003c/code\u003e kwarg to \u003ccode\u003eunique\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29672\"\u003e#29672\u003c/a\u003e: MAINT: Update pythoncapi-compat from main.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29673\"\u003e#29673\u003c/a\u003e: MAINT: Update cibuildwheel.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29674\"\u003e#29674\u003c/a\u003e: MAINT: Fix typo in wheels.yml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29683\"\u003e#29683\u003c/a\u003e: BUG, BLD: Correct regex for ppc64 VSX3/VSX4 feature detection\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29684\"\u003e#29684\u003c/a\u003e: TYP: ndarray.fill() takes no keyword arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29685\"\u003e#29685\u003c/a\u003e: BUG: avoid thread-unsafe refcount check in temp elision\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29687\"\u003e#29687\u003c/a\u003e: CI: replace comment-hider action in mypy_primer workflow\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/f2a77a76e08719556527e0819182073fe9b5f1c3\"\u003e\u003ccode\u003ef2a77a7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29702\"\u003e#29702\u003c/a\u003e from charris/prepare-2.3.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/8641006104c02492ced251c707c88611621db9e8\"\u003e\u003ccode\u003e8641006\u003c/code\u003e\u003c/a\u003e REL: Prepare for the NumPy 2.3.3 release [wheel build]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/f024265b1aec949ab7d59a9bb82614fae0701255\"\u003e\u003ccode\u003ef024265\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29701\"\u003e#29701\u003c/a\u003e from charris/backport-29697\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/84f2eedb58c4a7370e0d4865a2b11e0420cdf634\"\u003e\u003ccode\u003e84f2eed\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29700\"\u003e#29700\u003c/a\u003e from charris/backport-29695\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/7cacdbf8855fd6da6a7d116bebd896b393e4f441\"\u003e\u003ccode\u003e7cacdbf\u003c/code\u003e\u003c/a\u003e Update VXE and VXE2 detection regex patterns\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/028c46989fee6f8dfc1192d4f71c277deae0c4f9\"\u003e\u003ccode\u003e028c469\u003c/code\u003e\u003c/a\u003e TYP: appease ruff\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/4b80666b63d7779e2509d0690f68a977528268a9\"\u003e\u003ccode\u003e4b80666\u003c/code\u003e\u003c/a\u003e TYP: fix \u003ccode\u003enp.bool\u003c/code\u003e method declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/f2a6b75df162d9a0904b0dbc07b707020fe9d1d5\"\u003e\u003ccode\u003ef2a6b75\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29691\"\u003e#29691\u003c/a\u003e from charris/backport-29665\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/a707cbf5e36c9316099f6ae471718d98a18170f5\"\u003e\u003ccode\u003ea707cbf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29689\"\u003e#29689\u003c/a\u003e from charris/backport-29662\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/3d66056fa31a89fefb632229eb21f21d63cd8964\"\u003e\u003ccode\u003e3d66056\u003c/code\u003e\u003c/a\u003e BUG: use correct input dtype in flatiter assignment\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/numpy/numpy/compare/v2.3.1...v2.3.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pg8000` from 1.31.4 to 1.31.5\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tlocke/pg8000/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest` from 8.4.1 to 8.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest/releases\"\u003epytest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.4.2\u003c/h2\u003e\n\u003ch1\u003epytest 8.4.2 (2025-09-03)\u003c/h1\u003e\n\u003ch2\u003eBug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13478\"\u003e#13478\u003c/a\u003e: Fixed a crash when using \u003ccode\u003econsole_output_style\u003c/code\u003e{.interpreted-text role=\u0026quot;confval\u0026quot;} with \u003ccode\u003etimes\u003c/code\u003e and a module is skipped.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13530\"\u003e#13530\u003c/a\u003e: Fixed a crash when using \u003ccode\u003epytest.approx\u003c/code\u003e{.interpreted-text role=\u0026quot;func\u0026quot;} and \u003ccode\u003edecimal.Decimal\u003c/code\u003e{.interpreted-text role=\u0026quot;class\u0026quot;} instances with the \u003ccode\u003edecimal.FloatOperation\u003c/code\u003e{.interpreted-text role=\u0026quot;class\u0026quot;} trap set.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13549\"\u003e#13549\u003c/a\u003e: No longer evaluate type annotations in Python \u003ccode\u003e3.14\u003c/code\u003e when inspecting function signatures.\u003c/p\u003e\n\u003cp\u003eThis prevents crashes during module collection when modules do not explicitly use \u003ccode\u003efrom __future__ import annotations\u003c/code\u003e and import types for annotations within a \u003ccode\u003eif TYPE_CHECKING:\u003c/code\u003e block.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13559\"\u003e#13559\u003c/a\u003e: Added missing [int]{.title-ref} and [float]{.title-ref} variants to the [Literal]{.title-ref} type annotation of the [type]{.title-ref} parameter in \u003ccode\u003epytest.Parser.addini\u003c/code\u003e{.interpreted-text role=\u0026quot;meth\u0026quot;}.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13563\"\u003e#13563\u003c/a\u003e: \u003ccode\u003epytest.approx\u003c/code\u003e{.interpreted-text role=\u0026quot;func\u0026quot;} now only imports \u003ccode\u003enumpy\u003c/code\u003e if NumPy is already in \u003ccode\u003esys.modules\u003c/code\u003e. This fixes unconditional import behavior introduced in [8.4.0]{.title-ref}.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImproved documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13577\"\u003e#13577\u003c/a\u003e: Clarify that \u003ccode\u003epytest_generate_tests\u003c/code\u003e is discovered in test modules/classes; other hooks must be in \u003ccode\u003econftest.py\u003c/code\u003e or plugins.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributor-facing changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13480\"\u003e#13480\u003c/a\u003e: Self-testing: fixed a few test failures when run with \u003ccode\u003e-Wdefault\u003c/code\u003e or a similar override.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13547\"\u003e#13547\u003c/a\u003e: Self-testing: corrected expected message for \u003ccode\u003etest_doctest_unexpected_exception\u003c/code\u003e in Python \u003ccode\u003e3.14\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13684\"\u003e#13684\u003c/a\u003e: Make pytest's own testsuite insensitive to the presence of the \u003ccode\u003eCI\u003c/code\u003e environment variable -- by \u003ccode\u003eogrisel\u003c/code\u003e{.interpreted-text role=\u0026quot;user\u0026quot;}.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/bfae4224fd554d3d7f2c277a4cc092b6ec6af3ae\"\u003e\u003ccode\u003ebfae422\u003c/code\u003e\u003c/a\u003e Prepare release version 8.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/89905381a163be30ae87d62e5f750e902d750c5f\"\u003e\u003ccode\u003e8990538\u003c/code\u003e\u003c/a\u003e Fix passenv CI in tox ini and make tests insensitive to the presence of the C...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/ca676bfe005aebcb12f4146d1b0f1d2772e2cd5d\"\u003e\u003ccode\u003eca676bf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13687\"\u003e#13687\u003c/a\u003e from pytest-dev/patchback/backports/8.4.x/e63f6e51c...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/975a60a63ce385a44655596e254c1899feaa53e4\"\u003e\u003ccode\u003e975a60a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13686\"\u003e#13686\u003c/a\u003e from pytest-dev/patchback/backports/8.4.x/12bde8af6...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/7723ce84b87ab08f86ddafcb342acc28ba5ec99d\"\u003e\u003ccode\u003e7723ce8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13683\"\u003e#13683\u003c/a\u003e from even-even/fix_Exeption_to_Exception_in_errorMe...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/b7f05680d1301e0969b30bcb3c4b27433c9ee2b7\"\u003e\u003ccode\u003eb7f0568\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13685\"\u003e#13685\u003c/a\u003e from CoretexShadow/fix/docs-pytest-generate-tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/2c94c4a6948ba53440818389298157fa5d5f94cd\"\u003e\u003ccode\u003e2c94c4a\u003c/code\u003e\u003c/a\u003e add missing colon (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13640\"\u003e#13640\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13641\"\u003e#13641\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/c3d7684bc01c8c48d05145a30c5211ca8656c68c\"\u003e\u003ccode\u003ec3d7684\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13606\"\u003e#13606\u003c/a\u003e from pytest-dev/patchback/backports/8.4.x/5f9938563...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/dc6e3be2ddc75a149b6d102d9b7c82ee47a00cfa\"\u003e\u003ccode\u003edc6e3be\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13605\"\u003e#13605\u003c/a\u003e from The-Compiler/training-update-2025-07\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/f87289c36c8dbe7740e3020f5546b6f8b0861ff0\"\u003e\u003ccode\u003ef87289c\u003c/code\u003e\u003c/a\u003e Fix crash with \u003ccode\u003etimes\u003c/code\u003e output style and skipped module (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13573\"\u003e#13573\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13579\"\u003e#13579\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest/compare/8.4.1...8.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-asyncio` from 1.1.0 to 1.2.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/releases\"\u003epytest-asyncio's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epytest-asyncio 1.2.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/tree/1.2.0\"\u003e1.2.0\u003c/a\u003e - 2025-09-12\u003c/h1\u003e\n\u003ch2\u003eAdded\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e--asyncio-debug\u003c/code\u003e CLI option and \u003ccode\u003easyncio_debug\u003c/code\u003e configuration option to enable asyncio debug mode for the default event loop. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/980\"\u003e#980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA \u003ccode\u003epytest.UsageError\u003c/code\u003e for invalid configuration values of \u003ccode\u003easyncio_default_fixture_loop_scope\u003c/code\u003e and \u003ccode\u003easyncio_default_test_loop_scope\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1189\"\u003e#1189\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCompatibility with the Pyright type checker (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/731\"\u003e#731\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eRuntimeError: There is no current event loop in thread 'MainThread'\u003c/code\u003e when any test unsets the event loop (such as when using \u003ccode\u003easyncio.run\u003c/code\u003e and \u003ccode\u003easyncio.Runner\u003c/code\u003e). (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1177\"\u003e#1177\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDeprecation warning when decorating an asynchronous fixture with \u003ccode\u003e@pytest.fixture\u003c/code\u003e in [strict]{.title-ref} mode. The warning message now refers to the correct package. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1198\"\u003e#1198\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNotes for Downstream Packagers\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump the minimum required version of tox to v4.28. This change is only relevant if you use the \u003ccode\u003etox.ini\u003c/code\u003e file provided by pytest-asyncio to run tests.\u003c/li\u003e\n\u003cli\u003eExtend dependency on typing-extensions\u0026gt;=4.12 from Python\u0026lt;3.10 to Python\u0026lt;3.13.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epytest-asyncio 1.1.1\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/tree/v1.1.1\"\u003ev1.1.1\u003c/a\u003e - 2025-09-12\u003c/h1\u003e\n\u003ch2\u003eNotes for Downstream Packagers\u003c/h2\u003e\n\u003cp\u003e- Addresses a build problem with setuptoos-scm \u0026gt;= 9 caused by invalid setuptools-scm configuration in pytest-asyncio. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1192\"\u003e#1192\u003c/a\u003e)\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/0d3988f5adc16e8b364266c9ecda42a36d5892ff\"\u003e\u003ccode\u003e0d3988f\u003c/code\u003e\u003c/a\u003e ci: Create GitHub release before publishing to PyPI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/07c5a0b3e0bb99c7592ab87ed17a4bb2966fdf6a\"\u003e\u003ccode\u003e07c5a0b\u003c/code\u003e\u003c/a\u003e docs: Include orphaned news fragment in changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/be24582b86375b761534639be6c2941d0b3f116c\"\u003e\u003ccode\u003ebe24582\u003c/code\u003e\u003c/a\u003e chore: Prepare release of v1.2.0.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/7aeb296b9f95e57c371734dcb1d3ece3f7c81727\"\u003e\u003ccode\u003e7aeb296\u003c/code\u003e\u003c/a\u003e docs: Streamline news fragments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/7b8311cf1d2f67931f4fd9bbbe6d9f3b09572ebb\"\u003e\u003ccode\u003e7b8311c\u003c/code\u003e\u003c/a\u003e ci: Fixes a bug that prevented SSH signature from being stripped from release...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/9d4c2bd8770d4073e015213373975f217d3ac8f5\"\u003e\u003ccode\u003e9d4c2bd\u003c/code\u003e\u003c/a\u003e docs: Add changelog entry for Pyright compatibility.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/94f6106ea0c7ee716d7cf85377c653baa9cb7cd9\"\u003e\u003ccode\u003e94f6106\u003c/code\u003e\u003c/a\u003e test: Added tests which assert that the event loop is reinstated if unset by ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/df61991f1805f45ab31ae2d2fb73a54ff25ccd0c\"\u003e\u003ccode\u003edf61991\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/f1f7941691ff506ab553dfd6d00b09e8213eeff7\"\u003e\u003ccode\u003ef1f7941\u003c/code\u003e\u003c/a\u003e Build(deps): Bump pytest from 8.4.1 to 8.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/c77d3d38f7adb41f5f6ea7b002da4e0f480c5c24\"\u003e\u003ccode\u003ec77d3d3\u003c/code\u003e\u003c/a\u003e Build(deps): Bump twine from 6.1.0 to 6.2.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/compare/v1.1.0...v1.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/kanchpat/adk-testing/pull/4","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/kanchpat%2Fadk-testing/issues/4","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/4/packages"},{"uuid":"2878979354","node_id":"PR_kwDOOSaYT86rmb0a","number":436,"state":"closed","title":"chore(deps): bump the all-dependencies group in /python/agents/data-science with 9 updates","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":"2025-10-02T08:38:38.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-10-01T16:58:55.000Z","updated_at":"2025-10-02T08:38:38.000Z","time_to_close":56383,"merged_at":"2025-10-02T08:38:38.000Z","merged_by":"mstyer-google","closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"all-dependencies","update_count":9,"packages":[{"name":"google-adk","old_version":"1.7.0","new_version":"1.15.1","repository_url":"https://github.com/google/adk-python"},{"name":"sqlglot","old_version":"27.0.0","new_version":"27.20.0","repository_url":"https://github.com/tobymao/sqlglot"},{"name":"regex","old_version":"2024.11.6","new_version":"2025.9.18","repository_url":"https://github.com/mrabarnett/mrab-regex"},{"name":"pydantic","old_version":"2.11.7","new_version":"2.11.9","repository_url":"https://github.com/pydantic/pydantic"},{"name":"pandas","old_version":"2.3.1","new_version":"2.3.3","repository_url":"https://github.com/pandas-dev/pandas"},{"name":"numpy","old_version":"2.3.1","new_version":"2.3.3","repository_url":"https://github.com/numpy/numpy"},{"name":"pg8000","old_version":"1.31.4","new_version":"1.31.5","repository_url":"https://github.com/tlocke/pg8000"},{"name":"pytest","old_version":"8.4.1","new_version":"8.4.2","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"pytest-asyncio","old_version":"1.1.0","new_version":"1.2.0","repository_url":"https://github.com/pytest-dev/pytest-asyncio"}],"path":"/python/agents/data-science","ecosystem":"pip"},"body":"Bumps the all-dependencies group in /python/agents/data-science with 9 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [google-adk](https://github.com/google/adk-python) | `1.7.0` | `1.15.1` |\n| [sqlglot](https://github.com/tobymao/sqlglot) | `27.0.0` | `27.20.0` |\n| [regex](https://github.com/mrabarnett/mrab-regex) | `2024.11.6` | `2025.9.18` |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.11.7` | `2.11.9` |\n| [pandas](https://github.com/pandas-dev/pandas) | `2.3.1` | `2.3.3` |\n| [numpy](https://github.com/numpy/numpy) | `2.3.1` | `2.3.3` |\n| [pg8000](https://github.com/tlocke/pg8000) | `1.31.4` | `1.31.5` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.4.1` | `8.4.2` |\n| [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) | `1.1.0` | `1.2.0` |\n\nUpdates `google-adk` from 1.7.0 to 1.15.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/adk-python/releases\"\u003egoogle-adk's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 1.15.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.15.0...v1.15.1\"\u003e1.15.1\u003c/a\u003e (2025-09-26)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix the deployment failure for Agent Engine (\u003ca href=\"https://github.com/google/adk-python/commit/e172811bc7173b9004572f2a2afc7024145d7713\"\u003ee172811\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 1.15.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.14.1...v1.15.0\"\u003e1.15.0\u003c/a\u003e (2025-09-24)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[Core]\n\u003cul\u003e\n\u003cli\u003eAdding the ContextFilterPlugin (\u003ca href=\"https://github.com/google/adk-python/commit/a06bf278cbc89f521c187ed51b032d82ffdafe2d\"\u003ea06bf27\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdds plugin to save artifacts for issue \u003ca href=\"https://redirect.github.com/google/adk-python/issues/2176\"\u003e#2176\u003c/a\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/657369cffe142ef3745cd5950d0d24a49f42f7fd\"\u003e657369c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpose log probs of candidates in LlmResponse (\u003ca href=\"https://github.com/google/adk-python/commit/f7bd3c111c211e880d7c1954dd4508b952704c68\"\u003ef7bd3c1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e[Context Caching]\n\u003cul\u003e\n\u003cli\u003eSupport context caching (\u003ca href=\"https://github.com/google/adk-python/commit/c66245a3b80192c16cb67ee3194f82c9a7c901e5\"\u003ec66245a\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSupport explicit context caching auto creation and lifecycle management.\u003c/p\u003e\n\u003cp\u003eUsage: \u003ccode\u003eApp(root_agent=..., plugins=..., context_cache_config=...)\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eSupport non-text content in static instruction (\u003ca href=\"https://github.com/google/adk-python/commit/61213ce4d4c10f7ecaf6ddb521672059cee27942\"\u003e61213ce\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport static instructions (\u003ca href=\"https://github.com/google/adk-python/commit/9be9cc2feee92241fd2fbf9dea3a42de5a78e9ce\"\u003e9be9cc2\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSupport static instruction that won't change, put at the beginning of\nthe instruction.\nStatic instruction support inline_data and file_data as contents.\nDynamic instruction moved to the end of LlmRequest, increasing prefix\ncaching matching size.\u003c/p\u003e\n\u003cp\u003eUsage:\n\u003ccode\u003eLlmAgent(model=...,static_instruction =types.Content(parts=...), ... )\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e[Telemetry]\n\u003cul\u003e\n\u003cli\u003eAdd --otel_to_cloud experimental support (\u003ca href=\"https://github.com/google/adk-python/commit/1ae0b82f5602a57ad1ca975ca0b7c85003d1a28a\"\u003e1ae0b82\u003c/a\u003e, \u003ca href=\"https://github.com/google/adk-python/commit/b1312680f4ea9f21c3246a1d24392619643d71f5\"\u003eb131268\u003c/a\u003e, \u003ca href=\"https://github.com/google/adk-python/commit/7870480c63bb4fc08cfb3cabc0e1f0458f0e85bd\"\u003e7870480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd GenAI Instrumentation if --otel_to_cloud is enabled (\u003ca href=\"https://github.com/google/adk-python/commit/cee365a13d0d1b1f2be046c1cc29e24a8d1fdbcc\"\u003ecee365a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport standard OTel env variables for exporter endpoints (\u003ca href=\"https://github.com/google/adk-python/commit/f157b2ee4caf4055e78f4657254e45913895f5de\"\u003ef157b2e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTemporarily disable Cloud Monitoring integration in --otel_to_cloud (\u003ca href=\"https://github.com/google/adk-python/commit/3b80337faf427460e4743e25dbb92578f823513f\"\u003e3b80337\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e[Services]\n\u003cul\u003e\n\u003cli\u003eAdd endpoint to generate memory from session (\u003ca href=\"https://github.com/google/adk-python/commit/25958242db890b4d2aac8612f7f7cfbb561727fa\"\u003e2595824\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e[Tools]\n\u003cul\u003e\n\u003cli\u003eAdd Google Maps Grounding Tool to ADK (\u003ca href=\"https://github.com/google/adk-python/commit/6b493915469ecb42068e24818ab547b0856e4709\"\u003e6b49391\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eMCP:\u003c/strong\u003e Initialize tool_name_prefix in MCPToolse (\u003ca href=\"https://github.com/google/adk-python/commit/86dea5b53ac305367283b7e353b60d0f4515be3b\"\u003e86dea5b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e[Evals]\n\u003cul\u003e\n\u003cli\u003eData model for storing App Details and data model for steps (\u003ca href=\"https://github.com/google/adk-python/commit/01923a9227895906ca8ae32712d65b178e2cd7d5\"\u003e01923a9\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdds Rubric based final response evaluator (\u003ca href=\"https://github.com/google/adk-python/commit/5a485b01cd64cb49735e13ebd5e7fa3da02cd85f\"\u003e5a485b0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePopulate AppDetails to each Invocation (\u003ca href=\"https://github.com/google/adk-python/commit/d48679582de91050ca9c5106402319be9a8ae7e8\"\u003ed486795\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e[Samples]\n\u003cul\u003e\n\u003cli\u003eMake the bigquery sample agent run with ADC out-of-the-box (\u003ca href=\"https://github.com/google/adk-python/commit/10cf37749417856e394e62896231e41b13420f18\"\u003e10cf377\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\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/google/adk-python/blob/main/CHANGELOG.md\"\u003egoogle-adk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.15.0...v1.15.1\"\u003e1.15.1\u003c/a\u003e (2025-09-26)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix the deployment failure for Agent Engine (\u003ca href=\"https://github.com/google/adk-python/commit/e172811bc7173b9004572f2a2afc7024145d7713\"\u003ee172811\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.14.1...v1.15.0\"\u003e1.15.0\u003c/a\u003e (2025-09-24)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[Core]\n\u003cul\u003e\n\u003cli\u003eAdding the ContextFilterPlugin (\u003ca href=\"https://github.com/google/adk-python/commit/a06bf278cbc89f521c187ed51b032d82ffdafe2d\"\u003ea06bf27\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdds plugin to save artifacts for issue \u003ca href=\"https://redirect.github.com/google/adk-python/issues/2176\"\u003e#2176\u003c/a\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/657369cffe142ef3745cd5950d0d24a49f42f7fd\"\u003e657369c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpose log probs of candidates in LlmResponse (\u003ca href=\"https://github.com/google/adk-python/commit/f7bd3c111c211e880d7c1954dd4508b952704c68\"\u003ef7bd3c1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e[Context Caching]\n\u003cul\u003e\n\u003cli\u003eSupport context caching (\u003ca href=\"https://github.com/google/adk-python/commit/c66245a3b80192c16cb67ee3194f82c9a7c901e5\"\u003ec66245a\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSupport explicit context caching auto creation and lifecycle management.\u003c/p\u003e\n\u003cp\u003eUsage: \u003ccode\u003eApp(root_agent=..., plugins=..., context_cache_config=...)\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eSupport non-text content in static instruction (\u003ca href=\"https://github.com/google/adk-python/commit/61213ce4d4c10f7ecaf6ddb521672059cee27942\"\u003e61213ce\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport static instructions (\u003ca href=\"https://github.com/google/adk-python/commit/9be9cc2feee92241fd2fbf9dea3a42de5a78e9ce\"\u003e9be9cc2\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSupport static instruction that won't change, put at the beginning of\nthe instruction.\nStatic instruction support inline_data and file_data as contents.\nDynamic instruction moved to the end of LlmRequest, increasing prefix\ncaching matching size.\u003c/p\u003e\n\u003cp\u003eUsage:\n\u003ccode\u003eLlmAgent(model=...,static_instruction =types.Content(parts=...), ... )\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e[Telemetry]\n\u003cul\u003e\n\u003cli\u003eAdd --otel_to_cloud experimental support (\u003ca href=\"https://github.com/google/adk-python/commit/1ae0b82f5602a57ad1ca975ca0b7c85003d1a28a\"\u003e1ae0b82\u003c/a\u003e, \u003ca href=\"https://github.com/google/adk-python/commit/b1312680f4ea9f21c3246a1d24392619643d71f5\"\u003eb131268\u003c/a\u003e, \u003ca href=\"https://github.com/google/adk-python/commit/7870480c63bb4fc08cfb3cabc0e1f0458f0e85bd\"\u003e7870480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd GenAI Instrumentation if --otel_to_cloud is enabled (\u003ca href=\"https://github.com/google/adk-python/commit/cee365a13d0d1b1f2be046c1cc29e24a8d1fdbcc\"\u003ecee365a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport standard OTel env variables for exporter endpoints (\u003ca href=\"https://github.com/google/adk-python/commit/f157b2ee4caf4055e78f4657254e45913895f5de\"\u003ef157b2e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTemporarily disable Cloud Monitoring integration in --otel_to_cloud (\u003ca href=\"https://github.com/google/adk-python/commit/3b80337faf427460e4743e25dbb92578f823513f\"\u003e3b80337\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e[Services]\n\u003cul\u003e\n\u003cli\u003eAdd endpoint to generate memory from session (\u003ca href=\"https://github.com/google/adk-python/commit/25958242db890b4d2aac8612f7f7cfbb561727fa\"\u003e2595824\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e[Tools]\n\u003cul\u003e\n\u003cli\u003eAdd Google Maps Grounding Tool to ADK (\u003ca href=\"https://github.com/google/adk-python/commit/6b493915469ecb42068e24818ab547b0856e4709\"\u003e6b49391\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eMCP:\u003c/strong\u003e Initialize tool_name_prefix in MCPToolse (\u003ca href=\"https://github.com/google/adk-python/commit/86dea5b53ac305367283b7e353b60d0f4515be3b\"\u003e86dea5b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e[Evals]\n\u003cul\u003e\n\u003cli\u003eData model for storing App Details and data model for steps (\u003ca href=\"https://github.com/google/adk-python/commit/01923a9227895906ca8ae32712d65b178e2cd7d5\"\u003e01923a9\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdds Rubric based final response evaluator (\u003ca href=\"https://github.com/google/adk-python/commit/5a485b01cd64cb49735e13ebd5e7fa3da02cd85f\"\u003e5a485b0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePopulate AppDetails to each Invocation (\u003ca href=\"https://github.com/google/adk-python/commit/d48679582de91050ca9c5106402319be9a8ae7e8\"\u003ed486795\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e[Samples]\n\u003cul\u003e\n\u003cli\u003eMake the bigquery sample agent run with ADC out-of-the-box (\u003ca href=\"https://github.com/google/adk-python/commit/10cf37749417856e394e62896231e41b13420f18\"\u003e10cf377\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClose runners after running eval (\u003ca href=\"https://github.com/google/adk-python/commit/86ee6e3fa3690148d60358fc3dacb0e0ab40942b\"\u003e86ee6e3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFilter out thought parts when saving agent output to state (\u003ca href=\"https://github.com/google/adk-python/commit/632bf8b0bcf18ff4e4505e4e5f4c626510f366a2\"\u003e632bf8b\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/google/adk-python/commit/e172811bc7173b9004572f2a2afc7024145d7713\"\u003e\u003ccode\u003ee172811\u003c/code\u003e\u003c/a\u003e fix: unbreak client closed errors when using vertexai session service\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/da6f1d36537f471e8ba1f368efc2102f59b7bd5a\"\u003e\u003ccode\u003eda6f1d3\u003c/code\u003e\u003c/a\u003e chore: Release ADK 1.15.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/2c752934a84a647dfc80365e48fd9c870f29c0ae\"\u003e\u003ccode\u003e2c75293\u003c/code\u003e\u003c/a\u003e feat: Skip running a workflow agent if it has no sub-agents\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/b2b80e7fa0d9de01dc15cde5026097efd39c3db8\"\u003e\u003ccode\u003eb2b80e7\u003c/code\u003e\u003c/a\u003e feat: Pause invocations on long running function calls for resumable apps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/dd1ffad39460c3cb687909e7beb65b3dda28a1dd\"\u003e\u003ccode\u003edd1ffad\u003c/code\u003e\u003c/a\u003e chore: Update \u003ccode\u003egoogle-genai\u003c/code\u003e version constraint\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/8b081751ed162c8cf51fda7ff1c378871969fc7b\"\u003e\u003ccode\u003e8b08175\u003c/code\u003e\u003c/a\u003e feat: Add core checkpointing primitive for base agent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/b5a65fb4f4c97cae90f570d76960fe725ed16a84\"\u003e\u003ccode\u003eb5a65fb\u003c/code\u003e\u003c/a\u003e chore: Remove the too-detailed edge case descriptions for resumability\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/839d2e43bbcdd8e4b9a9121e9da8bb47688c5db6\"\u003e\u003ccode\u003e839d2e4\u003c/code\u003e\u003c/a\u003e feat: Define an AgentState to be used for resuming agent invocation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/1589fcdd86eb7d632f161f5c88add0cf1241e196\"\u003e\u003ccode\u003e1589fcd\u003c/code\u003e\u003c/a\u003e chore: Replace github HTTP URIs with GCS HTTP URIs in static non-text content...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/e7528aebd400c59885765f8c14ef0aa983bc7b39\"\u003e\u003ccode\u003ee7528ae\u003c/code\u003e\u003c/a\u003e feat(otel): adjust telemetry to follow OTLP 1.37 GenAI semconv\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/adk-python/compare/v1.7.0...v1.15.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sqlglot` from 27.0.0 to 27.20.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tobymao/sqlglot/blob/main/CHANGELOG.md\"\u003esqlglot's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[v27.20.0] - 2025-09-30\u003c/h2\u003e\n\u003ch3\u003e:boom: BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003edue to \u003ca href=\"https://github.com/tobymao/sqlglot/commit/13a30dfa37096df5bfc2c31538325c40a49f7917\"\u003e\u003ccode\u003e13a30df\u003c/code\u003e\u003c/a\u003e - Annotate type for snowflake TRY_BASE64_DECODE_BINARY function \u003cem\u003e(PR \u003ca href=\"https://redirect.github.com/tobymao/sqlglot/pull/5972\"\u003e#5972\u003c/a\u003e by \u003ca href=\"https://github.com/fivetran-amrutabhimsenayachit\"\u003e\u003ccode\u003e@​fivetran-amrutabhimsenayachit\u003c/code\u003e\u003c/a\u003e)\u003c/em\u003e:\u003c/p\u003e\n\u003cp\u003eAnnotate type for snowflake TRY_BASE64_DECODE_BINARY function (\u003ca href=\"https://redirect.github.com/tobymao/sqlglot/issues/5972\"\u003e#5972\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003edue to \u003ca href=\"https://github.com/tobymao/sqlglot/commit/1f5fdd799c047de167a4572f7ac26b7ad92167f2\"\u003e\u003ccode\u003e1f5fdd7\u003c/code\u003e\u003c/a\u003e - Annotate type for snowflake TRY_BASE64_DECODE_STRING function \u003cem\u003e(PR \u003ca href=\"https://redirect.github.com/tobymao/sqlglot/pull/5974\"\u003e#5974\u003c/a\u003e by \u003ca href=\"https://github.com/fivetran-amrutabhimsenayachit\"\u003e\u003ccode\u003e@​fivetran-amrutabhimsenayachit\u003c/code\u003e\u003c/a\u003e)\u003c/em\u003e:\u003c/p\u003e\n\u003cp\u003eAnnotate type for snowflake TRY_BASE64_DECODE_STRING function (\u003ca href=\"https://redirect.github.com/tobymao/sqlglot/issues/5974\"\u003e#5974\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003edue to \u003ca href=\"https://github.com/tobymao/sqlglot/commit/324e82fe1fb11722f91341010602a743b151e055\"\u003e\u003ccode\u003e324e82f\u003c/code\u003e\u003c/a\u003e - Annotate type for snowflake TRY_HEX_DECODE_BINARY function \u003cem\u003e(PR \u003ca href=\"https://redirect.github.com/tobymao/sqlglot/pull/5975\"\u003e#5975\u003c/a\u003e by \u003ca href=\"https://github.com/fivetran-amrutabhimsenayachit\"\u003e\u003ccode\u003e@​fivetran-amrutabhimsenayachit\u003c/code\u003e\u003c/a\u003e)\u003c/em\u003e:\u003c/p\u003e\n\u003cp\u003eAnnotate type for snowflake TRY_HEX_DECODE_BINARY function (\u003ca href=\"https://redirect.github.com/tobymao/sqlglot/issues/5975\"\u003e#5975\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003edue to \u003ca href=\"https://github.com/tobymao/sqlglot/commit/6caf99d556a3357ffaa6c294a9babcd30dd5fac5\"\u003e\u003ccode\u003e6caf99d\u003c/code\u003e\u003c/a\u003e - Annotate type for snowflake TRY_HEX_DECODE_STRING function \u003cem\u003e(PR \u003ca href=\"https://redirect.github.com/tobymao/sqlglot/pull/5976\"\u003e#5976\u003c/a\u003e by \u003ca href=\"https://github.com/fivetran-amrutabhimsenayachit\"\u003e\u003ccode\u003e@​fivetran-amrutabhimsenayachit\u003c/code\u003e\u003c/a\u003e)\u003c/em\u003e:\u003c/p\u003e\n\u003cp\u003eAnnotate type for snowflake TRY_HEX_DECODE_STRING function (\u003ca href=\"https://redirect.github.com/tobymao/sqlglot/issues/5976\"\u003e#5976\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003edue to \u003ca href=\"https://github.com/tobymao/sqlglot/commit/73186a812ce422c108ee81b3de11da6ee9a9e902\"\u003e\u003ccode\u003e73186a8\u003c/code\u003e\u003c/a\u003e - annotate type for Snowflake REGEXP_COUNT function \u003cem\u003e(PR \u003ca href=\"https://redirect.github.com/tobymao/sqlglot/pull/5963\"\u003e#5963\u003c/a\u003e by \u003ca href=\"https://github.com/fivetran-BradfordPaskewitz\"\u003e\u003ccode\u003e@​fivetran-BradfordPaskewitz\u003c/code\u003e\u003c/a\u003e)\u003c/em\u003e:\u003c/p\u003e\n\u003cp\u003eannotate type for Snowflake REGEXP_COUNT function (\u003ca href=\"https://redirect.github.com/tobymao/sqlglot/issues/5963\"\u003e#5963\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003edue to \u003ca href=\"https://github.com/tobymao/sqlglot/commit/c3bdb3cd1af1809ed82be0ae40744d9fffc8ce18\"\u003e\u003ccode\u003ec3bdb3c\u003c/code\u003e\u003c/a\u003e - array start index is 1, support array_flatten, fixes \u003ca href=\"https://redirect.github.com/tobymao/sqlglot/pull/5983\"\u003e#5983\u003c/a\u003e \u003cem\u003e(commit by \u003ca href=\"https://github.com/georgesittas\"\u003e\u003ccode\u003e@​georgesittas\u003c/code\u003e\u003c/a\u003e)\u003c/em\u003e:\u003c/p\u003e\n\u003cp\u003earray start index is 1, support array_flatten, fixes \u003ca href=\"https://redirect.github.com/tobymao/sqlglot/issues/5983\"\u003e#5983\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003edue to \u003ca href=\"https://github.com/tobymao/sqlglot/commit/244fb48fc9c4776f427c08b825d139b1c172fd26\"\u003e\u003ccode\u003e244fb48\u003c/code\u003e\u003c/a\u003e - annotate type for Snowflake SPLIT_PART function \u003cem\u003e(PR \u003ca href=\"https://redirect.github.com/tobymao/sqlglot/pull/5988\"\u003e#5988\u003c/a\u003e by \u003ca href=\"https://github.com/fivetran-BradfordPaskewitz\"\u003e\u003ccode\u003e@​fivetran-BradfordPaskewitz\u003c/code\u003e\u003c/a\u003e)\u003c/em\u003e:\u003c/p\u003e\n\u003cp\u003eannotate type for Snowflake SPLIT_PART function (\u003ca href=\"https://redirect.github.com/tobymao/sqlglot/issues/5988\"\u003e#5988\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003edue to \u003ca href=\"https://github.com/tobymao/sqlglot/commit/0d772e0b9d687b24d49203c05d7a90cc1dce02d5\"\u003e\u003ccode\u003e0d772e0\u003c/code\u003e\u003c/a\u003e - add ast node for \u003ccode\u003eDIRECTORY\u003c/code\u003e source \u003cem\u003e(PR \u003ca href=\"https://redirect.github.com/tobymao/sqlglot/pull/5990\"\u003e#5990\u003c/a\u003e by \u003ca href=\"https://github.com/georgesittas\"\u003e\u003ccode\u003e@​georgesittas\u003c/code\u003e\u003c/a\u003e)\u003c/em\u003e:\u003c/p\u003e\n\u003cp\u003eadd ast node for \u003ccode\u003eDIRECTORY\u003c/code\u003e source (\u003ca href=\"https://redirect.github.com/tobymao/sqlglot/issues/5990\"\u003e#5990\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:sparkles: New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/13a30dfa37096df5bfc2c31538325c40a49f7917\"\u003e\u003ccode\u003e13a30df\u003c/code\u003e\u003c/a\u003e - \u003cstrong\u003eoptimizer\u003c/strong\u003e: Annotate type for snowflake TRY_BASE64_DECODE_BINARY function \u003cem\u003e(PR \u003ca href=\"https://redirect.github.com/tobymao/sqlglot/pull/5972\"\u003e#5972\u003c/a\u003e by \u003ca href=\"https://github.com/fivetran-amrutabhimsenayachit\"\u003e\u003ccode\u003e@​fivetran-amrutabhimsenayachit\u003c/code\u003e\u003c/a\u003e)\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/1f5fdd799c047de167a4572f7ac26b7ad92167f2\"\u003e\u003ccode\u003e1f5fdd7\u003c/code\u003e\u003c/a\u003e - \u003cstrong\u003eoptimizer\u003c/strong\u003e: Annotate type for snowflake TRY_BASE64_DECODE_STRING function \u003cem\u003e(PR \u003ca href=\"https://redirect.github.com/tobymao/sqlglot/pull/5974\"\u003e#5974\u003c/a\u003e by \u003ca href=\"https://github.com/fivetran-amrutabhimsenayachit\"\u003e\u003ccode\u003e@​fivetran-amrutabhimsenayachit\u003c/code\u003e\u003c/a\u003e)\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/324e82fe1fb11722f91341010602a743b151e055\"\u003e\u003ccode\u003e324e82f\u003c/code\u003e\u003c/a\u003e - \u003cstrong\u003eoptimizer\u003c/strong\u003e: Annotate type for snowflake TRY_HEX_DECODE_BINARY function \u003cem\u003e(PR \u003ca href=\"https://redirect.github.com/tobymao/sqlglot/pull/5975\"\u003e#5975\u003c/a\u003e by \u003ca href=\"https://github.com/fivetran-amrutabhimsenayachit\"\u003e\u003ccode\u003e@​fivetran-amrutabhimsenayachit\u003c/code\u003e\u003c/a\u003e)\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/6caf99d556a3357ffaa6c294a9babcd30dd5fac5\"\u003e\u003ccode\u003e6caf99d\u003c/code\u003e\u003c/a\u003e - \u003cstrong\u003eoptimizer\u003c/strong\u003e: Annotate type for snowflake TRY_HEX_DECODE_STRING function \u003cem\u003e(PR \u003ca href=\"https://redirect.github.com/tobymao/sqlglot/pull/5976\"\u003e#5976\u003c/a\u003e by \u003ca href=\"https://github.com/fivetran-amrutabhimsenayachit\"\u003e\u003ccode\u003e@​fivetran-amrutabhimsenayachit\u003c/code\u003e\u003c/a\u003e)\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/73186a812ce422c108ee81b3de11da6ee9a9e902\"\u003e\u003ccode\u003e73186a8\u003c/code\u003e\u003c/a\u003e - \u003cstrong\u003eoptimizer\u003c/strong\u003e: annotate type for Snowflake REGEXP_COUNT function \u003cem\u003e(PR \u003ca href=\"https://redirect.github.com/tobymao/sqlglot/pull/5963\"\u003e#5963\u003c/a\u003e by \u003ca href=\"https://github.com/fivetran-BradfordPaskewitz\"\u003e\u003ccode\u003e@​fivetran-BradfordPaskewitz\u003c/code\u003e\u003c/a\u003e)\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/6124de76fa6d6725e844cd37e09ebfe99469b0ec\"\u003e\u003ccode\u003e6124de7\u003c/code\u003e\u003c/a\u003e - \u003cstrong\u003eoptimizer\u003c/strong\u003e: Annotate type for snowflake SOUNDEX function \u003cem\u003e(PR \u003ca href=\"https://redirect.github.com/tobymao/sqlglot/pull/5986\"\u003e#5986\u003c/a\u003e by \u003ca href=\"https://github.com/fivetran-amrutabhimsenayachit\"\u003e\u003ccode\u003e@​fivetran-amrutabhimsenayachit\u003c/code\u003e\u003c/a\u003e)\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/244fb48fc9c4776f427c08b825d139b1c172fd26\"\u003e\u003ccode\u003e244fb48\u003c/code\u003e\u003c/a\u003e - \u003cstrong\u003eoptimizer\u003c/strong\u003e: annotate type for Snowflake SPLIT_PART function \u003cem\u003e(PR \u003ca href=\"https://redirect.github.com/tobymao/sqlglot/pull/5988\"\u003e#5988\u003c/a\u003e by \u003ca href=\"https://github.com/fivetran-BradfordPaskewitz\"\u003e\u003ccode\u003e@​fivetran-BradfordPaskewitz\u003c/code\u003e\u003c/a\u003e)\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/0d772e0b9d687b24d49203c05d7a90cc1dce02d5\"\u003e\u003ccode\u003e0d772e0\u003c/code\u003e\u003c/a\u003e - \u003cstrong\u003esnowflake\u003c/strong\u003e: add ast node for \u003ccode\u003eDIRECTORY\u003c/code\u003e source \u003cem\u003e(PR \u003ca href=\"https://redirect.github.com/tobymao/sqlglot/pull/5990\"\u003e#5990\u003c/a\u003e by \u003ca href=\"https://github.com/georgesittas\"\u003e\u003ccode\u003e@​georgesittas\u003c/code\u003e\u003c/a\u003e)\u003c/em\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/7a3744f203b93211e5dd97e6730b6bf59d6d96e0\"\u003e\u003ccode\u003e7a3744f\u003c/code\u003e\u003c/a\u003e - \u003cstrong\u003esqlite\u003c/strong\u003e: support \u003ccode\u003eRANGE CURRENT ROW\u003c/code\u003e in window spec \u003cem\u003e(commit by \u003ca href=\"https://github.com/georgesittas\"\u003e\u003ccode\u003e@​georgesittas\u003c/code\u003e\u003c/a\u003e)\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/c3bdb3cd1af1809ed82be0ae40744d9fffc8ce18\"\u003e\u003ccode\u003ec3bdb3c\u003c/code\u003e\u003c/a\u003e - \u003cstrong\u003estarrocks\u003c/strong\u003e: array start index is 1, support array_flatten, fixes \u003ca href=\"https://redirect.github.com/tobymao/sqlglot/pull/5983\"\u003e#5983\u003c/a\u003e \u003cem\u003e(commit by \u003ca href=\"https://github.com/georgesittas\"\u003e\u003ccode\u003e@​georgesittas\u003c/code\u003e\u003c/a\u003e)\u003c/em\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:recycle: Refactors\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/0d772e0b9d687b24d49203c05d7a90cc1dce02d5\"\u003e\u003ccode\u003e0d772e0\u003c/code\u003e\u003c/a\u003e Feat(snowflake)!: add ast node for \u003ccode\u003eDIRECTORY\u003c/code\u003e source (\u003ca href=\"https://redirect.github.com/tobymao/sqlglot/issues/5990\"\u003e#5990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/244fb48fc9c4776f427c08b825d139b1c172fd26\"\u003e\u003ccode\u003e244fb48\u003c/code\u003e\u003c/a\u003e feat(optimizer)!: annotate type for Snowflake SPLIT_PART function (\u003ca href=\"https://redirect.github.com/tobymao/sqlglot/issues/5988\"\u003e#5988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/6124de76fa6d6725e844cd37e09ebfe99469b0ec\"\u003e\u003ccode\u003e6124de7\u003c/code\u003e\u003c/a\u003e feat(optimizer): Annotate type for snowflake SOUNDEX function (\u003ca href=\"https://redirect.github.com/tobymao/sqlglot/issues/5986\"\u003e#5986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/c3bdb3cd1af1809ed82be0ae40744d9fffc8ce18\"\u003e\u003ccode\u003ec3bdb3c\u003c/code\u003e\u003c/a\u003e Fix(starrocks)!: array start index is 1, support array_flatten, fixes \u003ca href=\"https://redirect.github.com/tobymao/sqlglot/issues/5983\"\u003e#5983\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/7a3744f203b93211e5dd97e6730b6bf59d6d96e0\"\u003e\u003ccode\u003e7a3744f\u003c/code\u003e\u003c/a\u003e Fix(sqlite): support \u003ccode\u003eRANGE CURRENT ROW\u003c/code\u003e in window spec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/73186a812ce422c108ee81b3de11da6ee9a9e902\"\u003e\u003ccode\u003e73186a8\u003c/code\u003e\u003c/a\u003e feat(optimizer)!: annotate type for Snowflake REGEXP_COUNT function (\u003ca href=\"https://redirect.github.com/tobymao/sqlglot/issues/5963\"\u003e#5963\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/d425ba26b96b368801f8f486fa375cd75105993d\"\u003e\u003ccode\u003ed425ba2\u003c/code\u003e\u003c/a\u003e refactor: make hash and eq non recursive (\u003ca href=\"https://redirect.github.com/tobymao/sqlglot/issues/5966\"\u003e#5966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/6caf99d556a3357ffaa6c294a9babcd30dd5fac5\"\u003e\u003ccode\u003e6caf99d\u003c/code\u003e\u003c/a\u003e feat(optimizer)!: Annotate type for snowflake TRY_HEX_DECODE_STRING function ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/324e82fe1fb11722f91341010602a743b151e055\"\u003e\u003ccode\u003e324e82f\u003c/code\u003e\u003c/a\u003e feat(optimizer)!: Annotate type for snowflake TRY_HEX_DECODE_BINARY function ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/1f5fdd799c047de167a4572f7ac26b7ad92167f2\"\u003e\u003ccode\u003e1f5fdd7\u003c/code\u003e\u003c/a\u003e feat(optimizer)!: Annotate type for snowflake TRY_BASE64_DECODE_STRING functi...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tobymao/sqlglot/compare/v27.0.0...v27.20.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `regex` from 2024.11.6 to 2025.9.18\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mrabarnett/mrab-regex/blob/hg/changelog.txt\"\u003eregex's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eVersion: 2025.9.20\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eEnable free-threading support in cibuildwheel in another place.\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.9.19\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eEnable free-threading support in cibuildwheel.\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.9.18\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eGit issue 565: Support the free-threaded build of CPython 3.13\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.9.1\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eGit PR 585: Fix AttributeError: 'AnyAll' object has no attribute '_key'\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.8.29\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eGit issue 584: AttributeError: 'AnyAll' object has no attribute 'positive'\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.7.34\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eGit issue 575: Issues with ASCII/Unicode modifiers\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.7.33\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eUpdated main.yml and pyproject.toml.\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.7.32\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eGit issue 580: Regression in v2025.7.31: \\P{L} no longer matches in simple patterns\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.7.31\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eFurther updates to main.yml.\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.7.30\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eUpdated main.yml and pyproject.toml.\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.7.29\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eGit issue 572: Inline ASCII modifier doesn't seem to affect anything\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.5.19\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eChanged how main.yml skips unwanted Arch builds.\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.5.18\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/mrabarnett/mrab-regex/commit/db5c9c636e68a44e27d623e11af1c08229ec4963\"\u003e\u003ccode\u003edb5c9c6\u003c/code\u003e\u003c/a\u003e Git issue 565: Support the free-threaded build of CPython 3.13\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/49e3881e9fceb225b0f82d43f1ef09688ec30da3\"\u003e\u003ccode\u003e49e3881\u003c/code\u003e\u003c/a\u003e Git PR 585: Fix AttributeError: 'AnyAll' object has no attribute '_key'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/183a653894f56ad9bc6ca767b795c0439518e2c1\"\u003e\u003ccode\u003e183a653\u003c/code\u003e\u003c/a\u003e Git issue 584: AttributeError: 'AnyAll' object has no attribute 'positive'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/23ca191dd8d259a42bc3dcae092e4eafce48652d\"\u003e\u003ccode\u003e23ca191\u003c/code\u003e\u003c/a\u003e Git issue 575: Issues with ASCII/Unicode modifiers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/88fee8529b5d41846bfdc144f46d2510c547d169\"\u003e\u003ccode\u003e88fee85\u003c/code\u003e\u003c/a\u003e Updated main.yml and pyproject.toml.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/7ebda8c03230f31e28666790a96c40a650fd1b94\"\u003e\u003ccode\u003e7ebda8c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mrabarnett/mrab-regex/issues/582\"\u003e#582\u003c/a\u003e from facelessuser/bugfix/setuptools\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/26d6efc9bf050190d32c1e8b972acc600d4f2edf\"\u003e\u003ccode\u003e26d6efc\u003c/code\u003e\u003c/a\u003e Setup failure scenario\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/a4a6d9443b11beb42d3440df91c76644ce45615c\"\u003e\u003ccode\u003ea4a6d94\u003c/code\u003e\u003c/a\u003e Git issue 580: Regression in v2025.7.31: \\P{L} no longer matches in simple pa...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/becb0d456d90541fa1266e19999b8005b401fb89\"\u003e\u003ccode\u003ebecb0d4\u003c/code\u003e\u003c/a\u003e Updated version and added changes to changelog.txt.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/457bcd38a53fcc695d7f219ff19607f39a7e08e7\"\u003e\u003ccode\u003e457bcd3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mrabarnett/mrab-regex/issues/577\"\u003e#577\u003c/a\u003e from facelessuser/bugfix/linux\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mrabarnett/mrab-regex/compare/2024.11.6...2025.9.18\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pydantic` from 2.11.7 to 2.11.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/releases\"\u003epydantic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.11.9 2025-09-13\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eBackport v1.10.23 changes by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.11.8...v2.11.9\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.11.8...v2.11.9\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.11.8 2025-09-13\u003c/h2\u003e\n\u003ch2\u003ev2.11.8 (2025-09-13)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix mypy plugin for mypy 1.18 by \u003ca href=\"https://github.com/cdce8p\"\u003e\u003ccode\u003e@​cdce8p\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12209\"\u003e#12209\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.11.7...v2.11.8\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.11.7...v2.11.8\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/blob/v2.11.9/HISTORY.md\"\u003epydantic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.11.9 (2025-09-13)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.11.9\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eBackport v1.10.23 changes by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.11.8 (2025-09-13)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.11.8\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix mypy plugin for mypy 1.18 by \u003ca href=\"https://github.com/cdce8p\"\u003e\u003ccode\u003e@​cdce8p\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12209\"\u003e#12209\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/92310953c146a2ac668a0141be820c083e325f5d\"\u003e\u003ccode\u003e9231095\u003c/code\u003e\u003c/a\u003e Prepare release v2.11.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/f003a89eeaff35ee18f220a2c790d20536e3d0ab\"\u003e\u003ccode\u003ef003a89\u003c/code\u003e\u003c/a\u003e Backport v1.10.23 changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/96b81ddaf93a1f2e19ff1609080c33de10b8d931\"\u003e\u003ccode\u003e96b81dd\u003c/code\u003e\u003c/a\u003e Prepare release v2.11.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/966f377692194b3f1d6d5155ac78052bec0a751d\"\u003e\u003ccode\u003e966f377\u003c/code\u003e\u003c/a\u003e Fix mypy v2 plugin for upcoming \u003ccode\u003e1.18\u003c/code\u003e mypy release\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.11.7...v2.11.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pandas` from 2.3.1 to 2.3.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pandas-dev/pandas/releases\"\u003epandas's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ePandas 2.3.3\u003c/h2\u003e\n\u003cp\u003eWe are pleased to announce the release of pandas 2.3.3.\nThis release includes some improvements and fixes to the future string data type (preview feature for the upcoming pandas 3.0). We recommend that all users upgrade to this version.\u003c/p\u003e\n\u003cp\u003eSee the \u003ca href=\"https://pandas.pydata.org/pandas-docs/version/2.3/whatsnew/v2.3.3.html\"\u003efull whatsnew\u003c/a\u003e for a list of all the changes.\nPandas 2.3.3 supports Python 3.9 and higher, and is the first release to support Python 3.14.\u003c/p\u003e\n\u003cp\u003eThe release will be available on the conda-forge channel:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003econda install pandas --channel conda-forge\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eOr via PyPI:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epython3 -m pip install --upgrade pandas\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003ePlease report any issues with the release on the \u003ca href=\"https://github.com/pandas-dev/pandas/issues\"\u003epandas issue tracker\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThanks to all the contributors who made this release possible.\u003c/p\u003e\n\u003ch2\u003ePandas 2.3.2\u003c/h2\u003e\n\u003cp\u003eWe are pleased to announce the release of pandas 2.3.2.\nThis release includes some improvements and fixes to the future string data type (preview feature for the upcoming pandas 3.0). We recommend that all users upgrade to this version.\u003c/p\u003e\n\u003cp\u003eSee the \u003ca href=\"https://pandas.pydata.org/pandas-docs/version/2.3/whatsnew/v2.3.2.html\"\u003efull whatsnew\u003c/a\u003e for a list of all the changes.\nPandas 2.3.2 supports Python 3.9 and higher.\u003c/p\u003e\n\u003cp\u003eThe release will be available on the conda-forge channel:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003econda install pandas --channel conda-forge\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eOr via PyPI:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epython3 -m pip install --upgrade pandas\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003ePlease report any issues with the release on the \u003ca href=\"https://github.com/pandas-dev/pandas/issues\"\u003epandas issue tracker\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThanks to all the contributors who made this release possible.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/9c8bc3e55188c8aff37207a74f1dd144980b8874\"\u003e\u003ccode\u003e9c8bc3e\u003c/code\u003e\u003c/a\u003e RLS: 2.3.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/6aa788a00bda9b0f004302076dad94df3edeafc7\"\u003e\u003ccode\u003e6aa788a\u003c/code\u003e\u003c/a\u003e [backport 2.3.x] DOC: prepare 2.3.3 whatsnew notes for release (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/62499\"\u003e#62499\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/62508\"\u003e#62508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/b64f0df403d11ac733d9f460f89a5e99c8044ed0\"\u003e\u003ccode\u003eb64f0df\u003c/code\u003e\u003c/a\u003e [backport 2.3.x] BUG: avoid validation error for ufunc with string[python] ar...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/058eb2b0edfc408dae9966ef1f03372f2a3ff04c\"\u003e\u003ccode\u003e058eb2b\u003c/code\u003e\u003c/a\u003e [backport 2.3.x] BUG: String[pyarrow] comparison with mixed object (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/62424\"\u003e#62424\u003c/a\u003e) (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/2ca088daef6a9d9333fea8aedffc7e50d28dfdee\"\u003e\u003ccode\u003e2ca088d\u003c/code\u003e\u003c/a\u003e [backport 2.3.x] DEPR: remove the Period resampling deprecation (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/62480\"\u003e#62480\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/62\"\u003e#62\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/92bf98f623572ed053d48be5818c8503f1b61888\"\u003e\u003ccode\u003e92bf98f\u003c/code\u003e\u003c/a\u003e [backport 2.3.x] BUG: fix .str.isdigit to honor unicode superscript for older...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/e57c7d6a2247316188fba0ba2a0db3c11028d75c\"\u003e\u003ccode\u003ee57c7d6\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/62452\"\u003e#62452\u003c/a\u003e on branch 2.3.x (TST: Adjust tests for numexpr 2.13) (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/62454\"\u003e#62454\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/e0fe9a03c90e560c34a3bbbdd1735a8b64f7b281\"\u003e\u003ccode\u003ee0fe9a0\u003c/code\u003e\u003c/a\u003e Backport to 2.3.x: REGR: from_records not initializing subclasses properly (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/23a1085e641c8e3a5b500e319c5973e4160b9236\"\u003e\u003ccode\u003e23a1085\u003c/code\u003e\u003c/a\u003e BUG: improve future warning for boolean operations with missaligned indexes (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/61136969fb18b438b6660bd5d485d0236dbf4a71\"\u003e\u003ccode\u003e6113696\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/62396\"\u003e#62396\u003c/a\u003e on branch 2.3.x (PKG/DOC: indicate Python 3.14 support in ...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pandas-dev/pandas/compare/v2.3.1...v2.3.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `numpy` from 2.3.1 to 2.3.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/numpy/numpy/releases\"\u003enumpy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.3 (Sep 9, 2025)\u003c/h2\u003e\n\u003ch1\u003eNumPy 2.3.3 Release Notes\u003c/h1\u003e\n\u003cp\u003eThe NumPy 2.3.3 release is a patch release split between a number of maintenance\nupdates and bug fixes. This release supports Python versions 3.11-3.14. Note\nthat the 3.14.0 final is currently expected in Oct, 2025. This release is based\non 3.14.0rc2.\u003c/p\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eA total of 13 people contributed to this release. People with a \u0026quot;+\u0026quot; by their\nnames contributed a patch for the first time.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAleksandr A. Voyt +\u003c/li\u003e\n\u003cli\u003eBernard Roesler +\u003c/li\u003e\n\u003cli\u003eCharles Harris\u003c/li\u003e\n\u003cli\u003eHunter Hogan +\u003c/li\u003e\n\u003cli\u003eJoren Hammudoglu\u003c/li\u003e\n\u003cli\u003eMaanas Arora\u003c/li\u003e\n\u003cli\u003eMatti Picus\u003c/li\u003e\n\u003cli\u003eNathan Goldbaum\u003c/li\u003e\n\u003cli\u003eRaghuveer Devulapalli\u003c/li\u003e\n\u003cli\u003eSanjay Kumar Sakamuri Kamalakar +\u003c/li\u003e\n\u003cli\u003eTobias Markus +\u003c/li\u003e\n\u003cli\u003eWarren Weckesser\u003c/li\u003e\n\u003cli\u003eZebreus +\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePull requests merged\u003c/h2\u003e\n\u003cp\u003eA total of 23 pull requests were merged for this release.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29440\"\u003e#29440\u003c/a\u003e: MAINT: Prepare 2.3.x for further development.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29446\"\u003e#29446\u003c/a\u003e: BUG: Fix test_configtool_pkgconfigdir to resolve PKG_CONFIG_DIR...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29447\"\u003e#29447\u003c/a\u003e: BLD: allow targeting webassembly without emscripten\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29460\"\u003e#29460\u003c/a\u003e: MAINT: Backport write_release.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29473\"\u003e#29473\u003c/a\u003e: MAINT: Bump pypa/cibuildwheel from 3.1.0 to 3.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29500\"\u003e#29500\u003c/a\u003e: BUG: Always return a real dtype from linalg.cond (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/18304\"\u003egh-18304\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29333\"\u003e#29333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29501\"\u003e#29501\u003c/a\u003e: MAINT: Add .file entry to all .s SVML files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29556\"\u003e#29556\u003c/a\u003e: BUG: Casting from one timedelta64 to another didn't handle NAT.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29562\"\u003e#29562\u003c/a\u003e: BLD: update vendored Meson to 1.8.3 [wheel build]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29563\"\u003e#29563\u003c/a\u003e: BUG: Fix metadata not roundtripping when pickling datetime (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29555\"\u003e#29555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29587\"\u003e#29587\u003c/a\u003e: TST: update link and version for Intel SDE download\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29593\"\u003e#29593\u003c/a\u003e: TYP: add \u003ccode\u003esorted\u003c/code\u003e kwarg to \u003ccode\u003eunique\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29672\"\u003e#29672\u003c/a\u003e: MAINT: Update pythoncapi-compat from main.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29673\"\u003e#29673\u003c/a\u003e: MAINT: Update cibuildwheel.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29674\"\u003e#29674\u003c/a\u003e: MAINT: Fix typo in wheels.yml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29683\"\u003e#29683\u003c/a\u003e: BUG, BLD: Correct regex for ppc64 VSX3/VSX4 feature detection\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29684\"\u003e#29684\u003c/a\u003e: TYP: ndarray.fill() takes no keyword arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29685\"\u003e#29685\u003c/a\u003e: BUG: avoid thread-unsafe refcount check in temp elision\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29687\"\u003e#29687\u003c/a\u003e: CI: replace comment-hider action in mypy_primer workflow\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/f2a77a76e08719556527e0819182073fe9b5f1c3\"\u003e\u003ccode\u003ef2a77a7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29702\"\u003e#29702\u003c/a\u003e from charris/prepare-2.3.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/8641006104c02492ced251c707c88611621db9e8\"\u003e\u003ccode\u003e8641006\u003c/code\u003e\u003c/a\u003e REL: Prepare for the NumPy 2.3.3 release [wheel build]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/f024265b1aec949ab7d59a9bb82614fae0701255\"\u003e\u003ccode\u003ef024265\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29701\"\u003e#29701\u003c/a\u003e from charris/backport-29697\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/84f2eedb58c4a7370e0d4865a2b11e0420cdf634\"\u003e\u003ccode\u003e84f2eed\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29700\"\u003e#29700\u003c/a\u003e from charris/backport-29695\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/7cacdbf8855fd6da6a7d116bebd896b393e4f441\"\u003e\u003ccode\u003e7cacdbf\u003c/code\u003e\u003c/a\u003e Update VXE and VXE2 detection regex patterns\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/028c46989fee6f8dfc1192d4f71c277deae0c4f9\"\u003e\u003ccode\u003e028c469\u003c/code\u003e\u003c/a\u003e TYP: appease ruff\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/4b80666b63d7779e2509d0690f68a977528268a9\"\u003e\u003ccode\u003e4b80666\u003c/code\u003e\u003c/a\u003e TYP: fix \u003ccode\u003enp.bool\u003c/code\u003e method declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/f2a6b75df162d9a0904b0dbc07b707020fe9d1d5\"\u003e\u003ccode\u003ef2a6b75\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29691\"\u003e#29691\u003c/a\u003e from charris/backport-29665\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/a707cbf5e36c9316099f6ae471718d98a18170f5\"\u003e\u003ccode\u003ea707cbf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29689\"\u003e#29689\u003c/a\u003e from charris/backport-29662\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/3d66056fa31a89fefb632229eb21f21d63cd8964\"\u003e\u003ccode\u003e3d66056\u003c/code\u003e\u003c/a\u003e BUG: use correct input dtype in flatiter assignment\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/numpy/numpy/compare/v2.3.1...v2.3.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pg8000` from 1.31.4 to 1.31.5\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tlocke/pg8000/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest` from 8.4.1 to 8.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest/releases\"\u003epytest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.4.2\u003c/h2\u003e\n\u003ch1\u003epytest 8.4.2 (2025-09-03)\u003c/h1\u003e\n\u003ch2\u003eBug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13478\"\u003e#13478\u003c/a\u003e: Fixed a crash when using \u003ccode\u003econsole_output_style\u003c/code\u003e{.interpreted-text role=\u0026quot;confval\u0026quot;} with \u003ccode\u003etimes\u003c/code\u003e and a module is skipped.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13530\"\u003e#13530\u003c/a\u003e: Fixed a crash when using \u003ccode\u003epytest.approx\u003c/code\u003e{.interpreted-text role=\u0026quot;func\u0026quot;} and \u003ccode\u003edecimal.Decimal\u003c/code\u003e{.interpreted-text role=\u0026quot;class\u0026quot;} instances with the \u003ccode\u003edecimal.FloatOperation\u003c/code\u003e{.interpreted-text role=\u0026quot;class\u0026quot;} trap set.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13549\"\u003e#13549\u003c/a\u003e: No longer evaluate type annotations in Python \u003ccode\u003e3.14\u003c/code\u003e when inspecting function signatures.\u003c/p\u003e\n\u003cp\u003eThis prevents crashes during module collection when modules do not explicitly use \u003ccode\u003efrom __future__ import annotations\u003c/code\u003e and import types for annotations within a \u003ccode\u003eif TYPE_CHECKING:\u003c/code\u003e block.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13559\"\u003e#13559\u003c/a\u003e: Added missing [int]{.title-ref} and [float]{.title-ref} variants to the [Literal]{.title-ref} type annotation of the [type]{.title-ref} parameter in \u003ccode\u003epytest.Parser.addini\u003c/code\u003e{.interpreted-text role=\u0026quot;meth\u0026quot;}.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13563\"\u003e#13563\u003c/a\u003e: \u003ccode\u003epytest.approx\u003c/code\u003e{.interpreted-text role=\u0026quot;func\u0026quot;} now only imports \u003ccode\u003enumpy\u003c/code\u003e if NumPy is already in \u003ccode\u003esys.modules\u003c/code\u003e. This fixes unconditional import behavior introduced in [8.4.0]{.title-ref}.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImproved documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13577\"\u003e#13577\u003c/a\u003e: Clarify that \u003ccode\u003epytest_generate_tests\u003c/code\u003e is discovered in test modules/classes; other hooks must be in \u003ccode\u003econftest.py\u003c/code\u003e or plugins.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributor-facing changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13480\"\u003e#13480\u003c/a\u003e: Self-testing: fixed a few test failures when run with \u003ccode\u003e-Wdefault\u003c/code\u003e or a similar override.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13547\"\u003e#13547\u003c/a\u003e: Self-testing: corrected expected message for \u003ccode\u003etest_doctest_unexpected_exception\u003c/code\u003e in Python \u003ccode\u003e3.14\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13684\"\u003e#13684\u003c/a\u003e: Make pytest's own testsuite insensitive to the presence of the \u003ccode\u003eCI\u003c/code\u003e environment variable -- by \u003ccode\u003eogrisel\u003c/code\u003e{.interpreted-text role=\u0026quot;user\u0026quot;}.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/bfae4224fd554d3d7f2c277a4cc092b6ec6af3ae\"\u003e\u003ccode\u003ebfae422\u003c/code\u003e\u003c/a\u003e Prepare release version 8.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/89905381a163be30ae87d62e5f750e902d750c5f\"\u003e\u003ccode\u003e8990538\u003c/code\u003e\u003c/a\u003e Fix passenv CI in tox ini and make tests insensitive to the presence of the C...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/ca676bfe005aebcb12f4146d1b0f1d2772e2cd5d\"\u003e\u003ccode\u003eca676bf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13687\"\u003e#13687\u003c/a\u003e from pytest-dev/patchback/backports/8.4.x/e63f6e51c...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/975a60a63ce385a44655596e254c1899feaa53e4\"\u003e\u003ccode\u003e975a60a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13686\"\u003e#13686\u003c/a\u003e from pytest-dev/patchback/backports/8.4.x/12bde8af6...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/7723ce84b87ab08f86ddafcb342acc28ba5ec99d\"\u003e\u003ccode\u003e7723ce8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13683\"\u003e#13683\u003c/a\u003e from even-even/fix_Exeption_to_Exception_in_errorMe...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/b7f05680d1301e0969b30bcb3c4b27433c9ee2b7\"\u003e\u003ccode\u003eb7f0568\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13685\"\u003e#13685\u003c/a\u003e from CoretexShadow/fix/docs-pytest-generate-tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/2c94c4a6948ba53440818389298157fa5d5f94cd\"\u003e\u003ccode\u003e2c94c4a\u003c/code\u003e\u003c/a\u003e add missing colon (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13640\"\u003e#13640\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13641\"\u003e#13641\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/c3d7684bc01c8c48d05145a30c5211ca8656c68c\"\u003e\u003ccode\u003ec3d7684\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13606\"\u003e#13606\u003c/a\u003e from pytest-dev/patchback/backports/8.4.x/5f9938563...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/dc6e3be2ddc75a149b6d102d9b7c82ee47a00cfa\"\u003e\u003ccode\u003edc6e3be\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13605\"\u003e#13605\u003c/a\u003e from The-Compiler/training-update-2025-07\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/f87289c36c8dbe7740e3020f5546b6f8b0861ff0\"\u003e\u003ccode\u003ef87289c\u003c/code\u003e\u003c/a\u003e Fix crash with \u003ccode\u003etimes\u003c/code\u003e output style and skipped module (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13573\"\u003e#13573\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13579\"\u003e#13579\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest/compare/8.4.1...8.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-asyncio` from 1.1.0 to 1.2.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/releases\"\u003epytest-asyncio's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epytest-asyncio 1.2.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/tree/1.2.0\"\u003e1.2.0\u003c/a\u003e - 2025-09-12\u003c/h1\u003e\n\u003ch2\u003eAdded\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e--asyncio-debug\u003c/code\u003e CLI option and \u003ccode\u003easyncio_debug\u003c/code\u003e configuration option to enable asyncio debug mode for the default event loop. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/980\"\u003e#980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA \u003ccode\u003epytest.UsageError\u003c/code\u003e for invalid configuration values of \u003ccode\u003easyncio_default_fixture_loop_scope\u003c/code\u003e and \u003ccode\u003easyncio_default_test_loop_scope\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1189\"\u003e#1189\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCompatibility with the Pyright type checker (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/731\"\u003e#731\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eRuntimeError: There is no current event loop in thread 'MainThread'\u003c/code\u003e when any test unsets the event loop (such as when using \u003ccode\u003easyncio.run\u003c/code\u003e and \u003ccode\u003easyncio.Runner\u003c/code\u003e). (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1177\"\u003e#1177\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDeprecation warning when decorating an asynchronous fixture with \u003ccode\u003e@pytest.fixture\u003c/code\u003e in [strict]{.title-ref} mode. The warning message now refers to the correct package. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1198\"\u003e#1198\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNotes for Downstream Packagers\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump the minimum required version of tox to v4.28. This change is only relevant if you use the \u003ccode\u003etox.ini\u003c/code\u003e file provided by pytest-asyncio to run tests.\u003c/li\u003e\n\u003cli\u003eExtend dependency on typing-extensions\u0026gt;=4.12 from Python\u0026lt;3.10 to Python\u0026lt;3.13.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epytest-asyncio 1.1.1\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/tree/v1.1.1\"\u003ev1.1.1\u003c/a\u003e - 2025-09-12\u003c/h1\u003e\n\u003ch2\u003eNotes for Downstream Packagers\u003c/h2\u003e\n\u003cp\u003e- Addresses a build problem with setuptoos-scm \u0026gt;= 9 caused by invalid setuptools-scm configuration in pytest-asyncio. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1192\"\u003e#1192\u003c/a\u003e)\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/0d3988f5adc16e8b364266c9ecda42a36d5892ff\"\u003e\u003ccode\u003e0d3988f\u003c/code\u003e\u003c/a\u003e ci: Create GitHub release before publishing to PyPI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/07c5a0b3e0bb99c7592ab87ed17a4bb2966fdf6a\"\u003e\u003ccode\u003e07c5a0b\u003c/code\u003e\u003c/a\u003e docs: Include orphaned news fragment in changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/be24582b86375b761534639be6c2941d0b3f116c\"\u003e\u003ccode\u003ebe24582\u003c/code\u003e\u003c/a\u003e chore: Prepare release of v1.2.0.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/7aeb296b9f95e57c371734dcb1d3ece3f7c81727\"\u003e\u003ccode\u003e7aeb296\u003c/code\u003e\u003c/a\u003e docs: Streamline news fragments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/7b8311cf1d2f67931f4fd9bbbe6d9f3b09572ebb\"\u003e\u003ccode\u003e7b8311c\u003c/code\u003e\u003c/a\u003e ci: Fixes a bug that prevented SSH signature from being stripped from release...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/9d4c2bd8770d4073e015213373975f217d3ac8f5\"\u003e\u003ccode\u003e9d4c2bd\u003c/code\u003e\u003c/a\u003e docs: Add changelog entry for Pyright compatibility.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/94f6106ea0c7ee716d7cf85377c653baa9cb7cd9\"\u003e\u003ccode\u003e94f6106\u003c/code\u003e\u003c/a\u003e test: Added tests which assert that the event loop is reinstated if unset by ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/df61991f1805f45ab31ae2d2fb73a54ff25ccd0c\"\u003e\u003ccode\u003edf61991\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/f1f7941691ff506ab553dfd6d00b09e8213eeff7\"\u003e\u003ccode\u003ef1f7941\u003c/code\u003e\u003c/a\u003e Build(deps): Bump pytest from 8.4.1 to 8.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/c77d3d38f7adb41f5f6ea7b002da4e0f480c5c24\"\u003e\u003ccode\u003ec77d3d3\u003c/code\u003e\u003c/a\u003e Build(deps): Bump twine from 6.1.0 to 6.2.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/compare/v1.1.0...v1.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/google/adk-samples/pull/436","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/google%2Fadk-samples/issues/436","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/436/packages"},{"uuid":"2870641997","node_id":"PR_kwDODX3mAs6rGoVN","number":334,"state":"open","title":"Bump the python-dependencies group across 1 directory with 26 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":null,"author_association":"NONE","state_reason":null,"created_at":"2025-09-29T13:25:03.000Z","updated_at":"2025-09-29T13:25:04.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"python-dependencies","update_count":26,"packages":[{"name":"jsonschema","old_version":"4.25.0","new_version":"4.25.1","repository_url":"https://github.com/python-jsonschema/jsonschema"},{"name":"pyparsing","old_version":"3.2.3","new_version":"3.2.5","repository_url":"https://github.com/pyparsing/pyparsing"},{"name":"typing-extensions","old_version":"4.14.1","new_version":"4.15.0","repository_url":"https://github.com/python/typing_extensions"},{"name":"pg8000","old_version":"1.31.4","new_version":"1.31.5","repository_url":"https://github.com/tlocke/pg8000"},{"name":"pymysql","old_version":"1.1.1","new_version":"1.1.2","repository_url":"https://github.com/PyMySQL/PyMySQL"},{"name":"rdflib","old_version":"7.1.4","new_version":"7.2.1","repository_url":"https://github.com/RDFLib/rdflib"},{"name":"holidays","old_version":"0.77","new_version":"0.81","repository_url":"https://github.com/vacanza/holidays"},{"name":"cheroot","old_version":"10.0.1","new_version":"11.0.0","repository_url":"https://github.com/cherrypy/cheroot"},{"name":"tornado","old_version":"6.5.1","new_version":"6.5.2","repository_url":"https://github.com/tornadoweb/tornado"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [jsonschema](https://github.com/python-jsonschema/jsonschema), [pyparsing](https://github.com/pyparsing/pyparsing), [typing-extensions](https://github.com/python/typing_extensions), [pg8000](https://github.com/tlocke/pg8000), [pymysql](https://github.com/PyMySQL/PyMySQL), [rdflib](https://github.com/RDFLib/rdflib), [holidays](https://github.com/vacanza/holidays), [cheroot](https://github.com/cherrypy/cheroot), [tornado](https://github.com/tornadoweb/tornado), [setuptools-scm[toml]](https://github.com/pypa/setuptools-scm), [filelock](https://github.com/tox-dev/py-filelock), [regex](https://github.com/mrabarnett/mrab-regex), [boto3](https://github.com/boto/boto3), [pytest](https://github.com/pytest-dev/pytest), [requests](https://github.com/psf/requests), [ixbrl-viewer](https://github.com/Arelle/ixbrl-viewer), [mypy](https://github.com/python/mypy), [boto3-stubs](https://github.com/youtype/mypy_boto3_builder), [types-pymysql](https://github.com/typeshed-internal/stub_uploader), [types-openpyxl](https://github.com/typeshed-internal/stub_uploader), [types-python-dateutil](https://github.com/typeshed-internal/stub_uploader), [types-pytz](https://github.com/typeshed-internal/stub_uploader), [types-regex](https://github.com/typeshed-internal/stub_uploader), [types-simplejson](https://github.com/typeshed-internal/stub_uploader), [types-ujson](https://github.com/typeshed-internal/stub_uploader) and [furo](https://github.com/pradyunsg/furo) to permit the latest version.\nUpdates `jsonschema` from 4.25.0 to 4.25.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-jsonschema/jsonschema/releases\"\u003ejsonschema's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.25.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidator\u003c/code\u003e protocol init to match runtime by \u003ca href=\"https://github.com/sirosen\"\u003e\u003ccode\u003e@​sirosen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1396\"\u003epython-jsonschema/jsonschema#1396\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/python-jsonschema/jsonschema/compare/v4.25.0...v4.25.1\"\u003ehttps://github.com/python-jsonschema/jsonschema/compare/v4.25.0...v4.25.1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-jsonschema/jsonschema/blob/main/CHANGELOG.rst\"\u003ejsonschema's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev4.25.1\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix an incorrect required argument in the \u003ccode\u003eValidator\u003c/code\u003e protocol's type annotations (\u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1396\"\u003e#1396\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/331c38425519b69118d22ebe467ad230fb83a010\"\u003e\u003ccode\u003e331c384\u003c/code\u003e\u003c/a\u003e Add the fix to the changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/c1ec0a645e913e83de95995f6efbbd358676abf6\"\u003e\u003ccode\u003ec1ec0a6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1398\"\u003e#1398\u003c/a\u003e from python-jsonschema/dependabot/github_actions/ast...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/8e7d594faff13f8f663b306a0d86bea0ce5de6cb\"\u003e\u003ccode\u003e8e7d594\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1399\"\u003e#1399\u003c/a\u003e from python-jsonschema/dependabot/github_actions/act...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/460f4fae42664773160f56ccc843a4fcea34f7cf\"\u003e\u003ccode\u003e460f4fa\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1396\"\u003e#1396\u003c/a\u003e from sirosen/improve-protocol-init-signature\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/1e58409b71a9696b7bf9938ae8a3a48ef95ab29e\"\u003e\u003ccode\u003e1e58409\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] auto fixes from pre-commit.com hooks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/64bc2171624ef201bdbf35e47780348ce30935c5\"\u003e\u003ccode\u003e64bc217\u003c/code\u003e\u003c/a\u003e Add a typing test for the Validator protocol\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/6c25741bff889477680f9b0d1aa967ae35c38f43\"\u003e\u003ccode\u003e6c25741\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/bf603d59117f840916709fc87c6625df43d1fe72\"\u003e\u003ccode\u003ebf603d5\u003c/code\u003e\u003c/a\u003e Bump astral-sh/setup-uv from 6.4.3 to 6.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/a916d8f8253baa11bacc60f0868f0bab1e42d526\"\u003e\u003ccode\u003ea916d8f\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eValidator\u003c/code\u003e protocol init to match runtime\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/de60f18bd97395a52a11b561eb62963e0ffe9e71\"\u003e\u003ccode\u003ede60f18\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1397\"\u003e#1397\u003c/a\u003e from python-jsonschema/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-jsonschema/jsonschema/compare/v4.25.0...v4.25.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyparsing` from 3.2.3 to 3.2.5\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyparsing/pyparsing/blob/master/CHANGES\"\u003epyparsing's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.2.5 - September, 2025\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eJINX! Well, 3.2.4 had a bug for \u003ccode\u003eWord\u003c/code\u003e expressions that include a space\ncharacter, if that expression was then copied, either directly with .copy() or\nby adding a results name, or including in another construct (like \u003ccode\u003eDelimitedList\u003c/code\u003e)\nthat makes a copy internally. Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/618\"\u003e#618\u003c/a\u003e, reported by mstinberg, among others -\nthanks, and sorry for the inconvenience.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.2.4 - September, 2025\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eBarring any catastrophic bugs in this release, this will be the last release in\nthe 3.2.x line. The next release, 3.3.0, will begin emitting \u003ccode\u003eDeprecationWarnings\u003c/code\u003e\nwhen the pre-PEP8 methods are used (see header notes above for more information,\nincluding available automation for converting any existing code using\npyparsing with the old names).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed bug when using a copy of a \u003ccode\u003eWord\u003c/code\u003e expression (either by using the explicit\n\u003ccode\u003ecopy()\u003c/code\u003e method, or attaching a results name), and setting a new expression name,\na raised \u003ccode\u003eParseException\u003c/code\u003e still used the original expression name. Also affected\n\u003ccode\u003eRegex\u003c/code\u003e expressions with \u003ccode\u003eas_match\u003c/code\u003e or \u003ccode\u003eas_group_list\u003c/code\u003e = True. Reported by\nWaqas Ilyas, in Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/612\"\u003e#612\u003c/a\u003e - good catch!\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed type annotation for \u003ccode\u003ereplace_with\u003c/code\u003e, to accept \u003ccode\u003eAny\u003c/code\u003e type. Fixes Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/602\"\u003e#602\u003c/a\u003e,\nreported by esquonk.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded locking around potential race condition in \u003ccode\u003eParserElement.reset_cache\u003c/code\u003e, as\nwell as other cache-related methods. Fixes Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/604\"\u003e#604\u003c/a\u003e, reported by CarlosDescalziIM.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSubstantial update to docstrings and doc generation in preparation for 3.3.0,\ngreat effort by FeRD, thanks!\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNotable addition by FeRD to convert docstring examples to work with doctest! This\nwas long overdue, thanks so much!\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/dbbd53ad1cd0ab31ae2a8fee5a64a718788b63fb\"\u003e\u003ccode\u003edbbd53a\u003c/code\u003e\u003c/a\u003e More unit tests and some comments for traceability to Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/618\"\u003e#618\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/f5bdb2deff92859e068937f2ae502136b38ad16f\"\u003e\u003ccode\u003ef5bdb2d\u003c/code\u003e\u003c/a\u003e Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/618\"\u003e#618\u003c/a\u003e - fix reference to re_match attribute in copy of Word object to fi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/8c61893d362b21d66fa3646c073295235ef166fd\"\u003e\u003ccode\u003e8c61893\u003c/code\u003e\u003c/a\u003e Prep for 3.2.5 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/57923cd6a651d81c72b4e60b2baa02fbedf217ba\"\u003e\u003ccode\u003e57923cd\u003c/code\u003e\u003c/a\u003e Enable matplotlib unit tests for Python 3.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/fad1505f8ab91cc897f3067868e500257130e1a4\"\u003e\u003ccode\u003efad1505\u003c/code\u003e\u003c/a\u003e Update CHANGES file with thanks to FeRD for making the docstring examples doc...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/6622151cb440e85de9880ca6b7f3652e0962e315\"\u003e\u003ccode\u003e6622151\u003c/code\u003e\u003c/a\u003e Update tox.ini to add doctest testing for all Python versions 3.10 and later\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/e6ed66bdcd6da3ef63f4396565d860467efb5252\"\u003e\u003ccode\u003ee6ed66b\u003c/code\u003e\u003c/a\u003e Change doctest for LineStart to reflect latest implementation of \u0026quot;is this tok...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/23092da6569c97f30605ff2fe818fc15b3d12567\"\u003e\u003ccode\u003e23092da\u003c/code\u003e\u003c/a\u003e Doctests for pyparsing.exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/0bae3cdcc9274dbbcde5daabba739d3b1ddb49fc\"\u003e\u003ccode\u003e0bae3cd\u003c/code\u003e\u003c/a\u003e Doctests for pyparsing.common\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/98ec165d1a66247dbeffcf692643765648fb230f\"\u003e\u003ccode\u003e98ec165\u003c/code\u003e\u003c/a\u003e Docs: Add doctest-wrtiting documentation\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyparsing/pyparsing/compare/3.2.3...3.2.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `typing-extensions` from 4.14.1 to 4.15.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/typing_extensions/releases\"\u003etyping-extensions's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.15.0\u003c/h2\u003e\n\u003cp\u003eNo user-facing changes since 4.15.0rc1.\u003c/p\u003e\n\u003cp\u003eNew features since 4.14.1:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd the \u003ccode\u003e@typing_extensions.disjoint_base\u003c/code\u003e decorator, as specified\nin PEP 800. Patch by Jelle Zijlstra.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etyping_extensions.type_repr\u003c/code\u003e, a backport of\n\u003ca href=\"https://docs.python.org/3.14/library/annotationlib.html#annotationlib.type_repr\"\u003e\u003ccode\u003eannotationlib.type_repr\u003c/code\u003e\u003c/a\u003e,\nintroduced in Python 3.14 (CPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/124551\"\u003e#124551\u003c/a\u003e,\noriginally by Jelle Zijlstra). Patch by Semyon Moroz.\u003c/li\u003e\n\u003cli\u003eFix behavior of type params in \u003ccode\u003etyping_extensions.evaluate_forward_ref\u003c/code\u003e. Backport of\nCPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/137227\"\u003e#137227\u003c/a\u003e by Jelle Zijlstra.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.15.0rc1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd the \u003ccode\u003e@typing_extensions.disjoint_base\u003c/code\u003e decorator, as specified\nin PEP 800. Patch by Jelle Zijlstra.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etyping_extensions.type_repr\u003c/code\u003e, a backport of\n\u003ca href=\"https://docs.python.org/3.14/library/annotationlib.html#annotationlib.type_repr\"\u003e\u003ccode\u003eannotationlib.type_repr\u003c/code\u003e\u003c/a\u003e,\nintroduced in Python 3.14 (CPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/124551\"\u003e#124551\u003c/a\u003e,\noriginally by Jelle Zijlstra). Patch by Semyon Moroz.\u003c/li\u003e\n\u003cli\u003eFix behavior of type params in \u003ccode\u003etyping_extensions.evaluate_forward_ref\u003c/code\u003e. Backport of\nCPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/137227\"\u003e#137227\u003c/a\u003e by Jelle Zijlstra.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/typing_extensions/blob/main/CHANGELOG.md\"\u003etyping-extensions's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eRelease 4.15.0 (August 25, 2025)\u003c/h1\u003e\n\u003cp\u003eNo user-facing changes since 4.15.0rc1.\u003c/p\u003e\n\u003ch1\u003eRelease 4.15.0rc1 (August 18, 2025)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd the \u003ccode\u003e@typing_extensions.disjoint_base\u003c/code\u003e decorator, as specified\nin PEP 800. Patch by Jelle Zijlstra.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etyping_extensions.type_repr\u003c/code\u003e, a backport of\n\u003ca href=\"https://docs.python.org/3.14/library/annotationlib.html#annotationlib.type_repr\"\u003e\u003ccode\u003eannotationlib.type_repr\u003c/code\u003e\u003c/a\u003e,\nintroduced in Python 3.14 (CPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/124551\"\u003e#124551\u003c/a\u003e,\noriginally by Jelle Zijlstra). Patch by Semyon Moroz.\u003c/li\u003e\n\u003cli\u003eFix behavior of type params in \u003ccode\u003etyping_extensions.evaluate_forward_ref\u003c/code\u003e. Backport of\nCPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/137227\"\u003e#137227\u003c/a\u003e by Jelle Zijlstra.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/9d1637e264b5c1a6b7acee3e907015f89b20c2c9\"\u003e\u003ccode\u003e9d1637e\u003c/code\u003e\u003c/a\u003e Prepare release 4.15.0 (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/658\"\u003e#658\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/4bd67c5be5d9443c7d33c314d02a56ee125eb88d\"\u003e\u003ccode\u003e4bd67c5\u003c/code\u003e\u003c/a\u003e Coverage: exclude some noise (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/656\"\u003e#656\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/e589a26da73b075c5276bae40b86db1af0144f84\"\u003e\u003ccode\u003ee589a26\u003c/code\u003e\u003c/a\u003e Coverage: add detailed report to job summary (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/655\"\u003e#655\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/67d37fed1298e050f74d5acc95b2621bd37837ad\"\u003e\u003ccode\u003e67d37fe\u003c/code\u003e\u003c/a\u003e Coverage: Implement fail_under (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/654\"\u003e#654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/e9ae26f5286edee9262727755ecb9ad16e999192\"\u003e\u003ccode\u003ee9ae26f\u003c/code\u003e\u003c/a\u003e Don't delete previous coverage comment (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/653\"\u003e#653\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/ac80bb728a3006fc88ef7373b92f0c25cfcc7895\"\u003e\u003ccode\u003eac80bb7\u003c/code\u003e\u003c/a\u003e Add Coverage workflow (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/623\"\u003e#623\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/abaaafd98c1cc7e5baf098ec287a3d22cb339670\"\u003e\u003ccode\u003eabaaafd\u003c/code\u003e\u003c/a\u003e Prepare release 4.15.0rc1 (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/650\"\u003e#650\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/98104053ea8d49bcdd247804e5fa9f73136acbd4\"\u003e\u003ccode\u003e9810405\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003e@disjoint_base\u003c/code\u003e (PEP 800) (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/634\"\u003e#634\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/7ee9e05fd484d06899ce56e80f5e1aa4c760fc03\"\u003e\u003ccode\u003e7ee9e05\u003c/code\u003e\u003c/a\u003e Backport type_params fix from CPython (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/646\"\u003e#646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/1e8eb9c06ef51b3a1e1f05303a16feca13f5ed98\"\u003e\u003ccode\u003e1e8eb9c\u003c/code\u003e\u003c/a\u003e Do not refer to PEP 705 as being experimental (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/648\"\u003e#648\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python/typing_extensions/compare/4.14.1...4.15.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pg8000` from 1.31.4 to 1.31.5\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tlocke/pg8000/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pymysql` from 1.1.1 to 1.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/PyMySQL/PyMySQL/releases\"\u003epymysql's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.1.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent UnboundLocalError on MySQLResult initialization during SystemExit by \u003ca href=\"https://github.com/palm002\"\u003e\u003ccode\u003e@​palm002\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1174\"\u003ePyMySQL/PyMySQL#1174\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eremove mention of runtests.py by \u003ca href=\"https://github.com/cfbolz\"\u003e\u003ccode\u003e@​cfbolz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1182\"\u003ePyMySQL/PyMySQL#1182\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003emake sure to also close \u003ccode\u003econnection._rfile\u003c/code\u003e in \u003ccode\u003eConnection._force_close\u003c/code\u003e by \u003ca href=\"https://github.com/cfbolz\"\u003e\u003ccode\u003e@​cfbolz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1184\"\u003ePyMySQL/PyMySQL#1184\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded MariaDB in readme description (\u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1180\"\u003e#1180\u003c/a\u003e) by \u003ca href=\"https://github.com/theneuralcraftsman\"\u003e\u003ccode\u003e@​theneuralcraftsman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1186\"\u003ePyMySQL/PyMySQL#1186\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update dependency sphinx-rtd-theme to v3 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1189\"\u003ePyMySQL/PyMySQL#1189\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update dependency sphinx to v8 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1179\"\u003ePyMySQL/PyMySQL#1179\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for Python 3.13 by \u003ca href=\"https://github.com/Cycloctane\"\u003e\u003ccode\u003e@​Cycloctane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1190\"\u003ePyMySQL/PyMySQL#1190\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eResolve UTF8 charset case-insensitively by \u003ca href=\"https://github.com/ek247\"\u003e\u003ccode\u003e@​ek247\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1195\"\u003ePyMySQL/PyMySQL#1195\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupdate ci versions by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1196\"\u003ePyMySQL/PyMySQL#1196\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003euse KILL instead of COM_KILL for MySQL 8.4 support by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1197\"\u003ePyMySQL/PyMySQL#1197\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edisable VERIFY_X509_STRICT for Python 3.13 support by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1198\"\u003ePyMySQL/PyMySQL#1198\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update codecov/codecov-action action to v5 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1191\"\u003ePyMySQL/PyMySQL#1191\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd MariaDB to README.md by \u003ca href=\"https://github.com/robertsilen\"\u003e\u003ccode\u003e@​robertsilen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1181\"\u003ePyMySQL/PyMySQL#1181\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: use defer_connect instead of mock by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1199\"\u003ePyMySQL/PyMySQL#1199\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: use astral-sh/ruff-action by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1201\"\u003ePyMySQL/PyMySQL#1201\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix auth_switch_request handling by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1200\"\u003ePyMySQL/PyMySQL#1200\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: update test matrix by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1215\"\u003ePyMySQL/PyMySQL#1215\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: do not drop MySQL 5.7 test for now by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1216\"\u003ePyMySQL/PyMySQL#1216\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupdate README by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1217\"\u003ePyMySQL/PyMySQL#1217\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eprepare v1.1.2 by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1218\"\u003ePyMySQL/PyMySQL#1218\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/palm002\"\u003e\u003ccode\u003e@​palm002\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1174\"\u003ePyMySQL/PyMySQL#1174\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cfbolz\"\u003e\u003ccode\u003e@​cfbolz\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1182\"\u003ePyMySQL/PyMySQL#1182\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theneuralcraftsman\"\u003e\u003ccode\u003e@​theneuralcraftsman\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1186\"\u003ePyMySQL/PyMySQL#1186\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Cycloctane\"\u003e\u003ccode\u003e@​Cycloctane\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1190\"\u003ePyMySQL/PyMySQL#1190\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ek247\"\u003e\u003ccode\u003e@​ek247\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1195\"\u003ePyMySQL/PyMySQL#1195\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/robertsilen\"\u003e\u003ccode\u003e@​robertsilen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1181\"\u003ePyMySQL/PyMySQL#1181\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/PyMySQL/PyMySQL/compare/v1.1.1...v1.1.2\"\u003ehttps://github.com/PyMySQL/PyMySQL/compare/v1.1.1...v1.1.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/PyMySQL/PyMySQL/blob/main/CHANGELOG.md\"\u003epymysql's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.1.2\u003c/h2\u003e\n\u003cp\u003eRelease date: 2025-08-24\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent UnboundLocalError in very rare situation. \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1174\"\u003ePyMySQL/PyMySQL#1174\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClose underlying \u003ccode\u003eSocketIO\u003c/code\u003e soon when Connection is closed for PyPy. \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1183\"\u003ePyMySQL/PyMySQL#1183\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix importing PyMySQL fail on CPython 3.13 when \u003ccode\u003egetpass.getuser()\u003c/code\u003e raises OSEError. \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1190\"\u003ePyMySQL/PyMySQL#1190\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake charset name \u0026quot;utf8\u0026quot; case insensitive. \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1195\"\u003ePyMySQL/PyMySQL#1195\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.kill()\u003c/code\u003e uses \u003ccode\u003eKILL\u003c/code\u003e query instead of \u003ccode\u003eCOM_KILL\u003c/code\u003ecommand to support MySQL 8.4. \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1197\"\u003ePyMySQL/PyMySQL#1197\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix SSL error on CPython 3.13 caused by strict TLS default setting. \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1198\"\u003ePyMySQL/PyMySQL#1198\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix auth switch request handling. \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1200\"\u003ePyMySQL/PyMySQL#1200\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/PyMySQL/PyMySQL/commit/d7bb777e503d82bf2496113f07dd4ab249615efc\"\u003e\u003ccode\u003ed7bb777\u003c/code\u003e\u003c/a\u003e release v1.1.2 (\u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1218\"\u003e#1218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyMySQL/PyMySQL/commit/2559de5a6b01917622fc8986cd3dd8479d7d6e95\"\u003e\u003ccode\u003e2559de5\u003c/code\u003e\u003c/a\u003e update README (\u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1217\"\u003e#1217\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyMySQL/PyMySQL/commit/a388c3a5e274c3b8c03e5f1dcb442b4bb2f9bafd\"\u003e\u003ccode\u003ea388c3a\u003c/code\u003e\u003c/a\u003e ci: do not drop MySQL 5.7 test for now (\u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1216\"\u003e#1216\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyMySQL/PyMySQL/commit/9a3fe442edaca9db6da1809c82dbb6f4192440ee\"\u003e\u003ccode\u003e9a3fe44\u003c/code\u003e\u003c/a\u003e ci: update test matrix (\u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1215\"\u003e#1215\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyMySQL/PyMySQL/commit/bed601f04fb982c7c42c6ff7e56b7f749ac64cc9\"\u003e\u003ccode\u003ebed601f\u003c/code\u003e\u003c/a\u003e Add DeepWiki badge\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyMySQL/PyMySQL/commit/01af30fea0880c3b72e6c7b3b05d66a8c28ced7a\"\u003e\u003ccode\u003e01af30f\u003c/code\u003e\u003c/a\u003e fix auth_switch_request handling (\u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1200\"\u003e#1200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyMySQL/PyMySQL/commit/53efd1ec7f0e854abc62eb875b944f56bca29dd2\"\u003e\u003ccode\u003e53efd1e\u003c/code\u003e\u003c/a\u003e ci: use astral-sh/ruff-action (\u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1201\"\u003e#1201\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyMySQL/PyMySQL/commit/e88b729f8f1ddcf0851e0153188b016d0e9ec00c\"\u003e\u003ccode\u003ee88b729\u003c/code\u003e\u003c/a\u003e remove codeql and codesee actions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyMySQL/PyMySQL/commit/5f6533f883535b76c2d3a776c4746027027106f8\"\u003e\u003ccode\u003e5f6533f\u003c/code\u003e\u003c/a\u003e refactor: use defer_connect instead of mock (\u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1199\"\u003e#1199\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyMySQL/PyMySQL/commit/66ad1eaa47cfde19dfe01900ceb5f6ea51483e95\"\u003e\u003ccode\u003e66ad1ea\u003c/code\u003e\u003c/a\u003e add MariaDB to README.md (\u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1181\"\u003e#1181\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/PyMySQL/PyMySQL/compare/v1.1.1...v1.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rdflib` from 7.1.4 to 7.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/RDFLib/rdflib/releases\"\u003erdflib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2025-09-19 RELEASE 7.2.1\u003c/h2\u003e\n\u003cp\u003eNew features:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCanonicalization is now optional in the longturtle serializer. When serializing with the \u003ccode\u003elongturtle\u003c/code\u003e format, set \u003ccode\u003ecanon=True\u003c/code\u003e to enable canonicalization.\u003c/li\u003e\n\u003cli\u003eGeneral type hints enhancements\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed deskolemization of literals\u003c/li\u003e\n\u003cli\u003eFixed round-tripping of floats in N3 - floating point and scientific notation handling\u003c/li\u003e\n\u003cli\u003eFixed CI validation workflow, including regressions in tests\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eLiteral.toPython\u003c/code\u003e date conversion for gYear/gYearMonth\u003c/li\u003e\n\u003cli\u003eFixed namespace prefixes in longturtle serialization\u003c/li\u003e\n\u003cli\u003eFixed missing dot in RDF patch serialization\u003c/li\u003e\n\u003cli\u003ePrevious RDFLib releases required all downstream projects to specify \u0026lt;4.0.0. This release relaxes this requirement to allow Python 3.8.1 and later.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee the \u003ca href=\"https://github.com/RDFLib/rdflib/blob/main/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for more details.\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/RDFLib/rdflib/blob/main/CHANGELOG.md\"\u003erdflib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2025-09-19 RELEASE 7.2.1\u003c/h2\u003e\n\u003cp\u003eA tiny clean up release.\u003c/p\u003e\n\u003cp\u003eFixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePrevious RDFLib releases required all downstream projects to specify \u0026lt;4.0.0. This release relaxes this requirement to allow Python 3.8.1 and later.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2025-09-19 RELEASE 7.2.0\u003c/h2\u003e\n\u003cp\u003eThis release contains a number of fixes and improvements to RDFLib.\u003c/p\u003e\n\u003cp\u003eNew features:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCanonicalization is now optional in the longturtle serializer. When serializing with the \u003ccode\u003elongturtle\u003c/code\u003e format, set \u003ccode\u003ecanon=True\u003c/code\u003e to enable canonicalization.\u003c/li\u003e\n\u003cli\u003eGeneral type hints enhancements\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed deskolemization of literals\u003c/li\u003e\n\u003cli\u003eFixed round-tripping of floats in N3 - floating point and scientific notation handling\u003c/li\u003e\n\u003cli\u003eFixed CI validation workflow, including regressions in tests\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eLiteral.toPython\u003c/code\u003e date conversion for gYear/gYearMonth\u003c/li\u003e\n\u003cli\u003eFixed namespace prefixes in longturtle serialization\u003c/li\u003e\n\u003cli\u003eFixed missing dot in RDF patch serialization\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ePRs merged:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e2025-09-18 - [7.x] Fix incorrect deskolemization of literals\n[PR \u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3223\"\u003e#3223\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/pull/3223\"\u003eRDFLib/rdflib#3223\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2025-09-18 - Fix incorrect deskolemization of literals\n[PR \u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3127\"\u003e#3127\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/pull/3127\"\u003eRDFLib/rdflib#3127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2025-09-18 - notation3.py: don't normalize float representation\n[PR \u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3020\"\u003e#3020\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/pull/3020\"\u003eRDFLib/rdflib#3020\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2025-09-18 - [7.x] notation3.py: don't normalize float representation\n[PR \u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3221\"\u003e#3221\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/pull/3221\"\u003eRDFLib/rdflib#3221\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2025-09-18 - Merge 7-maintenance branch into 7.x\n[PR \u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3222\"\u003e#3222\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/pull/3222\"\u003eRDFLib/rdflib#3222\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2025-09-17 - Allow lxml 6\n[PR \u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3219\"\u003e#3219\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/pull/3219\"\u003eRDFLib/rdflib#3219\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2025-09-16 - ci: fix firejail command for poetry 2.1.0\n[PR \u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3218\"\u003e#3218\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/pull/3218\"\u003eRDFLib/rdflib#3218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2025-09-16 - chore: address dependabot security vulnerabilities\n[PR \u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3210\"\u003e#3210\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/pull/3210\"\u003eRDFLib/rdflib#3210\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2025-09-09 - Merge 7-maintenance changes into main\n[PR \u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3202\"\u003e#3202\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/pull/3202\"\u003eRDFLib/rdflib#3202\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2025-09-08 - feat: canonicalization with longturtle serializer now optional\n[PR \u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3197\"\u003e#3197\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/pull/3197\"\u003eRDFLib/rdflib#3197\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2025-09-03 - Specify \u003ccode\u003eOptional\u003c/code\u003e parameters in \u003ccode\u003eGraph.triples_choices\u003c/code\u003e\n[PR \u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3075\"\u003e#3075\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/pull/3075\"\u003eRDFLib/rdflib#3075\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2025-08-29 - Fix failing webtest\n[PR \u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3194\"\u003e#3194\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/pull/3194\"\u003eRDFLib/rdflib#3194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2025-08-29 - Revert \u0026quot;remove old hacks against 2to3 (\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3076\"\u003e#3076\u003c/a\u003e)\u0026quot;\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RDFLib/rdflib/commit/856c1af6b59f919d0d1230cb718c72f1415caf23\"\u003e\u003ccode\u003e856c1af\u003c/code\u003e\u003c/a\u003e chore: prep 7.2.1 release (\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3225\"\u003e#3225\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RDFLib/rdflib/commit/19a0ccf014e2661aa04c2efde925f83ca6b54409\"\u003e\u003ccode\u003e19a0ccf\u003c/code\u003e\u003c/a\u003e chore: prep 7.2.0 release (\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3224\"\u003e#3224\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RDFLib/rdflib/commit/f276bd6cc70bfaf3719f7eb9d787e6d794b5a3dd\"\u003e\u003ccode\u003ef276bd6\u003c/code\u003e\u003c/a\u003e Fix incorrect deskolemization of literals (\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3127\"\u003e#3127\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3223\"\u003e#3223\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RDFLib/rdflib/commit/747b8d30e6ca12c12fd895f7ae44685a828ff33a\"\u003e\u003ccode\u003e747b8d3\u003c/code\u003e\u003c/a\u003e [7.x] notation3.py: don't normalize float representation (\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3221\"\u003e#3221\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RDFLib/rdflib/commit/c580c00dbe76b6c6fb201448e4e81887eb88b40b\"\u003e\u003ccode\u003ec580c00\u003c/code\u003e\u003c/a\u003e Merge 7-maintenance branch into 7.x (\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3222\"\u003e#3222\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/RDFLib/rdflib/compare/7.1.4...7.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `holidays` from 0.77 to 0.81\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vacanza/holidays/releases\"\u003eholidays's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.81\u003c/h2\u003e\n\u003ch1\u003eVersion 0.81\u003c/h1\u003e\n\u003cp\u003eReleased September 15, 2025\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Saint Helena, Ascension and Tristan da Cunha holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2820\"\u003e#2820\u003c/a\u003e by \u003ca href=\"https://github.com/Abheelash-Mishra\"\u003e\u003ccode\u003e@​Abheelash-Mishra\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Sudan holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2854\"\u003e#2854\u003c/a\u003e by \u003ca href=\"https://github.com/anshonweb\"\u003e\u003ccode\u003e@​anshonweb\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Chinese Lunisolar calendar: extend Winter Solstice support (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2927\"\u003e#2927\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Philippines holidays: add 2026 holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2912\"\u003e#2912\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Spain holidays: add Dec 3 holiday in Navarre (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2895\"\u003e#2895\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate countries with Eastern holidays: add estimated holidays labels (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2924\"\u003e#2924\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate release notes generator (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2929\"\u003e#2929\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplify N802 suppression for \u003ccode\u003ecommon.py\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2880\"\u003e#2880\u003c/a\u003e by \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/vacanza/holidays/compare/v0.80...v0.81\"\u003ehttps://github.com/vacanza/holidays/compare/v0.80...v0.81\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.80\u003c/h2\u003e\n\u003ch1\u003eVersion 0.80\u003c/h1\u003e\n\u003cp\u003eReleased September 1, 2025\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRefactor Australia holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2828\"\u003e#2828\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor Macau holidays: holiday categories standardization (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2868\"\u003e#2868\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Comoros holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2827\"\u003e#2827\u003c/a\u003e by \u003ca href=\"https://github.com/Prateekshit73\"\u003e\u003ccode\u003e@​Prateekshit73\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/prateekshit-v\"\u003e\u003ccode\u003e@​prateekshit-v\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Eritrea holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2783\"\u003e#2783\u003c/a\u003e by \u003ca href=\"https://github.com/Prateekshit73\"\u003e\u003ccode\u003e@​Prateekshit73\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/prateekshit-v\"\u003e\u003ccode\u003e@​prateekshit-v\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd National Stock Exchange of India (NSE) holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2834\"\u003e#2834\u003c/a\u003e by \u003ca href=\"https://github.com/saheelsapovadia\"\u003e\u003ccode\u003e@​saheelsapovadia\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Rwanda holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2792\"\u003e#2792\u003c/a\u003e by \u003ca href=\"https://github.com/Prateekshit73\"\u003e\u003ccode\u003e@​Prateekshit73\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/prateekshit-v\"\u003e\u003ccode\u003e@​prateekshit-v\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Somalia holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2848\"\u003e#2848\u003c/a\u003e by \u003ca href=\"https://github.com/Prateekshit73\"\u003e\u003ccode\u003e@​Prateekshit73\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/prateekshit-v\"\u003e\u003ccode\u003e@​prateekshit-v\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd South Sudan holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2831\"\u003e#2831\u003c/a\u003e by \u003ca href=\"https://github.com/Prateekshit73\"\u003e\u003ccode\u003e@​Prateekshit73\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/prateekshit-v\"\u003e\u003ccode\u003e@​prateekshit-v\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Tajikistan holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2852\"\u003e#2852\u003c/a\u003e by \u003ca href=\"https://github.com/Wasif-Shahzad\"\u003e\u003ccode\u003e@​Wasif-Shahzad\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Uganda holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2833\"\u003e#2833\u003c/a\u003e by \u003ca href=\"https://github.com/Prateekshit73\"\u003e\u003ccode\u003e@​Prateekshit73\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/prateekshit-v\"\u003e\u003ccode\u003e@​prateekshit-v\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eestimated_label\u003c/code\u003e to all countries with Islamic holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2860\"\u003e#2860\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Hindu Lunisolar calendar (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2871\"\u003e#2871\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Islamic holidays tests (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2849\"\u003e#2849\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eTestAllInSameYear\u003c/code\u003e methods (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2877\"\u003e#2877\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Bosnia and Herzegovina holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2869\"\u003e#2869\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Burundi holidays, add l10n support (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2843\"\u003e#2843\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Canada holidays: add National Day for Truth and Reconciliation in MB (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2829\"\u003e#2829\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Georgia holidays: add August 29, 2025 special holiday (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2863\"\u003e#2863\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Guinea-Bissau holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2859\"\u003e#2859\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Nigeria holidays, add l10n support (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2874\"\u003e#2874\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Singapore holidays: remove duplicate holidays label assignment (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2844\"\u003e#2844\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Tanzania holidays: extend holidays support to 1965 (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2821\"\u003e#2821\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003ecommon::CommonTests\u003c/code\u003e: expand label tests to financial entities (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2876\"\u003e#2876\u003c/a\u003e by \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd .zenodo.json (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2870\"\u003e#2870\u003c/a\u003e by \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ecommon::TestCase::assertHolidayNameCount\u003c/code\u003e method (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2873\"\u003e#2873\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd metadata package version mismatch hint (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2846\"\u003e#2846\u003c/a\u003e by \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd missing docstring for \u003ccode\u003e__init__\u003c/code\u003e method (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2850\"\u003e#2850\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpose entity additional codes (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2879\"\u003e#2879\u003c/a\u003e by \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTest Case Name Standardization (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2853\"\u003e#2853\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vacanza/holidays/blob/dev/CHANGES.md\"\u003eholidays's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eVersion 0.81\u003c/h1\u003e\n\u003cp\u003eReleased September 15, 2025\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Saint Helena, Ascension and Tristan da Cunha holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2820\"\u003e#2820\u003c/a\u003e by \u003ca href=\"https://github.com/Abheelash-Mishra\"\u003e\u003ccode\u003e@​Abheelash-Mishra\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Sudan holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2854\"\u003e#2854\u003c/a\u003e by \u003ca href=\"https://github.com/anshonweb\"\u003e\u003ccode\u003e@​anshonweb\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Chinese Lunisolar calendar: extend Winter Solstice support (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2927\"\u003e#2927\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Philippines holidays: add 2026 holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2912\"\u003e#2912\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Spain holidays: add Dec 3 holiday in Navarre (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2895\"\u003e#2895\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate countries with Eastern holidays: add estimated holidays labels (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2924\"\u003e#2924\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate release notes generator (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2929\"\u003e#2929\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplify N802 suppression for \u003ccode\u003ecommon.py\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2880\"\u003e#2880\u003c/a\u003e by \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eVersion 0.80\u003c/h1\u003e\n\u003cp\u003eReleased September 1, 2025\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRefactor Australia holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2828\"\u003e#2828\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor Macau holidays: holiday categories standardization (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2868\"\u003e#2868\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Comoros holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2827\"\u003e#2827\u003c/a\u003e by \u003ca href=\"https://github.com/Prateekshit73\"\u003e\u003ccode\u003e@​Prateekshit73\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/prateekshit-v\"\u003e\u003ccode\u003e@​prateekshit-v\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Eritrea holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2783\"\u003e#2783\u003c/a\u003e by \u003ca href=\"https://github.com/Prateekshit73\"\u003e\u003ccode\u003e@​Prateekshit73\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/prateekshit-v\"\u003e\u003ccode\u003e@​prateekshit-v\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd National Stock Exchange of India (NSE) holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2834\"\u003e#2834\u003c/a\u003e by \u003ca href=\"https://github.com/saheelsapovadia\"\u003e\u003ccode\u003e@​saheelsapovadia\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Rwanda holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2792\"\u003e#2792\u003c/a\u003e by \u003ca href=\"https://github.com/Prateekshit73\"\u003e\u003ccode\u003e@​Prateekshit73\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/prateekshit-v\"\u003e\u003ccode\u003e@​prateekshit-v\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Somalia holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2848\"\u003e#2848\u003c/a\u003e by \u003ca href=\"https://github.com/Prateekshit73\"\u003e\u003ccode\u003e@​Prateekshit73\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/prateekshit-v\"\u003e\u003ccode\u003e@​prateekshit-v\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd South Sudan holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2831\"\u003e#2831\u003c/a\u003e by \u003ca href=\"https://github.com/Prateekshit73\"\u003e\u003ccode\u003e@​Prateekshit73\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/prateekshit-v\"\u003e\u003ccode\u003e@​prateekshit-v\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Tajikistan holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2852\"\u003e#2852\u003c/a\u003e by \u003ca href=\"https://github.com/Wasif-Shahzad\"\u003e\u003ccode\u003e@​Wasif-Shahzad\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Uganda holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2833\"\u003e#2833\u003c/a\u003e by \u003ca href=\"https://github.com/Prateekshit73\"\u003e\u003ccode\u003e@​Prateekshit73\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/prateekshit-v\"\u003e\u003ccode\u003e@​prateekshit-v\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eestimated_label\u003c/code\u003e to all countries with Islamic holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2860\"\u003e#2860\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Hindu Lunisolar calendar (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2871\"\u003e#2871\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Islamic holidays tests (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2849\"\u003e#2849\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eTestAllInSameYear\u003c/code\u003e methods (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2877\"\u003e#2877\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Bosnia and Herzegovina holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2869\"\u003e#2869\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Burundi holidays, add l10n support (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2843\"\u003e#2843\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Canada holidays: add National Day for Truth and Reconciliation in MB (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2829\"\u003e#2829\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Georgia holidays: add August 29, 2025 special holiday (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2863\"\u003e#2863\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Guinea-Bissau holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2859\"\u003e#2859\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Nigeria holidays, add l10n support (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2874\"\u003e#2874\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Singapore holidays: remove duplicate holidays label assignment (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2844\"\u003e#2844\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Tanzania holidays: extend holidays support to 1965 (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2821\"\u003e#2821\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003ecommon::CommonTests\u003c/code\u003e: expand label tests to financial entities (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2876\"\u003e#2876\u003c/a\u003e by \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd .zenodo.json (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2870\"\u003e#2870\u003c/a\u003e by \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ecommon::TestCase::assertHolidayNameCount\u003c/code\u003e method (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2873\"\u003e#2873\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd metadata package version mismatch hint (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2846\"\u003e#2846\u003c/a\u003e by \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd missing docstring for \u003ccode\u003e__init__\u003c/code\u003e method (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2850\"\u003e#2850\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpose entity additional codes (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2879\"\u003e#2879\u003c/a\u003e by \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTest Case Name Standardization (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2853\"\u003e#2853\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUnify imports (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2845\"\u003e#2845\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse aux repository data for downloads badge (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2832\"\u003e#2832\u003c/a\u003e by \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eVersion 0.79\u003c/h1\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vacanza/holidays/commit/0234c7dea5b46ce3fe28e3ec1a19a1a4a8521017\"\u003e\u003ccode\u003e0234c7d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2930\"\u003e#2930\u003c/a\u003e from vacanza/dev\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vacanza/holidays/commit/f3d765ee6f9a2ab03b2957a77128d90032e13b34\"\u003e\u003ccode\u003ef3d765e\u003c/code\u003e\u003c/a\u003e Finalize v0.81\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vacanza/holidays/commit/ba0d5133a0e62b9c36028852fe096e8ef5c79582\"\u003e\u003ccode\u003eba0d513\u003c/code\u003e\u003c/a\u003e Update release notes generator (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2929\"\u003e#2929\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vacanza/holidays/commit/02603f25f1fd1bc1d360e2c4abcd0b7136e4d33f\"\u003e\u003ccode\u003e02603f2\u003c/code\u003e\u003c/a\u003e Update Chinese Lunisolar calendar: extend Winter Solstice support (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2927\"\u003e#2927\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vacanza/holidays/commit/b1728bf912418000d300e0a9efa71802ba7e005d\"\u003e\u003ccode\u003eb1728bf\u003c/code\u003e\u003c/a\u003e Update countries with Eastern holidays: add estimated holidays labels (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2924\"\u003e#2924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vacanza/holidays/commit/9068084b799e7ff7f88d9810c02f8895714f356f\"\u003e\u003ccode\u003e9068084\u003c/code\u003e\u003c/a\u003e chore: Update snapshots (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2926\"\u003e#2926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vacanza/holidays/commit/342b9a7df4dd53d44f16e16308e71d3615827941\"\u003e\u003ccode\u003e342b9a7\u003c/code\u003e\u003c/a\u003e Add Sudan holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2854\"\u003e#2854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vacanza/holidays/commit/a6840fc9cf24adcfbc732720de18838d4105868a\"\u003e\u003ccode\u003ea6840fc\u003c/code\u003e\u003c/a\u003e Update pre-commit hooks (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2925\"\u003e#2925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vacanza/holidays/commit/0128617d51501ebde0fa7f4b5360b96ab546d3a9\"\u003e\u003ccode\u003e0128617\u003c/code\u003e\u003c/a\u003e Bump actions/setup-python from 5.6.0 to 6.0.0 (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2918\"\u003e#2918\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vacanza/holidays/commit/e2f7410476b88bef4108d7f7bebceb872e37eca9\"\u003e\u003ccode\u003ee2f7410\u003c/code\u003e\u003c/a\u003e Update pre-commit hooks (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2922\"\u003e#2922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vacanza/holidays/compare/v0.77...v0.81\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cheroot` from 10.0.1 to 11.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/cherrypy/cheroot/releases\"\u003echeroot's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev11.0.0\u003c/h2\u003e\n\u003ch2\u003e📝 Release notes\u003c/h2\u003e\n\u003cp\u003e📦 PyPI page: \u003ca href=\"https://pypi.org/project/cheroot/11.0.0\"\u003ehttps://pypi.org/project/cheroot/11.0.0\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e🌱 v11.0.0 is marked as a stable release.\u003c/p\u003e\n\u003cp\u003e🔗 This release has been produced by  the following workflow run: \u003ca href=\"https://github.com/cherrypy/cheroot/actions/runs/17894178348\"\u003ehttps://github.com/cherrypy/cheroot/actions/runs/17894178348\u003c/a\u003e\u003c/p\u003e\n\u003ch1\u003ev11.0.0\u003c/h1\u003e\n\u003cp\u003e\u003cem\u003e(2025-09-21)\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eWhen load is too high, Cheroot now responds with a 503 Service\nUnavailable HTTP error. Previously it silently closed the connection.\u003c/p\u003e\n\u003cp\u003e-- by \u003ca href=\"https://github.com/itamarst\"\u003e\u003ccode\u003e@​itamarst\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRelated issues and pull requests on GitHub:\u003c/em\u003e \u003ca href=\"https://redirect.github.com/cherrypy/cheroot/issues/745\"\u003e#745\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRemovals and backward incompatible breaking changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eCheroot dropped support for Python 3.6 and 3.7. It now requires Python\n3.8 or later.\u003c/p\u003e\n\u003cp\u003e-- by \u003ca href=\"https://github.com/jaraco\"\u003e\u003ccode\u003e@​jaraco\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRelated issues and pull requests on GitHub:\u003c/em\u003e \u003ca href=\"https://redirect.github.com/cherrypy/cheroot/issues/565\"\u003e#565\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/cherrypy/cheroot/issues/633\"\u003e#633\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRelated commits on GitHub:\u003c/em\u003e\n\u003ca href=\"https://github.com/cherrypy/cheroot/commit/437863ee\"\u003ehttps://github.com/cherrypy/cheroot/commit/437863ee\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePackaging updates and notes for downstreams\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eDeclared Python 3.12 and Python 3.13 as supported officially -- by\n\u003ca href=\"https://github.com/webknjaz\"\u003e\u003ccode\u003e@​webknjaz\u003c/code\u003e\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRelated issues and pull requests on GitHub:\u003c/em\u003e \u003ca href=\"https://redirect.github.com/cherrypy/cheroot/issues/696\"\u003e#696\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRelated commits on GitHub:\u003c/em\u003e\n\u003ca href=\"https://github.com/cherrypy/cheroot/commit/5db4f634\"\u003ehttps://github.com/cherrypy/cheroot/commit/5db4f634\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe minimum version of the \u003ccode\u003esetuptools-scm\u003c/code\u003e build dependency has been\nset to 7. The Git archives are now produced by it natively, instead of\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/cherrypy/cheroot/blob/main/CHANGES.rst\"\u003echeroot's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev11.0.0\u003c/h1\u003e\n\u003cp\u003e\u003cem\u003e(2025-09-21)\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eWhen load is too high, Cheroot now responds with a 503 Service Unavailable HTTP error.\nPreviously it silently closed the connection.\u003c/p\u003e\n\u003cp\u003e-- by :user:\u003ccode\u003eitamarst\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRelated issues and pull requests on GitHub:\u003c/em\u003e\n:issue:\u003ccode\u003e745\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRemovals and backward incompatible breaking changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eCheroot dropped support for Python 3.6 and 3.7.\nIt now requires Python 3.8 or later.\u003c/p\u003e\n\u003cp\u003e-- by :user:\u003ccode\u003ejaraco\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRelated issues and pull requests on GitHub:\u003c/em\u003e\n:issue:\u003ccode\u003e565\u003c/code\u003e, :issue:\u003ccode\u003e633\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRelated commits on GitHub:\u003c/em\u003e\n:commit:\u003ccode\u003e437863ee\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePackaging updates and notes for downstreams\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eDeclared Python 3.12 and Python 3.13 as supported officially\n-- by :user:\u003ccode\u003ewebknjaz\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRelated issues and pull requests on GitHub:\u003c/em\u003e\n:issue:\u003ccode\u003e696\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRelated commits on GitHub:\u003c/em\u003e\n:commit:\u003ccode\u003e5db4f634\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe minimum version of the \u003ccode\u003esetuptools-scm\u003c/code\u003e build dependency\nhas been set to 7. The Git archives are now produced by it\nnatively, instead of relying on a third party plugin which is\nno longer being used.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cherrypy/cheroot/commit/50b1f1d72c90be6fad4c2a53cf57be6ad98d03cc\"\u003e\u003ccode\u003e50b1f1d\u003c/code\u003e\u003c/a\u003e Generate a change log entry for v11.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cherrypy/cheroot/commit/4e9b36b99f0ac96d1a99c11817587b2a09166432\"\u003e\u003ccode\u003e4e9b36b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/cherrypy/cheroot/issues/759\"\u003e#759\u003c/a\u003e from cherrypy/maintenance/pip-tools-constraint-lockfiles\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cherrypy/cheroot/commit/b4a28ae4b7ac41047f294a19a01b77a6f874841b\"\u003e\u003ccode\u003eb4a28ae\u003c/code\u003e\u003c/a\u003e Update tox-pypy311-pp311-win32-amd64 constraints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cherrypy/cheroot/commit/a9fd2ba845417bd0a42288dd3695f296a7dcf14f\"\u003e\u003ccode\u003ea9fd2ba\u003c/code\u003e\u003c/a\u003e Update tox-pypy311-pp311-linux-x86_64 constraints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cherrypy/cheroot/commit/27a91155b671f56e47e199f794420982ebc9475a\"\u003e\u003ccode\u003e27a9115\u003c/code\u003e\u003c/a\u003e Update tox-pypy311-pp311-linux-aarch64 constraints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cherrypy/cheroot/commit/5fdcdd67817aed949827727376a31f9b2f533106\"\u003e\u003ccode\u003e5fdcdd6\u003c/code\u003e\u003c/a\u003e Update tox-pypy311-pp311-darwin-x86_64 constraints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cherrypy/cheroot/commit/c1cbafca5bf4490b70a50a80d4b5325d0accbb8c\"\u003e\u003ccode\u003ec1cbafc\u003c/code\u003e\u003c/a\u003e Update tox-pypy311-pp311-darwin-arm64 constraints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cherrypy/cheroot/commit/93faa537f8631133f44bd278c69bc817223c7a0a\"\u003e\u003ccode\u003e93faa53\u003c/code\u003e\u003c/a\u003e Update tox-py39-cp39-win32-amd64 constraints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cherrypy/cheroot/commit/36482bb6930628f5598afb2e0aa9fc1717dae6eb\"\u003e\u003ccode\u003e36482bb\u003c/code\u003e\u003c/a\u003e Update tox-py39-cp39-linux-x86_64 constraints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cherrypy/cheroot/commit/a1b2a20ccc095ff0c925b8581985c4f5d915287e\"\u003e\u003ccode\u003ea1b2a20\u003c/code\u003e\u003c/a\u003e Update tox-py39-cp39-linux-aarch64 constraints\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/cherrypy/cheroot/compare/v10.0.1...v11.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tornado` from 6.5.1 to 6.5.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tornadoweb/tornado/blob/master/docs/releases.rst\"\u003etornado's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eRelease notes\u003c/h1\u003e\n\u003cp\u003e.. toctree::\n:maxdepth: 2\u003c/p\u003e\n\u003cp\u003ereleases/v6.5.2\nreleases/v6.5.1\nreleases/v6.5.0\nreleases/v6.4.2\nreleases/v6.4.1\nreleases/v6.4.0\nreleases/v6.3.3\nreleases/v6.3.2\nreleases/v6.3.1\nreleases/v6.3.0\nreleases/v6.2.0\nreleases/v6.1.0\nreleases/v6.0.4\nreleases/v6.0.3\nreleases/v6.0.2\nreleases/v6.0.1\nreleases/v6.0.0\nreleases/v5.1.1\nreleases/v5.1.0\nreleases/v5.0.2\nreleases/v5.0.1\nreleases/v5.0.0\nreleases/v4.5.3\nreleases/v4.5.2\nreleases/v4.5.1\nreleases/v4.5.0\nreleases/v4.4.3\nreleases/v4.4.2\nreleases/v4.4.1\nreleases/v4.4.0\nreleases/v4.3.0\nreleases/v4.2.1\nreleases/v4.2.0\nreleases/v4.1.0\nreleases/v4.0.2\nreleases/v4.0.1\nreleases/v4.0.0\nreleases/v3.2.2\nreleases/v3.2.1\nreleases/v3.2.0\nreleases/v3.1.1\nreleases/v3.1.0\nreleases/v3.0.2\nreleases/v3.0.1\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/547e6d86972238f1f5333a85f12b17fb33626899\"\u003e\u003ccode\u003e547e6d8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/tornadoweb/tornado/issues/3529\"\u003e#3529\u003c/a\u003e from bdarnell/relnotes-652\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/be9c374b2ea5e3d6c988c7ede8d284a649cfec37\"\u003e\u003ccode\u003ebe9c374\u003c/code\u003e\u003c/a\u003e Release notes for 6.5.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/8cbc4bfa53874a5dfa7b4bc50971d2ee21baf2d2\"\u003e\u003ccode\u003e8cbc4bf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/tornadoweb/tornado/issues/3527\"\u003e#3527\u003c/a\u003e from bdarnell/backports-6.5.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/c0d3e6df84344ec0aea2a9f9257aba76db78ca25\"\u003e\u003ccode\u003ec0d3e6d\u003c/code\u003e\u003c/a\u003e http1connection: Improve error logging for invalid host headers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/4ff5594ffd71c6dc9c82b0f003d63ed543a8e6d3\"\u003e\u003ccode\u003e4ff5594\u003c/code\u003e\u003c/a\u003e httputil: Restore the host argument to HTTPServerRequest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/b16916c8ad5836fd883452620020c8a1ea4addbf\"\u003e\u003ccode\u003eb16916c\u003c/code\u003e\u003c/a\u003e Add overloads to gen.multi() (\u003ca href=\"https://redirect.github.com/tornadoweb/tornado/issues/3515\"\u003e#3515\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/b5d2f3cc5eb20de1b0cf86e9e48e1624e42ce13b\"\u003e\u003ccode\u003eb5d2f3c\u003c/code\u003e\u003c/a\u003e httputil: Remove a debug print left in by mistake\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/38c6f591d49a808e11bc801028611bcee6aa6bba\"\u003e\u003ccode\u003e38c6f59\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/tornadoweb/tornado/issues/3513\"\u003e#3513\u003c/a\u003e from oliver-sanders/3258.fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/3fc1d91bbbc6a11160528fffb11105998479a6ba\"\u003e\u003ccode\u003e3fc1d91\u003c/code\u003e\u003c/a\u003e websocket: Expand testing of next-ping calculation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/56fc23fe20b4f19ac6cfbbb25611ad692e45082b\"\u003e\u003ccode\u003e56fc23f\u003c/code\u003e\u003c/a\u003e websocket_ping: fix ping interval with non-zero timeout and improve docs.\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tornadoweb/tornado/compare/v6.5.1...v6.5.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `setuptools-scm[toml]` to 9.2.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/setuptools-scm/releases\"\u003esetuptools-scm[toml]'s releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev9.2.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ereiterate version inference by \u003ca href=\"https://github.com/RonnyPfannschmidt\"\u003e\u003ccode\u003e@​RonnyPfannschmidt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/pull/1202\"\u003epypa/setuptools-scm#1202\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003esimple activation now requires a extra instead of setting up many pre-existing projects for failure/error\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pypa/setuptools-scm/compare/v9.1.1...v9.2.0\"\u003ehttps://github.com/pypa/setuptools-scm/compare/v9.1.1...v9.2.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/setuptools-scm/blob/main/CHANGELOG.md\"\u003esetuptools-scm[toml]'s changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev9.2.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eadd simplified activation via \u003ccode\u003esetuptools-scm[simple]\u003c/code\u003e extra\u003c/p\u003e\n\u003cp\u003eA new streamlined way to enable version inference without requiring a \u003ccode\u003e[tool.setuptools_scm]\u003c/code\u003e section.\nWhen \u003ccode\u003esetuptools-scm[simple]\u003c/code\u003e is in \u003ccode\u003ebuild-system.requires\u003c/code\u003e and \u003ccode\u003eversion\u003c/code\u003e is in \u003ccode\u003eproject.dynamic\u003c/code\u003e,\nversion inference is automatically enabled with default settings.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eremoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eunchecked simplified activation - too many projects use setups where it would fail\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003echanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erefine activation logic and add unittest for the relevant cases instead of trying to speedrun setuptools\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.1.1 (yanked)\u003c/h2\u003e\n\u003ch3\u003efixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/issues/1194\"\u003e#1194\u003c/a\u003e: correctly handle version keyword when pyproject metadata is missing\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.1.0 (yanked)\u003c/h2\u003e\n\u003ch3\u003efixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003ecomplete reiteration of the decision logic for enabling version inference on setuptools_scm\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eshared logic for the important parts\u003c/li\u003e\n\u003cli\u003eproper deferring based in precedence of finalize options vs version keyword\u003c/li\u003e\n\u003cli\u003eunittestable for the parsing parts and the decision steps\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.0.3 (yanked)\u003c/h2\u003e\n\u003ch3\u003efixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix 1184: verify version is dynamic if the dependency is used as indicator for enabling\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.0.2 (yan...\n\n_Description has been truncated_","html_url":"https://github.com/acsone/Arelle/pull/334","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/acsone%2FArelle/issues/334","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/334/packages"},{"uuid":"3440247394","node_id":"PR_kwDODX3mAs6pzfNs","number":332,"state":"open","title":"Bump the python-dependencies group across 1 directory with 25 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":"NONE","state_reason":null,"created_at":"2025-09-22T10:30:01.000Z","updated_at":"2025-09-29T11:06:05.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"python-dependencies","update_count":25,"packages":[{"name":"jsonschema","old_version":"4.25.0","new_version":"4.25.1","repository_url":"https://github.com/python-jsonschema/jsonschema"},{"name":"pyparsing","old_version":"3.2.3","new_version":"3.2.5","repository_url":"https://github.com/pyparsing/pyparsing"},{"name":"typing-extensions","old_version":"4.14.1","new_version":"4.15.0","repository_url":"https://github.com/python/typing_extensions"},{"name":"pg8000","old_version":"1.31.4","new_version":"1.31.5","repository_url":"https://github.com/tlocke/pg8000"},{"name":"pymysql","old_version":"1.1.1","new_version":"1.1.2","repository_url":"https://github.com/PyMySQL/PyMySQL"},{"name":"rdflib","old_version":"7.1.4","new_version":"7.2.1","repository_url":"https://github.com/RDFLib/rdflib"},{"name":"holidays","old_version":"0.77","new_version":"0.81","repository_url":"https://github.com/vacanza/holidays"},{"name":"cheroot","old_version":"10.0.1","new_version":"11.0.0","repository_url":"https://github.com/cherrypy/cheroot"},{"name":"tornado","old_version":"6.5.1","new_version":"6.5.2","repository_url":"https://github.com/tornadoweb/tornado"}],"path":null,"ecosystem":"pip"},"body":"[//]: # (dependabot-start)\n⚠️  **Dependabot is rebasing this PR** ⚠️ \n\nRebasing might not happen immediately, so don't worry if this takes some time.\n\nNote: if you make any changes to this PR yourself, they will take precedence over the rebase.\n\n---\n\n[//]: # (dependabot-end)\n\nUpdates the requirements on [jsonschema](https://github.com/python-jsonschema/jsonschema), [pyparsing](https://github.com/pyparsing/pyparsing), [typing-extensions](https://github.com/python/typing_extensions), [pg8000](https://github.com/tlocke/pg8000), [pymysql](https://github.com/PyMySQL/PyMySQL), [rdflib](https://github.com/RDFLib/rdflib), [holidays](https://github.com/vacanza/holidays), [cheroot](https://github.com/cherrypy/cheroot), [tornado](https://github.com/tornadoweb/tornado), [setuptools-scm[toml]](https://github.com/pypa/setuptools-scm), [filelock](https://github.com/tox-dev/py-filelock), [regex](https://github.com/mrabarnett/mrab-regex), [boto3](https://github.com/boto/boto3), [pytest](https://github.com/pytest-dev/pytest), [requests](https://github.com/psf/requests), [mypy](https://github.com/python/mypy), [boto3-stubs](https://github.com/youtype/mypy_boto3_builder), [types-pymysql](https://github.com/typeshed-internal/stub_uploader), [types-openpyxl](https://github.com/typeshed-internal/stub_uploader), [types-python-dateutil](https://github.com/typeshed-internal/stub_uploader), [types-pytz](https://github.com/typeshed-internal/stub_uploader), [types-regex](https://github.com/typeshed-internal/stub_uploader), [types-simplejson](https://github.com/typeshed-internal/stub_uploader), [types-ujson](https://github.com/typeshed-internal/stub_uploader) and [ixbrl-viewer](https://github.com/Arelle/ixbrl-viewer) to permit the latest version.\nUpdates `jsonschema` from 4.25.0 to 4.25.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-jsonschema/jsonschema/releases\"\u003ejsonschema's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.25.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidator\u003c/code\u003e protocol init to match runtime by \u003ca href=\"https://github.com/sirosen\"\u003e\u003ccode\u003e@​sirosen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1396\"\u003epython-jsonschema/jsonschema#1396\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/python-jsonschema/jsonschema/compare/v4.25.0...v4.25.1\"\u003ehttps://github.com/python-jsonschema/jsonschema/compare/v4.25.0...v4.25.1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-jsonschema/jsonschema/blob/main/CHANGELOG.rst\"\u003ejsonschema's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev4.25.1\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix an incorrect required argument in the \u003ccode\u003eValidator\u003c/code\u003e protocol's type annotations (\u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1396\"\u003e#1396\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/331c38425519b69118d22ebe467ad230fb83a010\"\u003e\u003ccode\u003e331c384\u003c/code\u003e\u003c/a\u003e Add the fix to the changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/c1ec0a645e913e83de95995f6efbbd358676abf6\"\u003e\u003ccode\u003ec1ec0a6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1398\"\u003e#1398\u003c/a\u003e from python-jsonschema/dependabot/github_actions/ast...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/8e7d594faff13f8f663b306a0d86bea0ce5de6cb\"\u003e\u003ccode\u003e8e7d594\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1399\"\u003e#1399\u003c/a\u003e from python-jsonschema/dependabot/github_actions/act...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/460f4fae42664773160f56ccc843a4fcea34f7cf\"\u003e\u003ccode\u003e460f4fa\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1396\"\u003e#1396\u003c/a\u003e from sirosen/improve-protocol-init-signature\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/1e58409b71a9696b7bf9938ae8a3a48ef95ab29e\"\u003e\u003ccode\u003e1e58409\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] auto fixes from pre-commit.com hooks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/64bc2171624ef201bdbf35e47780348ce30935c5\"\u003e\u003ccode\u003e64bc217\u003c/code\u003e\u003c/a\u003e Add a typing test for the Validator protocol\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/6c25741bff889477680f9b0d1aa967ae35c38f43\"\u003e\u003ccode\u003e6c25741\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/bf603d59117f840916709fc87c6625df43d1fe72\"\u003e\u003ccode\u003ebf603d5\u003c/code\u003e\u003c/a\u003e Bump astral-sh/setup-uv from 6.4.3 to 6.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/a916d8f8253baa11bacc60f0868f0bab1e42d526\"\u003e\u003ccode\u003ea916d8f\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eValidator\u003c/code\u003e protocol init to match runtime\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/de60f18bd97395a52a11b561eb62963e0ffe9e71\"\u003e\u003ccode\u003ede60f18\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1397\"\u003e#1397\u003c/a\u003e from python-jsonschema/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-jsonschema/jsonschema/compare/v4.25.0...v4.25.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyparsing` from 3.2.3 to 3.2.5\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyparsing/pyparsing/blob/master/CHANGES\"\u003epyparsing's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.2.5 - September, 2025\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eJINX! Well, 3.2.4 had a bug for \u003ccode\u003eWord\u003c/code\u003e expressions that include a space\ncharacter, if that expression was then copied, either directly with .copy() or\nby adding a results name, or including in another construct (like \u003ccode\u003eDelimitedList\u003c/code\u003e)\nthat makes a copy internally. Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/618\"\u003e#618\u003c/a\u003e, reported by mstinberg, among others -\nthanks, and sorry for the inconvenience.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.2.4 - September, 2025\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eBarring any catastrophic bugs in this release, this will be the last release in\nthe 3.2.x line. The next release, 3.3.0, will begin emitting \u003ccode\u003eDeprecationWarnings\u003c/code\u003e\nwhen the pre-PEP8 methods are used (see header notes above for more information,\nincluding available automation for converting any existing code using\npyparsing with the old names).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed bug when using a copy of a \u003ccode\u003eWord\u003c/code\u003e expression (either by using the explicit\n\u003ccode\u003ecopy()\u003c/code\u003e method, or attaching a results name), and setting a new expression name,\na raised \u003ccode\u003eParseException\u003c/code\u003e still used the original expression name. Also affected\n\u003ccode\u003eRegex\u003c/code\u003e expressions with \u003ccode\u003eas_match\u003c/code\u003e or \u003ccode\u003eas_group_list\u003c/code\u003e = True. Reported by\nWaqas Ilyas, in Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/612\"\u003e#612\u003c/a\u003e - good catch!\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed type annotation for \u003ccode\u003ereplace_with\u003c/code\u003e, to accept \u003ccode\u003eAny\u003c/code\u003e type. Fixes Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/602\"\u003e#602\u003c/a\u003e,\nreported by esquonk.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded locking around potential race condition in \u003ccode\u003eParserElement.reset_cache\u003c/code\u003e, as\nwell as other cache-related methods. Fixes Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/604\"\u003e#604\u003c/a\u003e, reported by CarlosDescalziIM.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSubstantial update to docstrings and doc generation in preparation for 3.3.0,\ngreat effort by FeRD, thanks!\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNotable addition by FeRD to convert docstring examples to work with doctest! This\nwas long overdue, thanks so much!\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/dbbd53ad1cd0ab31ae2a8fee5a64a718788b63fb\"\u003e\u003ccode\u003edbbd53a\u003c/code\u003e\u003c/a\u003e More unit tests and some comments for traceability to Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/618\"\u003e#618\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/f5bdb2deff92859e068937f2ae502136b38ad16f\"\u003e\u003ccode\u003ef5bdb2d\u003c/code\u003e\u003c/a\u003e Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/618\"\u003e#618\u003c/a\u003e - fix reference to re_match attribute in copy of Word object to fi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/8c61893d362b21d66fa3646c073295235ef166fd\"\u003e\u003ccode\u003e8c61893\u003c/code\u003e\u003c/a\u003e Prep for 3.2.5 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/57923cd6a651d81c72b4e60b2baa02fbedf217ba\"\u003e\u003ccode\u003e57923cd\u003c/code\u003e\u003c/a\u003e Enable matplotlib unit tests for Python 3.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/fad1505f8ab91cc897f3067868e500257130e1a4\"\u003e\u003ccode\u003efad1505\u003c/code\u003e\u003c/a\u003e Update CHANGES file with thanks to FeRD for making the docstring examples doc...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/6622151cb440e85de9880ca6b7f3652e0962e315\"\u003e\u003ccode\u003e6622151\u003c/code\u003e\u003c/a\u003e Update tox.ini to add doctest testing for all Python versions 3.10 and later\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/e6ed66bdcd6da3ef63f4396565d860467efb5252\"\u003e\u003ccode\u003ee6ed66b\u003c/code\u003e\u003c/a\u003e Change doctest for LineStart to reflect latest implementation of \u0026quot;is this tok...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/23092da6569c97f30605ff2fe818fc15b3d12567\"\u003e\u003ccode\u003e23092da\u003c/code\u003e\u003c/a\u003e Doctests for pyparsing.exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/0bae3cdcc9274dbbcde5daabba739d3b1ddb49fc\"\u003e\u003ccode\u003e0bae3cd\u003c/code\u003e\u003c/a\u003e Doctests for pyparsing.common\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/98ec165d1a66247dbeffcf692643765648fb230f\"\u003e\u003ccode\u003e98ec165\u003c/code\u003e\u003c/a\u003e Docs: Add doctest-wrtiting documentation\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyparsing/pyparsing/compare/3.2.3...3.2.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `typing-extensions` from 4.14.1 to 4.15.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/typing_extensions/releases\"\u003etyping-extensions's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.15.0\u003c/h2\u003e\n\u003cp\u003eNo user-facing changes since 4.15.0rc1.\u003c/p\u003e\n\u003cp\u003eNew features since 4.14.1:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd the \u003ccode\u003e@typing_extensions.disjoint_base\u003c/code\u003e decorator, as specified\nin PEP 800. Patch by Jelle Zijlstra.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etyping_extensions.type_repr\u003c/code\u003e, a backport of\n\u003ca href=\"https://docs.python.org/3.14/library/annotationlib.html#annotationlib.type_repr\"\u003e\u003ccode\u003eannotationlib.type_repr\u003c/code\u003e\u003c/a\u003e,\nintroduced in Python 3.14 (CPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/124551\"\u003e#124551\u003c/a\u003e,\noriginally by Jelle Zijlstra). Patch by Semyon Moroz.\u003c/li\u003e\n\u003cli\u003eFix behavior of type params in \u003ccode\u003etyping_extensions.evaluate_forward_ref\u003c/code\u003e. Backport of\nCPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/137227\"\u003e#137227\u003c/a\u003e by Jelle Zijlstra.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.15.0rc1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd the \u003ccode\u003e@typing_extensions.disjoint_base\u003c/code\u003e decorator, as specified\nin PEP 800. Patch by Jelle Zijlstra.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etyping_extensions.type_repr\u003c/code\u003e, a backport of\n\u003ca href=\"https://docs.python.org/3.14/library/annotationlib.html#annotationlib.type_repr\"\u003e\u003ccode\u003eannotationlib.type_repr\u003c/code\u003e\u003c/a\u003e,\nintroduced in Python 3.14 (CPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/124551\"\u003e#124551\u003c/a\u003e,\noriginally by Jelle Zijlstra). Patch by Semyon Moroz.\u003c/li\u003e\n\u003cli\u003eFix behavior of type params in \u003ccode\u003etyping_extensions.evaluate_forward_ref\u003c/code\u003e. Backport of\nCPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/137227\"\u003e#137227\u003c/a\u003e by Jelle Zijlstra.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/typing_extensions/blob/main/CHANGELOG.md\"\u003etyping-extensions's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eRelease 4.15.0 (August 25, 2025)\u003c/h1\u003e\n\u003cp\u003eNo user-facing changes since 4.15.0rc1.\u003c/p\u003e\n\u003ch1\u003eRelease 4.15.0rc1 (August 18, 2025)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd the \u003ccode\u003e@typing_extensions.disjoint_base\u003c/code\u003e decorator, as specified\nin PEP 800. Patch by Jelle Zijlstra.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etyping_extensions.type_repr\u003c/code\u003e, a backport of\n\u003ca href=\"https://docs.python.org/3.14/library/annotationlib.html#annotationlib.type_repr\"\u003e\u003ccode\u003eannotationlib.type_repr\u003c/code\u003e\u003c/a\u003e,\nintroduced in Python 3.14 (CPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/124551\"\u003e#124551\u003c/a\u003e,\noriginally by Jelle Zijlstra). Patch by Semyon Moroz.\u003c/li\u003e\n\u003cli\u003eFix behavior of type params in \u003ccode\u003etyping_extensions.evaluate_forward_ref\u003c/code\u003e. Backport of\nCPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/137227\"\u003e#137227\u003c/a\u003e by Jelle Zijlstra.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/9d1637e264b5c1a6b7acee3e907015f89b20c2c9\"\u003e\u003ccode\u003e9d1637e\u003c/code\u003e\u003c/a\u003e Prepare release 4.15.0 (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/658\"\u003e#658\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/4bd67c5be5d9443c7d33c314d02a56ee125eb88d\"\u003e\u003ccode\u003e4bd67c5\u003c/code\u003e\u003c/a\u003e Coverage: exclude some noise (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/656\"\u003e#656\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/e589a26da73b075c5276bae40b86db1af0144f84\"\u003e\u003ccode\u003ee589a26\u003c/code\u003e\u003c/a\u003e Coverage: add detailed report to job summary (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/655\"\u003e#655\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/67d37fed1298e050f74d5acc95b2621bd37837ad\"\u003e\u003ccode\u003e67d37fe\u003c/code\u003e\u003c/a\u003e Coverage: Implement fail_under (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/654\"\u003e#654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/e9ae26f5286edee9262727755ecb9ad16e999192\"\u003e\u003ccode\u003ee9ae26f\u003c/code\u003e\u003c/a\u003e Don't delete previous coverage comment (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/653\"\u003e#653\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/ac80bb728a3006fc88ef7373b92f0c25cfcc7895\"\u003e\u003ccode\u003eac80bb7\u003c/code\u003e\u003c/a\u003e Add Coverage workflow (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/623\"\u003e#623\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/abaaafd98c1cc7e5baf098ec287a3d22cb339670\"\u003e\u003ccode\u003eabaaafd\u003c/code\u003e\u003c/a\u003e Prepare release 4.15.0rc1 (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/650\"\u003e#650\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/98104053ea8d49bcdd247804e5fa9f73136acbd4\"\u003e\u003ccode\u003e9810405\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003e@disjoint_base\u003c/code\u003e (PEP 800) (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/634\"\u003e#634\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/7ee9e05fd484d06899ce56e80f5e1aa4c760fc03\"\u003e\u003ccode\u003e7ee9e05\u003c/code\u003e\u003c/a\u003e Backport type_params fix from CPython (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/646\"\u003e#646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/1e8eb9c06ef51b3a1e1f05303a16feca13f5ed98\"\u003e\u003ccode\u003e1e8eb9c\u003c/code\u003e\u003c/a\u003e Do not refer to PEP 705 as being experimental (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/648\"\u003e#648\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python/typing_extensions/compare/4.14.1...4.15.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pg8000` from 1.31.4 to 1.31.5\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tlocke/pg8000/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pymysql` from 1.1.1 to 1.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/PyMySQL/PyMySQL/releases\"\u003epymysql's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.1.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent UnboundLocalError on MySQLResult initialization during SystemExit by \u003ca href=\"https://github.com/palm002\"\u003e\u003ccode\u003e@​palm002\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1174\"\u003ePyMySQL/PyMySQL#1174\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eremove mention of runtests.py by \u003ca href=\"https://github.com/cfbolz\"\u003e\u003ccode\u003e@​cfbolz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1182\"\u003ePyMySQL/PyMySQL#1182\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003emake sure to also close \u003ccode\u003econnection._rfile\u003c/code\u003e in \u003ccode\u003eConnection._force_close\u003c/code\u003e by \u003ca href=\"https://github.com/cfbolz\"\u003e\u003ccode\u003e@​cfbolz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1184\"\u003ePyMySQL/PyMySQL#1184\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded MariaDB in readme description (\u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1180\"\u003e#1180\u003c/a\u003e) by \u003ca href=\"https://github.com/theneuralcraftsman\"\u003e\u003ccode\u003e@​theneuralcraftsman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1186\"\u003ePyMySQL/PyMySQL#1186\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update dependency sphinx-rtd-theme to v3 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1189\"\u003ePyMySQL/PyMySQL#1189\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update dependency sphinx to v8 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1179\"\u003ePyMySQL/PyMySQL#1179\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for Python 3.13 by \u003ca href=\"https://github.com/Cycloctane\"\u003e\u003ccode\u003e@​Cycloctane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1190\"\u003ePyMySQL/PyMySQL#1190\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eResolve UTF8 charset case-insensitively by \u003ca href=\"https://github.com/ek247\"\u003e\u003ccode\u003e@​ek247\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1195\"\u003ePyMySQL/PyMySQL#1195\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupdate ci versions by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1196\"\u003ePyMySQL/PyMySQL#1196\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003euse KILL instead of COM_KILL for MySQL 8.4 support by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1197\"\u003ePyMySQL/PyMySQL#1197\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edisable VERIFY_X509_STRICT for Python 3.13 support by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1198\"\u003ePyMySQL/PyMySQL#1198\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update codecov/codecov-action action to v5 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1191\"\u003ePyMySQL/PyMySQL#1191\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd MariaDB to README.md by \u003ca href=\"https://github.com/robertsilen\"\u003e\u003ccode\u003e@​robertsilen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1181\"\u003ePyMySQL/PyMySQL#1181\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: use defer_connect instead of mock by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1199\"\u003ePyMySQL/PyMySQL#1199\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: use astral-sh/ruff-action by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1201\"\u003ePyMySQL/PyMySQL#1201\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix auth_switch_request handling by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1200\"\u003ePyMySQL/PyMySQL#1200\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: update test matrix by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1215\"\u003ePyMySQL/PyMySQL#1215\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: do not drop MySQL 5.7 test for now by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1216\"\u003ePyMySQL/PyMySQL#1216\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupdate README by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1217\"\u003ePyMySQL/PyMySQL#1217\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eprepare v1.1.2 by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1218\"\u003ePyMySQL/PyMySQL#1218\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/palm002\"\u003e\u003ccode\u003e@​palm002\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1174\"\u003ePyMySQL/PyMySQL#1174\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cfbolz\"\u003e\u003ccode\u003e@​cfbolz\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1182\"\u003ePyMySQL/PyMySQL#1182\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theneuralcraftsman\"\u003e\u003ccode\u003e@​theneuralcraftsman\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1186\"\u003ePyMySQL/PyMySQL#1186\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Cycloctane\"\u003e\u003ccode\u003e@​Cycloctane\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1190\"\u003ePyMySQL/PyMySQL#1190\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ek247\"\u003e\u003ccode\u003e@​ek247\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1195\"\u003ePyMySQL/PyMySQL#1195\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/robertsilen\"\u003e\u003ccode\u003e@​robertsilen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1181\"\u003ePyMySQL/PyMySQL#1181\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/PyMySQL/PyMySQL/compare/v1.1.1...v1.1.2\"\u003ehttps://github.com/PyMySQL/PyMySQL/compare/v1.1.1...v1.1.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/PyMySQL/PyMySQL/blob/main/CHANGELOG.md\"\u003epymysql's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.1.2\u003c/h2\u003e\n\u003cp\u003eRelease date: 2025-08-24\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent UnboundLocalError in very rare situation. \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1174\"\u003ePyMySQL/PyMySQL#1174\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClose underlying \u003ccode\u003eSocketIO\u003c/code\u003e soon when Connection is closed for PyPy. \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1183\"\u003ePyMySQL/PyMySQL#1183\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix importing PyMySQL fail on CPython 3.13 when \u003ccode\u003egetpass.getuser()\u003c/code\u003e raises OSEError. \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1190\"\u003ePyMySQL/PyMySQL#1190\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake charset name \u0026quot;utf8\u0026quot; case insensitive. \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1195\"\u003ePyMySQL/PyMySQL#1195\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.kill()\u003c/code\u003e uses \u003ccode\u003eKILL\u003c/code\u003e query instead of \u003ccode\u003eCOM_KILL\u003c/code\u003ecommand to support MySQL 8.4. \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1197\"\u003ePyMySQL/PyMySQL#1197\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix SSL error on CPython 3.13 caused by strict TLS default setting. \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1198\"\u003ePyMySQL/PyMySQL#1198\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix auth switch request handling. \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1200\"\u003ePyMySQL/PyMySQL#1200\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/PyMySQL/PyMySQL/commit/d7bb777e503d82bf2496113f07dd4ab249615efc\"\u003e\u003ccode\u003ed7bb777\u003c/code\u003e\u003c/a\u003e release v1.1.2 (\u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1218\"\u003e#1218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyMySQL/PyMySQL/commit/2559de5a6b01917622fc8986cd3dd8479d7d6e95\"\u003e\u003ccode\u003e2559de5\u003c/code\u003e\u003c/a\u003e update README (\u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1217\"\u003e#1217\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyMySQL/PyMySQL/commit/a388c3a5e274c3b8c03e5f1dcb442b4bb2f9bafd\"\u003e\u003ccode\u003ea388c3a\u003c/code\u003e\u003c/a\u003e ci: do not drop MySQL 5.7 test for now (\u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1216\"\u003e#1216\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyMySQL/PyMySQL/commit/9a3fe442edaca9db6da1809c82dbb6f4192440ee\"\u003e\u003ccode\u003e9a3fe44\u003c/code\u003e\u003c/a\u003e ci: update test matrix (\u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1215\"\u003e#1215\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyMySQL/PyMySQL/commit/bed601f04fb982c7c42c6ff7e56b7f749ac64cc9\"\u003e\u003ccode\u003ebed601f\u003c/code\u003e\u003c/a\u003e Add DeepWiki badge\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyMySQL/PyMySQL/commit/01af30fea0880c3b72e6c7b3b05d66a8c28ced7a\"\u003e\u003ccode\u003e01af30f\u003c/code\u003e\u003c/a\u003e fix auth_switch_request handling (\u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1200\"\u003e#1200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyMySQL/PyMySQL/commit/53efd1ec7f0e854abc62eb875b944f56bca29dd2\"\u003e\u003ccode\u003e53efd1e\u003c/code\u003e\u003c/a\u003e ci: use astral-sh/ruff-action (\u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1201\"\u003e#1201\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyMySQL/PyMySQL/commit/e88b729f8f1ddcf0851e0153188b016d0e9ec00c\"\u003e\u003ccode\u003ee88b729\u003c/code\u003e\u003c/a\u003e remove codeql and codesee actions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyMySQL/PyMySQL/commit/5f6533f883535b76c2d3a776c4746027027106f8\"\u003e\u003ccode\u003e5f6533f\u003c/code\u003e\u003c/a\u003e refactor: use defer_connect instead of mock (\u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1199\"\u003e#1199\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyMySQL/PyMySQL/commit/66ad1eaa47cfde19dfe01900ceb5f6ea51483e95\"\u003e\u003ccode\u003e66ad1ea\u003c/code\u003e\u003c/a\u003e add MariaDB to README.md (\u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1181\"\u003e#1181\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/PyMySQL/PyMySQL/compare/v1.1.1...v1.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rdflib` from 7.1.4 to 7.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/RDFLib/rdflib/releases\"\u003erdflib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2025-09-19 RELEASE 7.2.1\u003c/h2\u003e\n\u003cp\u003eNew features:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCanonicalization is now optional in the longturtle serializer. When serializing with the \u003ccode\u003elongturtle\u003c/code\u003e format, set \u003ccode\u003ecanon=True\u003c/code\u003e to enable canonicalization.\u003c/li\u003e\n\u003cli\u003eGeneral type hints enhancements\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed deskolemization of literals\u003c/li\u003e\n\u003cli\u003eFixed round-tripping of floats in N3 - floating point and scientific notation handling\u003c/li\u003e\n\u003cli\u003eFixed CI validation workflow, including regressions in tests\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eLiteral.toPython\u003c/code\u003e date conversion for gYear/gYearMonth\u003c/li\u003e\n\u003cli\u003eFixed namespace prefixes in longturtle serialization\u003c/li\u003e\n\u003cli\u003eFixed missing dot in RDF patch serialization\u003c/li\u003e\n\u003cli\u003ePrevious RDFLib releases required all downstream projects to specify \u0026lt;4.0.0. This release relaxes this requirement to allow Python 3.8.1 and later.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee the \u003ca href=\"https://github.com/RDFLib/rdflib/blob/main/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for more details.\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/RDFLib/rdflib/blob/main/CHANGELOG.md\"\u003erdflib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2025-09-19 RELEASE 7.2.1\u003c/h2\u003e\n\u003cp\u003eA tiny clean up release.\u003c/p\u003e\n\u003cp\u003eFixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePrevious RDFLib releases required all downstream projects to specify \u0026lt;4.0.0. This release relaxes this requirement to allow Python 3.8.1 and later.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2025-09-19 RELEASE 7.2.0\u003c/h2\u003e\n\u003cp\u003eThis release contains a number of fixes and improvements to RDFLib.\u003c/p\u003e\n\u003cp\u003eNew features:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCanonicalization is now optional in the longturtle serializer. When serializing with the \u003ccode\u003elongturtle\u003c/code\u003e format, set \u003ccode\u003ecanon=True\u003c/code\u003e to enable canonicalization.\u003c/li\u003e\n\u003cli\u003eGeneral type hints enhancements\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed deskolemization of literals\u003c/li\u003e\n\u003cli\u003eFixed round-tripping of floats in N3 - floating point and scientific notation handling\u003c/li\u003e\n\u003cli\u003eFixed CI validation workflow, including regressions in tests\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eLiteral.toPython\u003c/code\u003e date conversion for gYear/gYearMonth\u003c/li\u003e\n\u003cli\u003eFixed namespace prefixes in longturtle serialization\u003c/li\u003e\n\u003cli\u003eFixed missing dot in RDF patch serialization\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ePRs merged:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e2025-09-18 - [7.x] Fix incorrect deskolemization of literals\n[PR \u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3223\"\u003e#3223\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/pull/3223\"\u003eRDFLib/rdflib#3223\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2025-09-18 - Fix incorrect deskolemization of literals\n[PR \u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3127\"\u003e#3127\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/pull/3127\"\u003eRDFLib/rdflib#3127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2025-09-18 - notation3.py: don't normalize float representation\n[PR \u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3020\"\u003e#3020\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/pull/3020\"\u003eRDFLib/rdflib#3020\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2025-09-18 - [7.x] notation3.py: don't normalize float representation\n[PR \u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3221\"\u003e#3221\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/pull/3221\"\u003eRDFLib/rdflib#3221\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2025-09-18 - Merge 7-maintenance branch into 7.x\n[PR \u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3222\"\u003e#3222\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/pull/3222\"\u003eRDFLib/rdflib#3222\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2025-09-17 - Allow lxml 6\n[PR \u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3219\"\u003e#3219\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/pull/3219\"\u003eRDFLib/rdflib#3219\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2025-09-16 - ci: fix firejail command for poetry 2.1.0\n[PR \u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3218\"\u003e#3218\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/pull/3218\"\u003eRDFLib/rdflib#3218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2025-09-16 - chore: address dependabot security vulnerabilities\n[PR \u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3210\"\u003e#3210\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/pull/3210\"\u003eRDFLib/rdflib#3210\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2025-09-09 - Merge 7-maintenance changes into main\n[PR \u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3202\"\u003e#3202\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/pull/3202\"\u003eRDFLib/rdflib#3202\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2025-09-08 - feat: canonicalization with longturtle serializer now optional\n[PR \u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3197\"\u003e#3197\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/pull/3197\"\u003eRDFLib/rdflib#3197\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2025-09-03 - Specify \u003ccode\u003eOptional\u003c/code\u003e parameters in \u003ccode\u003eGraph.triples_choices\u003c/code\u003e\n[PR \u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3075\"\u003e#3075\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/pull/3075\"\u003eRDFLib/rdflib#3075\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2025-08-29 - Fix failing webtest\n[PR \u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3194\"\u003e#3194\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/pull/3194\"\u003eRDFLib/rdflib#3194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2025-08-29 - Revert \u0026quot;remove old hacks against 2to3 (\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3076\"\u003e#3076\u003c/a\u003e)\u0026quot;\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RDFLib/rdflib/commit/856c1af6b59f919d0d1230cb718c72f1415caf23\"\u003e\u003ccode\u003e856c1af\u003c/code\u003e\u003c/a\u003e chore: prep 7.2.1 release (\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3225\"\u003e#3225\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RDFLib/rdflib/commit/19a0ccf014e2661aa04c2efde925f83ca6b54409\"\u003e\u003ccode\u003e19a0ccf\u003c/code\u003e\u003c/a\u003e chore: prep 7.2.0 release (\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3224\"\u003e#3224\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RDFLib/rdflib/commit/f276bd6cc70bfaf3719f7eb9d787e6d794b5a3dd\"\u003e\u003ccode\u003ef276bd6\u003c/code\u003e\u003c/a\u003e Fix incorrect deskolemization of literals (\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3127\"\u003e#3127\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3223\"\u003e#3223\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RDFLib/rdflib/commit/747b8d30e6ca12c12fd895f7ae44685a828ff33a\"\u003e\u003ccode\u003e747b8d3\u003c/code\u003e\u003c/a\u003e [7.x] notation3.py: don't normalize float representation (\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3221\"\u003e#3221\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RDFLib/rdflib/commit/c580c00dbe76b6c6fb201448e4e81887eb88b40b\"\u003e\u003ccode\u003ec580c00\u003c/code\u003e\u003c/a\u003e Merge 7-maintenance branch into 7.x (\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3222\"\u003e#3222\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/RDFLib/rdflib/compare/7.1.4...7.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `holidays` from 0.77 to 0.81\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vacanza/holidays/releases\"\u003eholidays's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.81\u003c/h2\u003e\n\u003ch1\u003eVersion 0.81\u003c/h1\u003e\n\u003cp\u003eReleased September 15, 2025\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Saint Helena, Ascension and Tristan da Cunha holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2820\"\u003e#2820\u003c/a\u003e by \u003ca href=\"https://github.com/Abheelash-Mishra\"\u003e\u003ccode\u003e@​Abheelash-Mishra\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Sudan holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2854\"\u003e#2854\u003c/a\u003e by \u003ca href=\"https://github.com/anshonweb\"\u003e\u003ccode\u003e@​anshonweb\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Chinese Lunisolar calendar: extend Winter Solstice support (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2927\"\u003e#2927\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Philippines holidays: add 2026 holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2912\"\u003e#2912\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Spain holidays: add Dec 3 holiday in Navarre (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2895\"\u003e#2895\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate countries with Eastern holidays: add estimated holidays labels (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2924\"\u003e#2924\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate release notes generator (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2929\"\u003e#2929\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplify N802 suppression for \u003ccode\u003ecommon.py\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2880\"\u003e#2880\u003c/a\u003e by \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/vacanza/holidays/compare/v0.80...v0.81\"\u003ehttps://github.com/vacanza/holidays/compare/v0.80...v0.81\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.80\u003c/h2\u003e\n\u003ch1\u003eVersion 0.80\u003c/h1\u003e\n\u003cp\u003eReleased September 1, 2025\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRefactor Australia holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2828\"\u003e#2828\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor Macau holidays: holiday categories standardization (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2868\"\u003e#2868\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Comoros holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2827\"\u003e#2827\u003c/a\u003e by \u003ca href=\"https://github.com/Prateekshit73\"\u003e\u003ccode\u003e@​Prateekshit73\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/prateekshit-v\"\u003e\u003ccode\u003e@​prateekshit-v\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Eritrea holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2783\"\u003e#2783\u003c/a\u003e by \u003ca href=\"https://github.com/Prateekshit73\"\u003e\u003ccode\u003e@​Prateekshit73\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/prateekshit-v\"\u003e\u003ccode\u003e@​prateekshit-v\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd National Stock Exchange of India (NSE) holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2834\"\u003e#2834\u003c/a\u003e by \u003ca href=\"https://github.com/saheelsapovadia\"\u003e\u003ccode\u003e@​saheelsapovadia\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Rwanda holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2792\"\u003e#2792\u003c/a\u003e by \u003ca href=\"https://github.com/Prateekshit73\"\u003e\u003ccode\u003e@​Prateekshit73\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/prateekshit-v\"\u003e\u003ccode\u003e@​prateekshit-v\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Somalia holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2848\"\u003e#2848\u003c/a\u003e by \u003ca href=\"https://github.com/Prateekshit73\"\u003e\u003ccode\u003e@​Prateekshit73\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/prateekshit-v\"\u003e\u003ccode\u003e@​prateekshit-v\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd South Sudan holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2831\"\u003e#2831\u003c/a\u003e by \u003ca href=\"https://github.com/Prateekshit73\"\u003e\u003ccode\u003e@​Prateekshit73\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/prateekshit-v\"\u003e\u003ccode\u003e@​prateekshit-v\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Tajikistan holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2852\"\u003e#2852\u003c/a\u003e by \u003ca href=\"https://github.com/Wasif-Shahzad\"\u003e\u003ccode\u003e@​Wasif-Shahzad\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Uganda holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2833\"\u003e#2833\u003c/a\u003e by \u003ca href=\"https://github.com/Prateekshit73\"\u003e\u003ccode\u003e@​Prateekshit73\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/prateekshit-v\"\u003e\u003ccode\u003e@​prateekshit-v\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eestimated_label\u003c/code\u003e to all countries with Islamic holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2860\"\u003e#2860\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Hindu Lunisolar calendar (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2871\"\u003e#2871\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Islamic holidays tests (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2849\"\u003e#2849\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eTestAllInSameYear\u003c/code\u003e methods (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2877\"\u003e#2877\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Bosnia and Herzegovina holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2869\"\u003e#2869\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Burundi holidays, add l10n support (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2843\"\u003e#2843\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Canada holidays: add National Day for Truth and Reconciliation in MB (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2829\"\u003e#2829\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Georgia holidays: add August 29, 2025 special holiday (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2863\"\u003e#2863\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Guinea-Bissau holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2859\"\u003e#2859\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Nigeria holidays, add l10n support (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2874\"\u003e#2874\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Singapore holidays: remove duplicate holidays label assignment (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2844\"\u003e#2844\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Tanzania holidays: extend holidays support to 1965 (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2821\"\u003e#2821\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003ecommon::CommonTests\u003c/code\u003e: expand label tests to financial entities (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2876\"\u003e#2876\u003c/a\u003e by \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd .zenodo.json (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2870\"\u003e#2870\u003c/a\u003e by \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ecommon::TestCase::assertHolidayNameCount\u003c/code\u003e method (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2873\"\u003e#2873\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd metadata package version mismatch hint (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2846\"\u003e#2846\u003c/a\u003e by \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd missing docstring for \u003ccode\u003e__init__\u003c/code\u003e method (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2850\"\u003e#2850\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpose entity additional codes (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2879\"\u003e#2879\u003c/a\u003e by \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTest Case Name Standardization (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2853\"\u003e#2853\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vacanza/holidays/blob/dev/CHANGES.md\"\u003eholidays's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eVersion 0.81\u003c/h1\u003e\n\u003cp\u003eReleased September 15, 2025\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Saint Helena, Ascension and Tristan da Cunha holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2820\"\u003e#2820\u003c/a\u003e by \u003ca href=\"https://github.com/Abheelash-Mishra\"\u003e\u003ccode\u003e@​Abheelash-Mishra\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Sudan holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2854\"\u003e#2854\u003c/a\u003e by \u003ca href=\"https://github.com/anshonweb\"\u003e\u003ccode\u003e@​anshonweb\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Chinese Lunisolar calendar: extend Winter Solstice support (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2927\"\u003e#2927\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Philippines holidays: add 2026 holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2912\"\u003e#2912\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Spain holidays: add Dec 3 holiday in Navarre (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2895\"\u003e#2895\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate countries with Eastern holidays: add estimated holidays labels (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2924\"\u003e#2924\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate release notes generator (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2929\"\u003e#2929\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplify N802 suppression for \u003ccode\u003ecommon.py\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2880\"\u003e#2880\u003c/a\u003e by \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eVersion 0.80\u003c/h1\u003e\n\u003cp\u003eReleased September 1, 2025\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRefactor Australia holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2828\"\u003e#2828\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor Macau holidays: holiday categories standardization (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2868\"\u003e#2868\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Comoros holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2827\"\u003e#2827\u003c/a\u003e by \u003ca href=\"https://github.com/Prateekshit73\"\u003e\u003ccode\u003e@​Prateekshit73\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/prateekshit-v\"\u003e\u003ccode\u003e@​prateekshit-v\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Eritrea holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2783\"\u003e#2783\u003c/a\u003e by \u003ca href=\"https://github.com/Prateekshit73\"\u003e\u003ccode\u003e@​Prateekshit73\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/prateekshit-v\"\u003e\u003ccode\u003e@​prateekshit-v\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd National Stock Exchange of India (NSE) holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2834\"\u003e#2834\u003c/a\u003e by \u003ca href=\"https://github.com/saheelsapovadia\"\u003e\u003ccode\u003e@​saheelsapovadia\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Rwanda holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2792\"\u003e#2792\u003c/a\u003e by \u003ca href=\"https://github.com/Prateekshit73\"\u003e\u003ccode\u003e@​Prateekshit73\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/prateekshit-v\"\u003e\u003ccode\u003e@​prateekshit-v\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Somalia holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2848\"\u003e#2848\u003c/a\u003e by \u003ca href=\"https://github.com/Prateekshit73\"\u003e\u003ccode\u003e@​Prateekshit73\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/prateekshit-v\"\u003e\u003ccode\u003e@​prateekshit-v\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd South Sudan holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2831\"\u003e#2831\u003c/a\u003e by \u003ca href=\"https://github.com/Prateekshit73\"\u003e\u003ccode\u003e@​Prateekshit73\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/prateekshit-v\"\u003e\u003ccode\u003e@​prateekshit-v\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Tajikistan holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2852\"\u003e#2852\u003c/a\u003e by \u003ca href=\"https://github.com/Wasif-Shahzad\"\u003e\u003ccode\u003e@​Wasif-Shahzad\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Uganda holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2833\"\u003e#2833\u003c/a\u003e by \u003ca href=\"https://github.com/Prateekshit73\"\u003e\u003ccode\u003e@​Prateekshit73\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/prateekshit-v\"\u003e\u003ccode\u003e@​prateekshit-v\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eestimated_label\u003c/code\u003e to all countries with Islamic holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2860\"\u003e#2860\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Hindu Lunisolar calendar (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2871\"\u003e#2871\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Islamic holidays tests (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2849\"\u003e#2849\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eTestAllInSameYear\u003c/code\u003e methods (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2877\"\u003e#2877\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Bosnia and Herzegovina holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2869\"\u003e#2869\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Burundi holidays, add l10n support (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2843\"\u003e#2843\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Canada holidays: add National Day for Truth and Reconciliation in MB (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2829\"\u003e#2829\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Georgia holidays: add August 29, 2025 special holiday (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2863\"\u003e#2863\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Guinea-Bissau holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2859\"\u003e#2859\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Nigeria holidays, add l10n support (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2874\"\u003e#2874\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Singapore holidays: remove duplicate holidays label assignment (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2844\"\u003e#2844\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Tanzania holidays: extend holidays support to 1965 (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2821\"\u003e#2821\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003ecommon::CommonTests\u003c/code\u003e: expand label tests to financial entities (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2876\"\u003e#2876\u003c/a\u003e by \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd .zenodo.json (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2870\"\u003e#2870\u003c/a\u003e by \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ecommon::TestCase::assertHolidayNameCount\u003c/code\u003e method (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2873\"\u003e#2873\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd metadata package version mismatch hint (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2846\"\u003e#2846\u003c/a\u003e by \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd missing docstring for \u003ccode\u003e__init__\u003c/code\u003e method (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2850\"\u003e#2850\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpose entity additional codes (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2879\"\u003e#2879\u003c/a\u003e by \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTest Case Name Standardization (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2853\"\u003e#2853\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUnify imports (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2845\"\u003e#2845\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse aux repository data for downloads badge (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2832\"\u003e#2832\u003c/a\u003e by \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eVersion 0.79\u003c/h1\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vacanza/holidays/commit/0234c7dea5b46ce3fe28e3ec1a19a1a4a8521017\"\u003e\u003ccode\u003e0234c7d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2930\"\u003e#2930\u003c/a\u003e from vacanza/dev\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vacanza/holidays/commit/f3d765ee6f9a2ab03b2957a77128d90032e13b34\"\u003e\u003ccode\u003ef3d765e\u003c/code\u003e\u003c/a\u003e Finalize v0.81\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vacanza/holidays/commit/ba0d5133a0e62b9c36028852fe096e8ef5c79582\"\u003e\u003ccode\u003eba0d513\u003c/code\u003e\u003c/a\u003e Update release notes generator (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2929\"\u003e#2929\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vacanza/holidays/commit/02603f25f1fd1bc1d360e2c4abcd0b7136e4d33f\"\u003e\u003ccode\u003e02603f2\u003c/code\u003e\u003c/a\u003e Update Chinese Lunisolar calendar: extend Winter Solstice support (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2927\"\u003e#2927\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vacanza/holidays/commit/b1728bf912418000d300e0a9efa71802ba7e005d\"\u003e\u003ccode\u003eb1728bf\u003c/code\u003e\u003c/a\u003e Update countries with Eastern holidays: add estimated holidays labels (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2924\"\u003e#2924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vacanza/holidays/commit/9068084b799e7ff7f88d9810c02f8895714f356f\"\u003e\u003ccode\u003e9068084\u003c/code\u003e\u003c/a\u003e chore: Update snapshots (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2926\"\u003e#2926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vacanza/holidays/commit/342b9a7df4dd53d44f16e16308e71d3615827941\"\u003e\u003ccode\u003e342b9a7\u003c/code\u003e\u003c/a\u003e Add Sudan holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2854\"\u003e#2854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vacanza/holidays/commit/a6840fc9cf24adcfbc732720de18838d4105868a\"\u003e\u003ccode\u003ea6840fc\u003c/code\u003e\u003c/a\u003e Update pre-commit hooks (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2925\"\u003e#2925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vacanza/holidays/commit/0128617d51501ebde0fa7f4b5360b96ab546d3a9\"\u003e\u003ccode\u003e0128617\u003c/code\u003e\u003c/a\u003e Bump actions/setup-python from 5.6.0 to 6.0.0 (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2918\"\u003e#2918\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vacanza/holidays/commit/e2f7410476b88bef4108d7f7bebceb872e37eca9\"\u003e\u003ccode\u003ee2f7410\u003c/code\u003e\u003c/a\u003e Update pre-commit hooks (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2922\"\u003e#2922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vacanza/holidays/compare/v0.77...v0.81\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cheroot` from 10.0.1 to 11.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/cherrypy/cheroot/releases\"\u003echeroot's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev11.0.0\u003c/h2\u003e\n\u003ch2\u003e📝 Release notes\u003c/h2\u003e\n\u003cp\u003e📦 PyPI page: \u003ca href=\"https://pypi.org/project/cheroot/11.0.0\"\u003ehttps://pypi.org/project/cheroot/11.0.0\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e🌱 v11.0.0 is marked as a stable release.\u003c/p\u003e\n\u003cp\u003e🔗 This release has been produced by  the following workflow run: \u003ca href=\"https://github.com/cherrypy/cheroot/actions/runs/17894178348\"\u003ehttps://github.com/cherrypy/cheroot/actions/runs/17894178348\u003c/a\u003e\u003c/p\u003e\n\u003ch1\u003ev11.0.0\u003c/h1\u003e\n\u003cp\u003e\u003cem\u003e(2025-09-21)\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eWhen load is too high, Cheroot now responds with a 503 Service\nUnavailable HTTP error. Previously it silently closed the connection.\u003c/p\u003e\n\u003cp\u003e-- by \u003ca href=\"https://github.com/itamarst\"\u003e\u003ccode\u003e@​itamarst\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRelated issues and pull requests on GitHub:\u003c/em\u003e \u003ca href=\"https://redirect.github.com/cherrypy/cheroot/issues/745\"\u003e#745\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRemovals and backward incompatible breaking changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eCheroot dropped support for Python 3.6 and 3.7. It now requires Python\n3.8 or later.\u003c/p\u003e\n\u003cp\u003e-- by \u003ca href=\"https://github.com/jaraco\"\u003e\u003ccode\u003e@​jaraco\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRelated issues and pull requests on GitHub:\u003c/em\u003e \u003ca href=\"https://redirect.github.com/cherrypy/cheroot/issues/565\"\u003e#565\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/cherrypy/cheroot/issues/633\"\u003e#633\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRelated commits on GitHub:\u003c/em\u003e\n\u003ca href=\"https://github.com/cherrypy/cheroot/commit/437863ee\"\u003ehttps://github.com/cherrypy/cheroot/commit/437863ee\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePackaging updates and notes for downstreams\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eDeclared Python 3.12 and Python 3.13 as supported officially -- by\n\u003ca href=\"https://github.com/webknjaz\"\u003e\u003ccode\u003e@​webknjaz\u003c/code\u003e\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRelated issues and pull requests on GitHub:\u003c/em\u003e \u003ca href=\"https://redirect.github.com/cherrypy/cheroot/issues/696\"\u003e#696\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRelated commits on GitHub:\u003c/em\u003e\n\u003ca href=\"https://github.com/cherrypy/cheroot/commit/5db4f634\"\u003ehttps://github.com/cherrypy/cheroot/commit/5db4f634\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe minimum version of the \u003ccode\u003esetuptools-scm\u003c/code\u003e build dependency has been\nset to 7. The Git archives are now produced by it natively, instead of\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/cherrypy/cheroot/blob/main/CHANGES.rst\"\u003echeroot's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev11.0.0\u003c/h1\u003e\n\u003cp\u003e\u003cem\u003e(2025-09-21)\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eWhen load is too high, Cheroot now responds with a 503 Service Unavailable HTTP error.\nPreviously it silently closed the connection.\u003c/p\u003e\n\u003cp\u003e-- by :user:\u003ccode\u003eitamarst\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRelated issues and pull requests on GitHub:\u003c/em\u003e\n:issue:\u003ccode\u003e745\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRemovals and backward incompatible breaking changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eCheroot dropped support for Python 3.6 and 3.7.\nIt now requires Python 3.8 or later.\u003c/p\u003e\n\u003cp\u003e-- by :user:\u003ccode\u003ejaraco\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRelated issues and pull requests on GitHub:\u003c/em\u003e\n:issue:\u003ccode\u003e565\u003c/code\u003e, :issue:\u003ccode\u003e633\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRelated commits on GitHub:\u003c/em\u003e\n:commit:\u003ccode\u003e437863ee\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePackaging updates and notes for downstreams\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eDeclared Python 3.12 and Python 3.13 as supported officially\n-- by :user:\u003ccode\u003ewebknjaz\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRelated issues and pull requests on GitHub:\u003c/em\u003e\n:issue:\u003ccode\u003e696\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRelated commits on GitHub:\u003c/em\u003e\n:commit:\u003ccode\u003e5db4f634\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe minimum version of the \u003ccode\u003esetuptools-scm\u003c/code\u003e build dependency\nhas been set to 7. The Git archives are now produced by it\nnatively, instead of relying on a third party plugin which is\nno longer being used.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cherrypy/cheroot/commit/50b1f1d72c90be6fad4c2a53cf57be6ad98d03cc\"\u003e\u003ccode\u003e50b1f1d\u003c/code\u003e\u003c/a\u003e Generate a change log entry for v11.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cherrypy/cheroot/commit/4e9b36b99f0ac96d1a99c11817587b2a09166432\"\u003e\u003ccode\u003e4e9b36b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/cherrypy/cheroot/issues/759\"\u003e#759\u003c/a\u003e from cherrypy/maintenance/pip-tools-constraint-lockfiles\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cherrypy/cheroot/commit/b4a28ae4b7ac41047f294a19a01b77a6f874841b\"\u003e\u003ccode\u003eb4a28ae\u003c/code\u003e\u003c/a\u003e Update tox-pypy311-pp311-win32-amd64 constraints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cherrypy/cheroot/commit/a9fd2ba845417bd0a42288dd3695f296a7dcf14f\"\u003e\u003ccode\u003ea9fd2ba\u003c/code\u003e\u003c/a\u003e Update tox-pypy311-pp311-linux-x86_64 constraints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cherrypy/cheroot/commit/27a91155b671f56e47e199f794420982ebc9475a\"\u003e\u003ccode\u003e27a9115\u003c/code\u003e\u003c/a\u003e Update tox-pypy311-pp311-linux-aarch64 constraints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cherrypy/cheroot/commit/5fdcdd67817aed949827727376a31f9b2f533106\"\u003e\u003ccode\u003e5fdcdd6\u003c/code\u003e\u003c/a\u003e Update tox-pypy311-pp311-darwin-x86_64 constraints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cherrypy/cheroot/commit/c1cbafca5bf4490b70a50a80d4b5325d0accbb8c\"\u003e\u003ccode\u003ec1cbafc\u003c/code\u003e\u003c/a\u003e Update tox-pypy311-pp311-darwin-arm64 constraints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cherrypy/cheroot/commit/93faa537f8631133f44bd278c69bc817223c7a0a\"\u003e\u003ccode\u003e93faa53\u003c/code\u003e\u003c/a\u003e Update tox-py39-cp39-win32-amd64 constraints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cherrypy/cheroot/commit/36482bb6930628f5598afb2e0aa9fc1717dae6eb\"\u003e\u003ccode\u003e36482bb\u003c/code\u003e\u003c/a\u003e Update tox-py39-cp39-linux-x86_64 constraints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cherrypy/cheroot/commit/a1b2a20ccc095ff0c925b8581985c4f5d915287e\"\u003e\u003ccode\u003ea1b2a20\u003c/code\u003e\u003c/a\u003e Update tox-py39-cp39-linux-aarch64 constraints\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/cherrypy/cheroot/compare/v10.0.1...v11.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tornado` from 6.5.1 to 6.5.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tornadoweb/tornado/blob/master/docs/releases.rst\"\u003etornado's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eRelease notes\u003c/h1\u003e\n\u003cp\u003e.. toctree::\n:maxdepth: 2\u003c/p\u003e\n\u003cp\u003ereleases/v6.5.2\nreleases/v6.5.1\nreleases/v6.5.0\nreleases/v6.4.2\nreleases/v6.4.1\nreleases/v6.4.0\nreleases/v6.3.3\nreleases/v6.3.2\nreleases/v6.3.1\nreleases/v6.3.0\nreleases/v6.2.0\nreleases/v6.1.0\nreleases/v6.0.4\nreleases/v6.0.3\nreleases/v6.0.2\nreleases/v6.0.1\nreleases/v6.0.0\nreleases/v5.1.1\nreleases/v5.1.0\nreleases/v5.0.2\nreleases/v5.0.1\nreleases/v5.0.0\nreleases/v4.5.3\nreleases/v4.5.2\nreleases/v4.5.1\nreleases/v4.5.0\nreleases/v4.4.3\nreleases/v4.4.2\nreleases/v4.4.1\nreleases/v4.4.0\nreleases/v4.3.0\nreleases/v4.2.1\nreleases/v4.2.0\nreleases/v4.1.0\nreleases/v4.0.2\nreleases/v4.0.1\nreleases/v4.0.0\nreleases/v3.2.2\nreleases/v3.2.1\nreleases/v3.2.0\nreleases/v3.1.1\nreleases/v3.1.0\nreleases/v3.0.2\nreleases/v3.0.1\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/547e6d86972238f1f5333a85f12b17fb33626899\"\u003e\u003ccode\u003e547e6d8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/tornadoweb/tornado/issues/3529\"\u003e#3529\u003c/a\u003e from bdarnell/relnotes-652\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/be9c374b2ea5e3d6c988c7ede8d284a649cfec37\"\u003e\u003ccode\u003ebe9c374\u003c/code\u003e\u003c/a\u003e Release notes for 6.5.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/8cbc4bfa53874a5dfa7b4bc50971d2ee21baf2d2\"\u003e\u003ccode\u003e8cbc4bf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/tornadoweb/tornado/issues/3527\"\u003e#3527\u003c/a\u003e from bdarnell/backports-6.5.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/c0d3e6df84344ec0aea2a9f9257aba76db78ca25\"\u003e\u003ccode\u003ec0d3e6d\u003c/code\u003e\u003c/a\u003e http1connection: Improve error logging for invalid host headers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/4ff5594ffd71c6dc9c82b0f003d63ed543a8e6d3\"\u003e\u003ccode\u003e4ff5594\u003c/code\u003e\u003c/a\u003e httputil: Restore the host argument to HTTPServerRequest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/b16916c8ad5836fd883452620020c8a1ea4addbf\"\u003e\u003ccode\u003eb16916c\u003c/code\u003e\u003c/a\u003e Add overloads to gen.multi() (\u003ca href=\"https://redirect.github.com/tornadoweb/tornado/issues/3515\"\u003e#3515\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/b5d2f3cc5eb20de1b0cf86e9e48e1624e42ce13b\"\u003e\u003ccode\u003eb5d2f3c\u003c/code\u003e\u003c/a\u003e httputil: Remove a debug print left in by mistake\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/38c6f591d49a808e11bc801028611bcee6aa6bba\"\u003e\u003ccode\u003e38c6f59\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/tornadoweb/tornado/issues/3513\"\u003e#3513\u003c/a\u003e from oliver-sanders/3258.fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/3fc1d91bbbc6a11160528fffb11105998479a6ba\"\u003e\u003ccode\u003e3fc1d91\u003c/code\u003e\u003c/a\u003e websocket: Expand testing of next-ping calculation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/56fc23fe20b4f19ac6cfbbb25611ad692e45082b\"\u003e\u003ccode\u003e56fc23f\u003c/code\u003e\u003c/a\u003e websocket_ping: fix ping interval with non-zero timeout and improve docs.\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tornadoweb/tornado/compare/v6.5.1...v6.5.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `setuptools-scm[toml]` to 9.2.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/setuptools-scm/releases\"\u003esetuptools-scm[toml]'s releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev9.2.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ereiterate version inference by \u003ca href=\"https://github.com/RonnyPfannschmidt\"\u003e\u003ccode\u003e@​RonnyPfannschmidt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/pull/1202\"\u003epypa/setuptools-scm#1202\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003esimple activation now requires a extra instead of setting up many pre-existing projects for failure/error\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pypa/setuptools-scm/compare/v9.1.1...v9.2.0\"\u003ehttps://github.com/pypa/setuptools-scm/compare/v9.1.1...v9.2.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/setuptools-scm/blob/main/CHANGELOG.md\"\u003esetuptools-scm[toml]'s changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev9.2.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eadd simplified activation via \u003ccode\u003esetuptools-scm[simple]\u003c/code\u003e extra\u003c/p\u003e\n\u003cp\u003eA new streamlined way to enable version inference without requiring a \u003ccode\u003e[tool.setuptools_scm]\u003c/code\u003e section.\nWhen \u003ccode\u003esetuptools-scm[simple]\u003c/code\u003e is in \u003ccode\u003ebuild-system.requires\u003c/code\u003e and \u003ccode\u003eversion\u003c/code\u003e is in \u003ccode\u003eproject.dynamic\u003c/code\u003e,\nversion inference is automatically enabled with default settings.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eremoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eunchecked simplified activation - too many projects use setups where it would fail\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003echanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erefine activation logic and add unittest for the relevant cases instead of trying to speedrun setuptools\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.1.1 (yanked)\u003c/h2\u003e\n\u003ch3\u003efixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/issues/1194\"\u003e#1194\u003c/a\u003e: correctly handle version keyword when pyproject metadata is missing\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.1.0 (yanked)\u003c/h2\u003e\n\u003ch3\u003efixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003ecomplete reiteration of the decision logic for enabling version inference on setuptools_scm\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eshared logic for the important parts\u003c/li\u003e\n\u003cli\u003eproper deferring based in precedence of finalize options vs version keyword\u003c/li\u003e\n\u003cli\u003eunittestable for the parsing parts and the decision steps\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.0.3 (yanked)\u003c/h2\u003e\n\u003ch3\u003efixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix 1184: verify version is dynamic if the dependency is used as indicator for enabling\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.0.2 (yanked)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix \u003ca hr...\n\n_Description has been truncated_","html_url":"https://github.com/acsone/Arelle/pull/332","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/acsone%2FArelle/issues/332","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/332/packages"},{"uuid":"2830542089","node_id":"PR_kwDOKET2fs6otqUJ","number":1220,"state":"closed","title":"Bump pg8000 from 1.31.4 to 1.31.5 in /data_management/opensearch_indexer","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":"2025-09-15T20:27:57.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-09-15T20:24:20.000Z","updated_at":"2025-09-15T20:27:58.000Z","time_to_close":217,"merged_at":"2025-09-15T20:27:57.000Z","merged_by":"github-actions[bot]","closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"pg8000","old_version":"1.31.4","new_version":"1.31.5","repository_url":"https://github.com/tlocke/pg8000"}],"path":"/data_management/opensearch_indexer","ecosystem":"pip"},"body":"Bumps [pg8000](https://github.com/tlocke/pg8000) from 1.31.4 to 1.31.5.\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tlocke/pg8000/commits\"\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=pg8000\u0026package-manager=pip\u0026previous-version=1.31.4\u0026new-version=1.31.5)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/nationalarchives/da-ayr-beta-webapp/pull/1220","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/nationalarchives%2Fda-ayr-beta-webapp/issues/1220","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1220/packages"},{"uuid":"3417332951","node_id":"PR_kwDODX3mAs6omofp","number":331,"state":"open","title":"Bump the python-dependencies group across 1 directory with 23 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":"NONE","state_reason":null,"created_at":"2025-09-15T10:30:35.000Z","updated_at":"2025-09-22T10:08:36.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"python-dependencies","update_count":23,"packages":[{"name":"jsonschema","old_version":"4.25.0","new_version":"4.25.1","repository_url":"https://github.com/python-jsonschema/jsonschema"},{"name":"pyparsing","old_version":"3.2.3","new_version":"3.2.4","repository_url":"https://github.com/pyparsing/pyparsing"},{"name":"typing-extensions","old_version":"4.14.1","new_version":"4.15.0","repository_url":"https://github.com/python/typing_extensions"},{"name":"pg8000","old_version":"1.31.4","new_version":"1.31.5","repository_url":"https://github.com/tlocke/pg8000"},{"name":"pymysql","old_version":"1.1.1","new_version":"1.1.2","repository_url":"https://github.com/PyMySQL/PyMySQL"},{"name":"holidays","old_version":"0.77","new_version":"0.80","repository_url":"https://github.com/vacanza/holidays"},{"name":"tornado","old_version":"6.5.1","new_version":"6.5.2","repository_url":"https://github.com/tornadoweb/tornado"},{"name":"filelock","old_version":"3.18.0","new_version":"3.19.1","repository_url":"https://github.com/tox-dev/py-filelock"},{"name":"regex","old_version":"2025.7.34","new_version":"2025.9.1","repository_url":"https://github.com/mrabarnett/mrab-regex"},{"name":"boto3","old_version":"1.40.1","new_version":"1.40.30","repository_url":"https://github.com/boto/boto3"},{"name":"pytest","old_version":"8.4.1","new_version":"8.4.2","repository_url":"https://github.com/pytest-dev/pytest"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [jsonschema](https://github.com/python-jsonschema/jsonschema), [pyparsing](https://github.com/pyparsing/pyparsing), [typing-extensions](https://github.com/python/typing_extensions), [pg8000](https://github.com/tlocke/pg8000), [pymysql](https://github.com/PyMySQL/PyMySQL), [holidays](https://github.com/vacanza/holidays), [tornado](https://github.com/tornadoweb/tornado), [setuptools-scm[toml]](https://github.com/pypa/setuptools-scm), [filelock](https://github.com/tox-dev/py-filelock), [regex](https://github.com/mrabarnett/mrab-regex), [boto3](https://github.com/boto/boto3), [pytest](https://github.com/pytest-dev/pytest), [requests](https://github.com/psf/requests), [mypy](https://github.com/python/mypy), [boto3-stubs](https://github.com/youtype/mypy_boto3_builder), [types-pymysql](https://github.com/typeshed-internal/stub_uploader), [types-openpyxl](https://github.com/typeshed-internal/stub_uploader), [types-python-dateutil](https://github.com/typeshed-internal/stub_uploader), [types-pytz](https://github.com/typeshed-internal/stub_uploader), [types-regex](https://github.com/typeshed-internal/stub_uploader), [types-simplejson](https://github.com/typeshed-internal/stub_uploader), [types-ujson](https://github.com/typeshed-internal/stub_uploader) and [ixbrl-viewer](https://github.com/Arelle/ixbrl-viewer) to permit the latest version.\nUpdates `jsonschema` from 4.25.0 to 4.25.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-jsonschema/jsonschema/releases\"\u003ejsonschema's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.25.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidator\u003c/code\u003e protocol init to match runtime by \u003ca href=\"https://github.com/sirosen\"\u003e\u003ccode\u003e@​sirosen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1396\"\u003epython-jsonschema/jsonschema#1396\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/python-jsonschema/jsonschema/compare/v4.25.0...v4.25.1\"\u003ehttps://github.com/python-jsonschema/jsonschema/compare/v4.25.0...v4.25.1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-jsonschema/jsonschema/blob/main/CHANGELOG.rst\"\u003ejsonschema's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev4.25.1\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix an incorrect required argument in the \u003ccode\u003eValidator\u003c/code\u003e protocol's type annotations (\u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1396\"\u003e#1396\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/331c38425519b69118d22ebe467ad230fb83a010\"\u003e\u003ccode\u003e331c384\u003c/code\u003e\u003c/a\u003e Add the fix to the changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/c1ec0a645e913e83de95995f6efbbd358676abf6\"\u003e\u003ccode\u003ec1ec0a6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1398\"\u003e#1398\u003c/a\u003e from python-jsonschema/dependabot/github_actions/ast...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/8e7d594faff13f8f663b306a0d86bea0ce5de6cb\"\u003e\u003ccode\u003e8e7d594\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1399\"\u003e#1399\u003c/a\u003e from python-jsonschema/dependabot/github_actions/act...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/460f4fae42664773160f56ccc843a4fcea34f7cf\"\u003e\u003ccode\u003e460f4fa\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1396\"\u003e#1396\u003c/a\u003e from sirosen/improve-protocol-init-signature\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/1e58409b71a9696b7bf9938ae8a3a48ef95ab29e\"\u003e\u003ccode\u003e1e58409\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] auto fixes from pre-commit.com hooks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/64bc2171624ef201bdbf35e47780348ce30935c5\"\u003e\u003ccode\u003e64bc217\u003c/code\u003e\u003c/a\u003e Add a typing test for the Validator protocol\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/6c25741bff889477680f9b0d1aa967ae35c38f43\"\u003e\u003ccode\u003e6c25741\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/bf603d59117f840916709fc87c6625df43d1fe72\"\u003e\u003ccode\u003ebf603d5\u003c/code\u003e\u003c/a\u003e Bump astral-sh/setup-uv from 6.4.3 to 6.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/a916d8f8253baa11bacc60f0868f0bab1e42d526\"\u003e\u003ccode\u003ea916d8f\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eValidator\u003c/code\u003e protocol init to match runtime\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/de60f18bd97395a52a11b561eb62963e0ffe9e71\"\u003e\u003ccode\u003ede60f18\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1397\"\u003e#1397\u003c/a\u003e from python-jsonschema/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-jsonschema/jsonschema/compare/v4.25.0...v4.25.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyparsing` from 3.2.3 to 3.2.4\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyparsing/pyparsing/blob/master/CHANGES\"\u003epyparsing's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.2.4 - September, 2025\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eBarring any catastrophic bugs in this release, this will be the last release in\nthe 3.2.x line. The next release, 3.3.0, will begin emitting \u003ccode\u003eDeprecationWarnings\u003c/code\u003e\nwhen the pre-PEP8 methods are used (see header notes above for more information,\nincluding available automation for converting any existing code using\npyparsing with the old names).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed bug when using a copy of a \u003ccode\u003eWord\u003c/code\u003e expression (either by using the explicit\n\u003ccode\u003ecopy()\u003c/code\u003e method, or attaching a results name), and setting a new expression name,\na raised \u003ccode\u003eParseException\u003c/code\u003e still used the original expression name. Also affected\n\u003ccode\u003eRegex\u003c/code\u003e expressions with \u003ccode\u003eas_match\u003c/code\u003e or \u003ccode\u003eas_group_list\u003c/code\u003e = True. Reported by\nWaqas Ilyas, in Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/612\"\u003e#612\u003c/a\u003e - good catch!\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed type annotation for \u003ccode\u003ereplace_with\u003c/code\u003e, to accept \u003ccode\u003eAny\u003c/code\u003e type. Fixes Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/602\"\u003e#602\u003c/a\u003e,\nreported by esquonk.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded locking around potential race condition in \u003ccode\u003eParserElement.reset_cache\u003c/code\u003e, as\nwell as other cache-related methods. Fixes Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/604\"\u003e#604\u003c/a\u003e, reported by CarlosDescalziIM.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSubstantial update to docstrings and doc generation in preparation for 3.3.0,\ngreat effort by FeRD, thanks!\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNotable addition by FeRD to convert docstring examples to work with doctest! This\nwas long overdue, thanks so much!\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/57923cd6a651d81c72b4e60b2baa02fbedf217ba\"\u003e\u003ccode\u003e57923cd\u003c/code\u003e\u003c/a\u003e Enable matplotlib unit tests for Python 3.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/fad1505f8ab91cc897f3067868e500257130e1a4\"\u003e\u003ccode\u003efad1505\u003c/code\u003e\u003c/a\u003e Update CHANGES file with thanks to FeRD for making the docstring examples doc...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/6622151cb440e85de9880ca6b7f3652e0962e315\"\u003e\u003ccode\u003e6622151\u003c/code\u003e\u003c/a\u003e Update tox.ini to add doctest testing for all Python versions 3.10 and later\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/e6ed66bdcd6da3ef63f4396565d860467efb5252\"\u003e\u003ccode\u003ee6ed66b\u003c/code\u003e\u003c/a\u003e Change doctest for LineStart to reflect latest implementation of \u0026quot;is this tok...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/23092da6569c97f30605ff2fe818fc15b3d12567\"\u003e\u003ccode\u003e23092da\u003c/code\u003e\u003c/a\u003e Doctests for pyparsing.exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/0bae3cdcc9274dbbcde5daabba739d3b1ddb49fc\"\u003e\u003ccode\u003e0bae3cd\u003c/code\u003e\u003c/a\u003e Doctests for pyparsing.common\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/98ec165d1a66247dbeffcf692643765648fb230f\"\u003e\u003ccode\u003e98ec165\u003c/code\u003e\u003c/a\u003e Docs: Add doctest-wrtiting documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/0b46bcd452f87c0f72007995af21a935b16b7123\"\u003e\u003ccode\u003e0b46bcd\u003c/code\u003e\u003c/a\u003e Doctests for pyparsing.core\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/9a898f595539169e4645f5de1703b78da9b1658c\"\u003e\u003ccode\u003e9a898f5\u003c/code\u003e\u003c/a\u003e Docs: Update API definition\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/45fd9722381b53e1205a0c190418b46721a224c9\"\u003e\u003ccode\u003e45fd972\u003c/code\u003e\u003c/a\u003e Doctests for pyparsing.helpers\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyparsing/pyparsing/compare/3.2.3...3.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `typing-extensions` from 4.14.1 to 4.15.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/typing_extensions/releases\"\u003etyping-extensions's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.15.0\u003c/h2\u003e\n\u003cp\u003eNo user-facing changes since 4.15.0rc1.\u003c/p\u003e\n\u003cp\u003eNew features since 4.14.1:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd the \u003ccode\u003e@typing_extensions.disjoint_base\u003c/code\u003e decorator, as specified\nin PEP 800. Patch by Jelle Zijlstra.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etyping_extensions.type_repr\u003c/code\u003e, a backport of\n\u003ca href=\"https://docs.python.org/3.14/library/annotationlib.html#annotationlib.type_repr\"\u003e\u003ccode\u003eannotationlib.type_repr\u003c/code\u003e\u003c/a\u003e,\nintroduced in Python 3.14 (CPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/124551\"\u003e#124551\u003c/a\u003e,\noriginally by Jelle Zijlstra). Patch by Semyon Moroz.\u003c/li\u003e\n\u003cli\u003eFix behavior of type params in \u003ccode\u003etyping_extensions.evaluate_forward_ref\u003c/code\u003e. Backport of\nCPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/137227\"\u003e#137227\u003c/a\u003e by Jelle Zijlstra.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.15.0rc1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd the \u003ccode\u003e@typing_extensions.disjoint_base\u003c/code\u003e decorator, as specified\nin PEP 800. Patch by Jelle Zijlstra.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etyping_extensions.type_repr\u003c/code\u003e, a backport of\n\u003ca href=\"https://docs.python.org/3.14/library/annotationlib.html#annotationlib.type_repr\"\u003e\u003ccode\u003eannotationlib.type_repr\u003c/code\u003e\u003c/a\u003e,\nintroduced in Python 3.14 (CPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/124551\"\u003e#124551\u003c/a\u003e,\noriginally by Jelle Zijlstra). Patch by Semyon Moroz.\u003c/li\u003e\n\u003cli\u003eFix behavior of type params in \u003ccode\u003etyping_extensions.evaluate_forward_ref\u003c/code\u003e. Backport of\nCPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/137227\"\u003e#137227\u003c/a\u003e by Jelle Zijlstra.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/typing_extensions/blob/main/CHANGELOG.md\"\u003etyping-extensions's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eRelease 4.15.0 (August 25, 2025)\u003c/h1\u003e\n\u003cp\u003eNo user-facing changes since 4.15.0rc1.\u003c/p\u003e\n\u003ch1\u003eRelease 4.15.0rc1 (August 18, 2025)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd the \u003ccode\u003e@typing_extensions.disjoint_base\u003c/code\u003e decorator, as specified\nin PEP 800. Patch by Jelle Zijlstra.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etyping_extensions.type_repr\u003c/code\u003e, a backport of\n\u003ca href=\"https://docs.python.org/3.14/library/annotationlib.html#annotationlib.type_repr\"\u003e\u003ccode\u003eannotationlib.type_repr\u003c/code\u003e\u003c/a\u003e,\nintroduced in Python 3.14 (CPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/124551\"\u003e#124551\u003c/a\u003e,\noriginally by Jelle Zijlstra). Patch by Semyon Moroz.\u003c/li\u003e\n\u003cli\u003eFix behavior of type params in \u003ccode\u003etyping_extensions.evaluate_forward_ref\u003c/code\u003e. Backport of\nCPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/137227\"\u003e#137227\u003c/a\u003e by Jelle Zijlstra.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/9d1637e264b5c1a6b7acee3e907015f89b20c2c9\"\u003e\u003ccode\u003e9d1637e\u003c/code\u003e\u003c/a\u003e Prepare release 4.15.0 (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/658\"\u003e#658\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/4bd67c5be5d9443c7d33c314d02a56ee125eb88d\"\u003e\u003ccode\u003e4bd67c5\u003c/code\u003e\u003c/a\u003e Coverage: exclude some noise (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/656\"\u003e#656\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/e589a26da73b075c5276bae40b86db1af0144f84\"\u003e\u003ccode\u003ee589a26\u003c/code\u003e\u003c/a\u003e Coverage: add detailed report to job summary (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/655\"\u003e#655\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/67d37fed1298e050f74d5acc95b2621bd37837ad\"\u003e\u003ccode\u003e67d37fe\u003c/code\u003e\u003c/a\u003e Coverage: Implement fail_under (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/654\"\u003e#654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/e9ae26f5286edee9262727755ecb9ad16e999192\"\u003e\u003ccode\u003ee9ae26f\u003c/code\u003e\u003c/a\u003e Don't delete previous coverage comment (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/653\"\u003e#653\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/ac80bb728a3006fc88ef7373b92f0c25cfcc7895\"\u003e\u003ccode\u003eac80bb7\u003c/code\u003e\u003c/a\u003e Add Coverage workflow (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/623\"\u003e#623\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/abaaafd98c1cc7e5baf098ec287a3d22cb339670\"\u003e\u003ccode\u003eabaaafd\u003c/code\u003e\u003c/a\u003e Prepare release 4.15.0rc1 (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/650\"\u003e#650\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/98104053ea8d49bcdd247804e5fa9f73136acbd4\"\u003e\u003ccode\u003e9810405\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003e@disjoint_base\u003c/code\u003e (PEP 800) (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/634\"\u003e#634\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/7ee9e05fd484d06899ce56e80f5e1aa4c760fc03\"\u003e\u003ccode\u003e7ee9e05\u003c/code\u003e\u003c/a\u003e Backport type_params fix from CPython (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/646\"\u003e#646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/1e8eb9c06ef51b3a1e1f05303a16feca13f5ed98\"\u003e\u003ccode\u003e1e8eb9c\u003c/code\u003e\u003c/a\u003e Do not refer to PEP 705 as being experimental (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/648\"\u003e#648\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python/typing_extensions/compare/4.14.1...4.15.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pg8000` from 1.31.4 to 1.31.5\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tlocke/pg8000/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pymysql` from 1.1.1 to 1.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/PyMySQL/PyMySQL/releases\"\u003epymysql's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.1.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent UnboundLocalError on MySQLResult initialization during SystemExit by \u003ca href=\"https://github.com/palm002\"\u003e\u003ccode\u003e@​palm002\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1174\"\u003ePyMySQL/PyMySQL#1174\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eremove mention of runtests.py by \u003ca href=\"https://github.com/cfbolz\"\u003e\u003ccode\u003e@​cfbolz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1182\"\u003ePyMySQL/PyMySQL#1182\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003emake sure to also close \u003ccode\u003econnection._rfile\u003c/code\u003e in \u003ccode\u003eConnection._force_close\u003c/code\u003e by \u003ca href=\"https://github.com/cfbolz\"\u003e\u003ccode\u003e@​cfbolz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1184\"\u003ePyMySQL/PyMySQL#1184\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded MariaDB in readme description (\u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1180\"\u003e#1180\u003c/a\u003e) by \u003ca href=\"https://github.com/theneuralcraftsman\"\u003e\u003ccode\u003e@​theneuralcraftsman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1186\"\u003ePyMySQL/PyMySQL#1186\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update dependency sphinx-rtd-theme to v3 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1189\"\u003ePyMySQL/PyMySQL#1189\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update dependency sphinx to v8 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1179\"\u003ePyMySQL/PyMySQL#1179\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for Python 3.13 by \u003ca href=\"https://github.com/Cycloctane\"\u003e\u003ccode\u003e@​Cycloctane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1190\"\u003ePyMySQL/PyMySQL#1190\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eResolve UTF8 charset case-insensitively by \u003ca href=\"https://github.com/ek247\"\u003e\u003ccode\u003e@​ek247\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1195\"\u003ePyMySQL/PyMySQL#1195\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupdate ci versions by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1196\"\u003ePyMySQL/PyMySQL#1196\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003euse KILL instead of COM_KILL for MySQL 8.4 support by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1197\"\u003ePyMySQL/PyMySQL#1197\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edisable VERIFY_X509_STRICT for Python 3.13 support by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1198\"\u003ePyMySQL/PyMySQL#1198\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update codecov/codecov-action action to v5 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1191\"\u003ePyMySQL/PyMySQL#1191\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd MariaDB to README.md by \u003ca href=\"https://github.com/robertsilen\"\u003e\u003ccode\u003e@​robertsilen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1181\"\u003ePyMySQL/PyMySQL#1181\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: use defer_connect instead of mock by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1199\"\u003ePyMySQL/PyMySQL#1199\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: use astral-sh/ruff-action by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1201\"\u003ePyMySQL/PyMySQL#1201\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix auth_switch_request handling by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1200\"\u003ePyMySQL/PyMySQL#1200\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: update test matrix by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1215\"\u003ePyMySQL/PyMySQL#1215\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: do not drop MySQL 5.7 test for now by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1216\"\u003ePyMySQL/PyMySQL#1216\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupdate README by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1217\"\u003ePyMySQL/PyMySQL#1217\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eprepare v1.1.2 by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1218\"\u003ePyMySQL/PyMySQL#1218\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/palm002\"\u003e\u003ccode\u003e@​palm002\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1174\"\u003ePyMySQL/PyMySQL#1174\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cfbolz\"\u003e\u003ccode\u003e@​cfbolz\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1182\"\u003ePyMySQL/PyMySQL#1182\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theneuralcraftsman\"\u003e\u003ccode\u003e@​theneuralcraftsman\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1186\"\u003ePyMySQL/PyMySQL#1186\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Cycloctane\"\u003e\u003ccode\u003e@​Cycloctane\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1190\"\u003ePyMySQL/PyMySQL#1190\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ek247\"\u003e\u003ccode\u003e@​ek247\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1195\"\u003ePyMySQL/PyMySQL#1195\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/robertsilen\"\u003e\u003ccode\u003e@​robertsilen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1181\"\u003ePyMySQL/PyMySQL#1181\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/PyMySQL/PyMySQL/compare/v1.1.1...v1.1.2\"\u003ehttps://github.com/PyMySQL/PyMySQL/compare/v1.1.1...v1.1.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/PyMySQL/PyMySQL/blob/main/CHANGELOG.md\"\u003epymysql's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.1.2\u003c/h2\u003e\n\u003cp\u003eRelease date: 2025-08-24\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent UnboundLocalError in very rare situation. \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1174\"\u003ePyMySQL/PyMySQL#1174\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClose underlying \u003ccode\u003eSocketIO\u003c/code\u003e soon when Connection is closed for PyPy. \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1183\"\u003ePyMySQL/PyMySQL#1183\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix importing PyMySQL fail on CPython 3.13 when \u003ccode\u003egetpass.getuser()\u003c/code\u003e raises OSEError. \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1190\"\u003ePyMySQL/PyMySQL#1190\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake charset name \u0026quot;utf8\u0026quot; case insensitive. \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1195\"\u003ePyMySQL/PyMySQL#1195\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.kill()\u003c/code\u003e uses \u003ccode\u003eKILL\u003c/code\u003e query instead of \u003ccode\u003eCOM_KILL\u003c/code\u003ecommand to support MySQL 8.4. \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1197\"\u003ePyMySQL/PyMySQL#1197\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix SSL error on CPython 3.13 caused by strict TLS default setting. \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1198\"\u003ePyMySQL/PyMySQL#1198\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix auth switch request handling. \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1200\"\u003ePyMySQL/PyMySQL#1200\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/PyMySQL/PyMySQL/commit/d7bb777e503d82bf2496113f07dd4ab249615efc\"\u003e\u003ccode\u003ed7bb777\u003c/code\u003e\u003c/a\u003e release v1.1.2 (\u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1218\"\u003e#1218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyMySQL/PyMySQL/commit/2559de5a6b01917622fc8986cd3dd8479d7d6e95\"\u003e\u003ccode\u003e2559de5\u003c/code\u003e\u003c/a\u003e update README (\u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1217\"\u003e#1217\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyMySQL/PyMySQL/commit/a388c3a5e274c3b8c03e5f1dcb442b4bb2f9bafd\"\u003e\u003ccode\u003ea388c3a\u003c/code\u003e\u003c/a\u003e ci: do not drop MySQL 5.7 test for now (\u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1216\"\u003e#1216\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyMySQL/PyMySQL/commit/9a3fe442edaca9db6da1809c82dbb6f4192440ee\"\u003e\u003ccode\u003e9a3fe44\u003c/code\u003e\u003c/a\u003e ci: update test matrix (\u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1215\"\u003e#1215\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyMySQL/PyMySQL/commit/bed601f04fb982c7c42c6ff7e56b7f749ac64cc9\"\u003e\u003ccode\u003ebed601f\u003c/code\u003e\u003c/a\u003e Add DeepWiki badge\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyMySQL/PyMySQL/commit/01af30fea0880c3b72e6c7b3b05d66a8c28ced7a\"\u003e\u003ccode\u003e01af30f\u003c/code\u003e\u003c/a\u003e fix auth_switch_request handling (\u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1200\"\u003e#1200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyMySQL/PyMySQL/commit/53efd1ec7f0e854abc62eb875b944f56bca29dd2\"\u003e\u003ccode\u003e53efd1e\u003c/code\u003e\u003c/a\u003e ci: use astral-sh/ruff-action (\u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1201\"\u003e#1201\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyMySQL/PyMySQL/commit/e88b729f8f1ddcf0851e0153188b016d0e9ec00c\"\u003e\u003ccode\u003ee88b729\u003c/code\u003e\u003c/a\u003e remove codeql and codesee actions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyMySQL/PyMySQL/commit/5f6533f883535b76c2d3a776c4746027027106f8\"\u003e\u003ccode\u003e5f6533f\u003c/code\u003e\u003c/a\u003e refactor: use defer_connect instead of mock (\u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1199\"\u003e#1199\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyMySQL/PyMySQL/commit/66ad1eaa47cfde19dfe01900ceb5f6ea51483e95\"\u003e\u003ccode\u003e66ad1ea\u003c/code\u003e\u003c/a\u003e add MariaDB to README.md (\u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1181\"\u003e#1181\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/PyMySQL/PyMySQL/compare/v1.1.1...v1.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `holidays` from 0.77 to 0.80\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vacanza/holidays/releases\"\u003eholidays's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.80\u003c/h2\u003e\n\u003ch1\u003eVersion 0.80\u003c/h1\u003e\n\u003cp\u003eReleased September 1, 2025\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRefactor Australia holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2828\"\u003e#2828\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor Macau holidays: holiday categories standardization (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2868\"\u003e#2868\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Comoros holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2827\"\u003e#2827\u003c/a\u003e by \u003ca href=\"https://github.com/Prateekshit73\"\u003e\u003ccode\u003e@​Prateekshit73\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/prateekshit-v\"\u003e\u003ccode\u003e@​prateekshit-v\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Eritrea holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2783\"\u003e#2783\u003c/a\u003e by \u003ca href=\"https://github.com/Prateekshit73\"\u003e\u003ccode\u003e@​Prateekshit73\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/prateekshit-v\"\u003e\u003ccode\u003e@​prateekshit-v\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd National Stock Exchange of India (NSE) holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2834\"\u003e#2834\u003c/a\u003e by \u003ca href=\"https://github.com/saheelsapovadia\"\u003e\u003ccode\u003e@​saheelsapovadia\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Rwanda holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2792\"\u003e#2792\u003c/a\u003e by \u003ca href=\"https://github.com/Prateekshit73\"\u003e\u003ccode\u003e@​Prateekshit73\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/prateekshit-v\"\u003e\u003ccode\u003e@​prateekshit-v\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Somalia holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2848\"\u003e#2848\u003c/a\u003e by \u003ca href=\"https://github.com/Prateekshit73\"\u003e\u003ccode\u003e@​Prateekshit73\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/prateekshit-v\"\u003e\u003ccode\u003e@​prateekshit-v\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd South Sudan holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2831\"\u003e#2831\u003c/a\u003e by \u003ca href=\"https://github.com/Prateekshit73\"\u003e\u003ccode\u003e@​Prateekshit73\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/prateekshit-v\"\u003e\u003ccode\u003e@​prateekshit-v\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Tajikistan holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2852\"\u003e#2852\u003c/a\u003e by \u003ca href=\"https://github.com/Wasif-Shahzad\"\u003e\u003ccode\u003e@​Wasif-Shahzad\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Uganda holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2833\"\u003e#2833\u003c/a\u003e by \u003ca href=\"https://github.com/Prateekshit73\"\u003e\u003ccode\u003e@​Prateekshit73\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/prateekshit-v\"\u003e\u003ccode\u003e@​prateekshit-v\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eestimated_label\u003c/code\u003e to all countries with Islamic holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2860\"\u003e#2860\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Hindu Lunisolar calendar (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2871\"\u003e#2871\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Islamic holidays tests (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2849\"\u003e#2849\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eTestAllInSameYear\u003c/code\u003e methods (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2877\"\u003e#2877\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Bosnia and Herzegovina holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2869\"\u003e#2869\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Burundi holidays, add l10n support (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2843\"\u003e#2843\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Canada holidays: add National Day for Truth and Reconciliation in MB (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2829\"\u003e#2829\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Georgia holidays: add August 29, 2025 special holiday (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2863\"\u003e#2863\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Guinea-Bissau holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2859\"\u003e#2859\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Nigeria holidays, add l10n support (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2874\"\u003e#2874\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Singapore holidays: remove duplicate holidays label assignment (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2844\"\u003e#2844\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Tanzania holidays: extend holidays support to 1965 (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2821\"\u003e#2821\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003ecommon::CommonTests\u003c/code\u003e: expand label tests to financial entities (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2876\"\u003e#2876\u003c/a\u003e by \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd .zenodo.json (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2870\"\u003e#2870\u003c/a\u003e by \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ecommon::TestCase::assertHolidayNameCount\u003c/code\u003e method (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2873\"\u003e#2873\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd metadata package version mismatch hint (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2846\"\u003e#2846\u003c/a\u003e by \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd missing docstring for \u003ccode\u003e__init__\u003c/code\u003e method (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2850\"\u003e#2850\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpose entity additional codes (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2879\"\u003e#2879\u003c/a\u003e by \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTest Case Name Standardization (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2853\"\u003e#2853\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUnify imports (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2845\"\u003e#2845\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse aux repository data for downloads badge (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2832\"\u003e#2832\u003c/a\u003e by \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eNew Contributors\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/saheelsapovadia\"\u003e\u003ccode\u003e@​saheelsapovadia\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/vacanza/holidays/pull/2834\"\u003evacanza/holidays#2834\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/vacanza/holidays/compare/v0.79...v0.80\"\u003ehttps://github.com/vacanza/holidays/compare/v0.79...v0.80\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.79\u003c/h2\u003e\n\u003ch1\u003eVersion 0.79\u003c/h1\u003e\n\u003cp\u003eReleased August 18, 2025\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Bhutan holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2635\"\u003e#2635\u003c/a\u003e by \u003ca href=\"https://github.com/Prateekshit73\"\u003e\u003ccode\u003e@​Prateekshit73\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/code-with-aneesh\"\u003e\u003ccode\u003e@​code-with-aneesh\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/prateekshit-v\"\u003e\u003ccode\u003e@​prateekshit-v\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Gambia holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2777\"\u003e#2777\u003c/a\u003e by \u003ca href=\"https://github.com/kritibirda26\"\u003e\u003ccode\u003e@​kritibirda26\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Guinea-Bissau holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2776\"\u003e#2776\u003c/a\u003e by \u003ca href=\"https://github.com/kritibirda26\"\u003e\u003ccode\u003e@​kritibirda26\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/vacanza/holidays/blob/dev/CHANGES.md\"\u003eholidays's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eVersion 0.80\u003c/h1\u003e\n\u003cp\u003eReleased September 1, 2025\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRefactor Australia holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2828\"\u003e#2828\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor Macau holidays: holiday categories standardization (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2868\"\u003e#2868\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Comoros holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2827\"\u003e#2827\u003c/a\u003e by \u003ca href=\"https://github.com/Prateekshit73\"\u003e\u003ccode\u003e@​Prateekshit73\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/prateekshit-v\"\u003e\u003ccode\u003e@​prateekshit-v\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Eritrea holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2783\"\u003e#2783\u003c/a\u003e by \u003ca href=\"https://github.com/Prateekshit73\"\u003e\u003ccode\u003e@​Prateekshit73\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/prateekshit-v\"\u003e\u003ccode\u003e@​prateekshit-v\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd National Stock Exchange of India (NSE) holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2834\"\u003e#2834\u003c/a\u003e by \u003ca href=\"https://github.com/saheelsapovadia\"\u003e\u003ccode\u003e@​saheelsapovadia\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Rwanda holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2792\"\u003e#2792\u003c/a\u003e by \u003ca href=\"https://github.com/Prateekshit73\"\u003e\u003ccode\u003e@​Prateekshit73\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/prateekshit-v\"\u003e\u003ccode\u003e@​prateekshit-v\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Somalia holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2848\"\u003e#2848\u003c/a\u003e by \u003ca href=\"https://github.com/Prateekshit73\"\u003e\u003ccode\u003e@​Prateekshit73\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/prateekshit-v\"\u003e\u003ccode\u003e@​prateekshit-v\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd South Sudan holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2831\"\u003e#2831\u003c/a\u003e by \u003ca href=\"https://github.com/Prateekshit73\"\u003e\u003ccode\u003e@​Prateekshit73\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/prateekshit-v\"\u003e\u003ccode\u003e@​prateekshit-v\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Tajikistan holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2852\"\u003e#2852\u003c/a\u003e by \u003ca href=\"https://github.com/Wasif-Shahzad\"\u003e\u003ccode\u003e@​Wasif-Shahzad\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Uganda holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2833\"\u003e#2833\u003c/a\u003e by \u003ca href=\"https://github.com/Prateekshit73\"\u003e\u003ccode\u003e@​Prateekshit73\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/prateekshit-v\"\u003e\u003ccode\u003e@​prateekshit-v\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eestimated_label\u003c/code\u003e to all countries with Islamic holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2860\"\u003e#2860\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Hindu Lunisolar calendar (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2871\"\u003e#2871\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Islamic holidays tests (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2849\"\u003e#2849\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eTestAllInSameYear\u003c/code\u003e methods (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2877\"\u003e#2877\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Bosnia and Herzegovina holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2869\"\u003e#2869\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Burundi holidays, add l10n support (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2843\"\u003e#2843\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Canada holidays: add National Day for Truth and Reconciliation in MB (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2829\"\u003e#2829\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Georgia holidays: add August 29, 2025 special holiday (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2863\"\u003e#2863\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Guinea-Bissau holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2859\"\u003e#2859\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Nigeria holidays, add l10n support (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2874\"\u003e#2874\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Singapore holidays: remove duplicate holidays label assignment (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2844\"\u003e#2844\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Tanzania holidays: extend holidays support to 1965 (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2821\"\u003e#2821\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003ecommon::CommonTests\u003c/code\u003e: expand label tests to financial entities (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2876\"\u003e#2876\u003c/a\u003e by \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd .zenodo.json (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2870\"\u003e#2870\u003c/a\u003e by \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ecommon::TestCase::assertHolidayNameCount\u003c/code\u003e method (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2873\"\u003e#2873\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd metadata package version mismatch hint (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2846\"\u003e#2846\u003c/a\u003e by \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd missing docstring for \u003ccode\u003e__init__\u003c/code\u003e method (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2850\"\u003e#2850\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpose entity additional codes (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2879\"\u003e#2879\u003c/a\u003e by \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTest Case Name Standardization (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2853\"\u003e#2853\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUnify imports (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2845\"\u003e#2845\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse aux repository data for downloads badge (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2832\"\u003e#2832\u003c/a\u003e by \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eVersion 0.79\u003c/h1\u003e\n\u003cp\u003eReleased August 18, 2025\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Bhutan holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2635\"\u003e#2635\u003c/a\u003e by \u003ca href=\"https://github.com/Prateekshit73\"\u003e\u003ccode\u003e@​Prateekshit73\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/code-with-aneesh\"\u003e\u003ccode\u003e@​code-with-aneesh\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/prateekshit-v\"\u003e\u003ccode\u003e@​prateekshit-v\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Gambia holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2777\"\u003e#2777\u003c/a\u003e by \u003ca href=\"https://github.com/kritibirda26\"\u003e\u003ccode\u003e@​kritibirda26\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Guinea-Bissau holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2776\"\u003e#2776\u003c/a\u003e by \u003ca href=\"https://github.com/kritibirda26\"\u003e\u003ccode\u003e@​kritibirda26\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Iraq holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2763\"\u003e#2763\u003c/a\u003e by \u003ca href=\"https://github.com/kritibirda26\"\u003e\u003ccode\u003e@​kritibirda26\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Kiribati holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2778\"\u003e#2778\u003c/a\u003e by \u003ca href=\"https://github.com/kritibirda26\"\u003e\u003ccode\u003e@​kritibirda26\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Liberia holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2774\"\u003e#2774\u003c/a\u003e by \u003ca href=\"https://github.com/kritibirda26\"\u003e\u003ccode\u003e@​kritibirda26\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd South Georgia and the South Sandwich Islands holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2761\"\u003e#2761\u003c/a\u003e by \u003ca href=\"https://github.com/tr33k\"\u003e\u003ccode\u003e@​tr33k\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Syrian Arab Republic holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2791\"\u003e#2791\u003c/a\u003e by \u003ca href=\"https://github.com/Wasif-Shahzad\"\u003e\u003ccode\u003e@​Wasif-Shahzad\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Turkmenistan holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2757\"\u003e#2757\u003c/a\u003e by \u003ca href=\"https://github.com/Wasif-Shahzad\"\u003e\u003ccode\u003e@​Wasif-Shahzad\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Azerbaijan holidays: fix observed Islamic holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2822\"\u003e#2822\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vacanza/holidays/commit/7d0b946dc1fcd6b3043cc229b649ea2efe61f334\"\u003e\u003ccode\u003e7d0b946\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2882\"\u003e#2882\u003c/a\u003e from vacanza/dev\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vacanza/holidays/commit/b9a110b1f8b425c196fae81984734a7ebb9029b9\"\u003e\u003ccode\u003eb9a110b\u003c/code\u003e\u003c/a\u003e Finalize v0.80\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vacanza/holidays/commit/4e4b7b18e2427d4fa52f7c531827193281d9396e\"\u003e\u003ccode\u003e4e4b7b1\u003c/code\u003e\u003c/a\u003e Update Nigeria holidays, add l10n support (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2874\"\u003e#2874\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vacanza/holidays/commit/515ba78aa38de5ebb598fe3cf3dfeaea429b6591\"\u003e\u003ccode\u003e515ba78\u003c/code\u003e\u003c/a\u003e Expose entity additional codes (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2879\"\u003e#2879\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vacanza/holidays/commit/13a6d8db2c6405a64333e40efc6938122936b2d5\"\u003e\u003ccode\u003e13a6d8d\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003ecommon::TestCase::assertHolidayNameCount\u003c/code\u003e method (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2873\"\u003e#2873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vacanza/holidays/commit/47d8050b08e1f9821e8b5f1794cf9e5200c21d6e\"\u003e\u003ccode\u003e47d8050\u003c/code\u003e\u003c/a\u003e Update \u003ccode\u003ecommon::CommonTests\u003c/code\u003e: expand label tests to financial entities (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2876\"\u003e#2876\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vacanza/holidays/commit/a459edc7c19dd7adbdf3e41b8e7cd316f9a0db94\"\u003e\u003ccode\u003ea459edc\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eTestAllInSameYear\u003c/code\u003e methods (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2877\"\u003e#2877\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vacanza/holidays/commit/53770abf9c5662e234bcd433a5b446d43939ea90\"\u003e\u003ccode\u003e53770ab\u003c/code\u003e\u003c/a\u003e Add National Stock Exchange of India (NSE) holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2834\"\u003e#2834\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vacanza/holidays/commit/8b6e88cd9d99f1a4699c7fd12ba7bf9b61cb8389\"\u003e\u003ccode\u003e8b6e88c\u003c/code\u003e\u003c/a\u003e Add South Sudan holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2831\"\u003e#2831\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vacanza/holidays/commit/7ac1b37e422cac49a4ef0149baeaa3a2c0a04c18\"\u003e\u003ccode\u003e7ac1b37\u003c/code\u003e\u003c/a\u003e Update pre-commit hooks (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2872\"\u003e#2872\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vacanza/holidays/compare/v0.77...v0.80\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tornado` from 6.5.1 to 6.5.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tornadoweb/tornado/blob/master/docs/releases.rst\"\u003etornado's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eRelease notes\u003c/h1\u003e\n\u003cp\u003e.. toctree::\n:maxdepth: 2\u003c/p\u003e\n\u003cp\u003ereleases/v6.5.2\nreleases/v6.5.1\nreleases/v6.5.0\nreleases/v6.4.2\nreleases/v6.4.1\nreleases/v6.4.0\nreleases/v6.3.3\nreleases/v6.3.2\nreleases/v6.3.1\nreleases/v6.3.0\nreleases/v6.2.0\nreleases/v6.1.0\nreleases/v6.0.4\nreleases/v6.0.3\nreleases/v6.0.2\nreleases/v6.0.1\nreleases/v6.0.0\nreleases/v5.1.1\nreleases/v5.1.0\nreleases/v5.0.2\nreleases/v5.0.1\nreleases/v5.0.0\nreleases/v4.5.3\nreleases/v4.5.2\nreleases/v4.5.1\nreleases/v4.5.0\nreleases/v4.4.3\nreleases/v4.4.2\nreleases/v4.4.1\nreleases/v4.4.0\nreleases/v4.3.0\nreleases/v4.2.1\nreleases/v4.2.0\nreleases/v4.1.0\nreleases/v4.0.2\nreleases/v4.0.1\nreleases/v4.0.0\nreleases/v3.2.2\nreleases/v3.2.1\nreleases/v3.2.0\nreleases/v3.1.1\nreleases/v3.1.0\nreleases/v3.0.2\nreleases/v3.0.1\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/547e6d86972238f1f5333a85f12b17fb33626899\"\u003e\u003ccode\u003e547e6d8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/tornadoweb/tornado/issues/3529\"\u003e#3529\u003c/a\u003e from bdarnell/relnotes-652\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/be9c374b2ea5e3d6c988c7ede8d284a649cfec37\"\u003e\u003ccode\u003ebe9c374\u003c/code\u003e\u003c/a\u003e Release notes for 6.5.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/8cbc4bfa53874a5dfa7b4bc50971d2ee21baf2d2\"\u003e\u003ccode\u003e8cbc4bf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/tornadoweb/tornado/issues/3527\"\u003e#3527\u003c/a\u003e from bdarnell/backports-6.5.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/c0d3e6df84344ec0aea2a9f9257aba76db78ca25\"\u003e\u003ccode\u003ec0d3e6d\u003c/code\u003e\u003c/a\u003e http1connection: Improve error logging for invalid host headers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/4ff5594ffd71c6dc9c82b0f003d63ed543a8e6d3\"\u003e\u003ccode\u003e4ff5594\u003c/code\u003e\u003c/a\u003e httputil: Restore the host argument to HTTPServerRequest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/b16916c8ad5836fd883452620020c8a1ea4addbf\"\u003e\u003ccode\u003eb16916c\u003c/code\u003e\u003c/a\u003e Add overloads to gen.multi() (\u003ca href=\"https://redirect.github.com/tornadoweb/tornado/issues/3515\"\u003e#3515\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/b5d2f3cc5eb20de1b0cf86e9e48e1624e42ce13b\"\u003e\u003ccode\u003eb5d2f3c\u003c/code\u003e\u003c/a\u003e httputil: Remove a debug print left in by mistake\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/38c6f591d49a808e11bc801028611bcee6aa6bba\"\u003e\u003ccode\u003e38c6f59\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/tornadoweb/tornado/issues/3513\"\u003e#3513\u003c/a\u003e from oliver-sanders/3258.fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/3fc1d91bbbc6a11160528fffb11105998479a6ba\"\u003e\u003ccode\u003e3fc1d91\u003c/code\u003e\u003c/a\u003e websocket: Expand testing of next-ping calculation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/56fc23fe20b4f19ac6cfbbb25611ad692e45082b\"\u003e\u003ccode\u003e56fc23f\u003c/code\u003e\u003c/a\u003e websocket_ping: fix ping interval with non-zero timeout and improve docs.\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tornadoweb/tornado/compare/v6.5.1...v6.5.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `setuptools-scm[toml]` to 9.2.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/setuptools-scm/releases\"\u003esetuptools-scm[toml]'s releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev9.2.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ereiterate version inference by \u003ca href=\"https://github.com/RonnyPfannschmidt\"\u003e\u003ccode\u003e@​RonnyPfannschmidt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/pull/1202\"\u003epypa/setuptools-scm#1202\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003esimple activation now requires a extra instead of setting up many pre-existing projects for failure/error\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pypa/setuptools-scm/compare/v9.1.1...v9.2.0\"\u003ehttps://github.com/pypa/setuptools-scm/compare/v9.1.1...v9.2.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/setuptools-scm/blob/main/CHANGELOG.md\"\u003esetuptools-scm[toml]'s changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev9.2.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eadd simplified activation via \u003ccode\u003esetuptools-scm[simple]\u003c/code\u003e extra\u003c/p\u003e\n\u003cp\u003eA new streamlined way to enable version inference without requiring a \u003ccode\u003e[tool.setuptools_scm]\u003c/code\u003e section.\nWhen \u003ccode\u003esetuptools-scm[simple]\u003c/code\u003e is in \u003ccode\u003ebuild-system.requires\u003c/code\u003e and \u003ccode\u003eversion\u003c/code\u003e is in \u003ccode\u003eproject.dynamic\u003c/code\u003e,\nversion inference is automatically enabled with default settings.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eremoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eunchecked simplified activation - too many projects use setups where it would fail\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003echanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erefine activation logic and add unittest for the relevant cases instead of trying to speedrun setuptools\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.1.1 (yanked)\u003c/h2\u003e\n\u003ch3\u003efixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/issues/1194\"\u003e#1194\u003c/a\u003e: correctly handle version keyword when pyproject metadata is missing\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.1.0 (yanked)\u003c/h2\u003e\n\u003ch3\u003efixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003ecomplete reiteration of the decision logic for enabling version inference on setuptools_scm\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eshared logic for the important parts\u003c/li\u003e\n\u003cli\u003eproper deferring based in precedence of finalize options vs version keyword\u003c/li\u003e\n\u003cli\u003eunittestable for the parsing parts and the decision steps\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.0.3 (yanked)\u003c/h2\u003e\n\u003ch3\u003efixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix 1184: verify version is dynamic if the dependency is used as indicator for enabling\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.0.2 (yanked)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/issues/1184\"\u003e#1184\u003c/a\u003e: in case setuptools-scm is a indirect dependency and no pyproject.toml section exists - don't infer the version\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/6bf67462a2358be9581bcb816547de6fc636e8d9\"\u003e\u003ccode\u003e6bf6746\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/issues/1206\"\u003e#1206\u003c/a\u003e from pypa/RonnyPfannschmidt-changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/c49467d206ee25dc4c415d5ea9f6e4c2238d6a6e\"\u003e\u003ccode\u003ec49467d\u003c/code\u003e\u003c/a\u003e Update CHANGELOG.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/3baa39824e44f5e5e11087792704e7e130465d82\"\u003e\u003ccode\u003e3baa398\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/issues/1202\"\u003e#1202\u003c/a\u003e from RonnyPfannschmidt/version-infer-again\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/861df20254d2a502f6cb40cb2af4bccba0da6f2f\"\u003e\u003ccode\u003e861df20\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/issues/1199\"\u003e#1199\u003c/a\u003e from pypa/dependabot/github_actions/actions/download...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/daf68b5e9ae5b26c8277030601dea662995ec5eb\"\u003e\u003ccode\u003edaf68b5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/issues/1200\"\u003e#1200\u003c/a\u003e from pypa/dependabot/github_actions/actions/checkout-5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/229946a437de35f43dc36ade40c6738765f3c263\"\u003e\u003ccode\u003e229946a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/issues/1197\"\u003e#1197\u003c/a\u003e from pypa/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/b8a2920a2441232a74ab33bf028a39e140eccc86\"\u003e\u003ccode\u003eb8a2920\u003c/code\u003e\u003c/a\u003e Add simple extra to pyproject.toml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/250b5c2143c34174f5c855281f51499c568ebee8\"\u003e\u003ccode\u003e250b5c2\u003c/code\u003e\u003c/a\u003e add test migration plan for llms + fix changelog formatting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/56a7a00ad4b33ab1835f6768736388ea5c18c0a7\"\u003e\u003ccode\u003e56a7a00\u003c/code\u003e\u003c/a\u003e split version inference into the part that needs a distribution object and th...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/206742a617df3922e9a0c3dc36243051e8f2f3c2\"\u003e\u003ccode\u003e206742a\u003c/code\u003e\u003c/a\u003e return simplified activation with a extra to prevent regressions\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/setuptools-scm/compare/v8.3.0...v9.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `filelock` from 3.18.0 to 3.19.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tox-dev/py-filelock/releases\"\u003efilelock's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.19.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eadd 3.14t (free threading) to matrix by \u003ca href=\"https://github.com/paultiq\"\u003e\u003ccode\u003e@​paultiq\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/433\"\u003etox-dev/filelock#433\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIncrease test coverage by \u003ca href=\"https://github.com/paultiq\"\u003e\u003ccode\u003e@​paultiq\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/434\"\u003etox-dev/filelock#434\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/paultiq\"\u003e\u003ccode\u003e@​paultiq\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/433\"\u003etox-dev/filelock#433\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tox-dev/filelock/compare/3.19.0...3.19.1\"\u003ehttps://github.com/tox-dev/filelock/compare/3.19.0...3.19.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.19.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for 3.14 by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/432\"\u003etox-dev/filelock#432\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tox-dev/filelock/compare/3.18.0...3.19.0\"\u003ehttps://github.com/tox-dev/filelock/compare/3.18.0...3.19.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/8d1009f08a6a64624fad91d1079062ef31b8c2b4\"\u003e\u003ccode\u003e8d1009f\u003c/code\u003e\u003c/a\u003e Update release.yaml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/66a428e97a874b44b0310072f6c974226f55a472\"\u003e\u003ccode\u003e66a428e\u003c/code\u003e\u003c/a\u003e Increase test coverage (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/434\"\u003e#434\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/0dfc86eebd2c76ae959a409bcbc3112cc1ec5890\"\u003e\u003ccode\u003e0dfc86e\u003c/code\u003e\u003c/a\u003e add 3.14 to matrix (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/433\"\u003e#433\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/0c54837e318ebe8a692b529722430cb38134bf7c\"\u003e\u003ccode\u003e0c54837\u003c/code\u003e\u003c/a\u003e Add support for 3.14 (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/432\"\u003e#432\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/77d02f5ada3a1a92167b1beee35a7815cbde0fcf\"\u003e\u003ccode\u003e77d02f5\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5 (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/430\"\u003e#430\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/bc972b33bf253bb9f08db32b19ffd4119a74706e\"\u003e\u003ccode\u003ebc972b3\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/429\"\u003e#429\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/78d02cb5ff42b22a56ad1a36755361a6b4601765\"\u003e\u003ccode\u003e78d02cb\u003c/code\u003e\u003c/a\u003e Bump actions/download-artifact from 4 to 5 (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/428\"\u003e#428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/18cdb5d1c78a7a459463480303e9820f33cdf041\"\u003e\u003ccode\u003e18cdb5d\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/427\"\u003e#427\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/b198a096d2bae58596479497d18a82bbeec515c8\"\u003e\u003ccode\u003eb198a09\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/426\"\u003e#426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/6b097e76de603d9be6a24c5058b6fe53ef003afd\"\u003e\u003ccode\u003e6b097e7\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/425\"\u003e#425\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tox-dev/py-filelock/compare/3.18.0...3.19.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `regex` from 2025.7.34 to 2025.9.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mrabarnett/mrab-regex/blob/hg/changelog.txt\"\u003eregex's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eVersion: 2025.9.1\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eGit PR 585: Fix AttributeError: 'AnyAll' object has no attribute '_key'\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.8.29\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eGit issue 584: AttributeError: 'AnyAll' object has no attribute 'positive'\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.7.34\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eGit issue 575: Issues with ASCII/Unicode modifiers\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.7.33\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eUpdated main.yml and pyproject.toml.\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.7.32\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eGit issue 580: Regression in v2025.7.31: \\P{L} no longer matches in simple patterns\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.7.31\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eFurther updates to main.yml.\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.7.30\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eUpdated main.yml and pyproject.toml.\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.7.29\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eGit issue 572: Inline ASCII modifier doesn't seem to affect anything\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.5.19\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eChanged how main.yml skips unwanted Arch builds.\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.5.18\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eUpdated main.yml to build Windows ARM64/aarch64 wheel.\n\u003cp\u003eUpdated licence text format in pyproject.toml.\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003eVersion: 2025.2.13\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eDropping support for Python 3.8 and removing it from main.yml.\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.2.12\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eFurther fixes to main.yml.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/49e3881e9fceb225b0f82d43f1ef09688ec30da3\"\u003e\u003ccode\u003e49e3881\u003c/code\u003e\u003c/a\u003e Git PR 585: Fix AttributeError: 'AnyAll' object has no attribute '_key'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/183a653894f56ad9bc6ca767b795c0439518e2c1\"\u003e\u003ccode\u003e183a653\u003c/code\u003e\u003c/a\u003e Git issue 584: AttributeError: 'AnyAll' object has no attribute 'positive'\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/mrabarnett/mrab-regex/compare/2025.7.34...2025.9.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `boto3` from 1.40.1 to 1.40.30\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/b01d02d965ba5db2834865b01939598b1c9ddef7\"\u003e\u003ccode\u003eb01d02d\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.30'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/065a46db54b1c7058cd0e7ac9c9deacfbff366f8\"\u003e\u003ccode\u003e065a46d\u003c/code\u003e\u003c/a\u003e Bumping version to 1.40.30\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/f78c83bc0c384a6d7b7178b310f4b8b1cba02ba9\"\u003e\u003ccode\u003ef78c83b\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/97fd5d9883307361e9f0ff639b6235e74918b82b\"\u003e\u003ccode\u003e97fd5d9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/boto/boto3/issues/4613\"\u003e#4613\u003c/a\u003e from adev-code/documentation-only\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/2a0d0ada619f9a80671107ccecc7228d6a413fae\"\u003e\u003ccode\u003e2a0d0ad\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.29'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/12750f67abef3ee8aa1c4a2677d17df033d5c3b7\"\u003e\u003ccode\u003e12750f6\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.29' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/62ea501b48699504279549e556bb9201cbe4a81e\"\u003e\u003ccode\u003e62ea501\u003c/code\u003e\u003c/a\u003e Bumping version to 1.40.29\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/32f7deacb017a8584de9ac7ade0b6994904410a8\"\u003e\u003ccode\u003e32f7dea\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/c1d11ea47791b41002bae354cf65f698013f8300\"\u003e\u003ccode\u003ec1d11ea\u003c/code\u003e\u003c/a\u003e Fix ExtraArgs documentation in S3 copy methods to reference ALLOWED_COPY_ARGS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/14fc68d24d941309b4a25e4650f9f4a3767a8ce7\"\u003e\u003ccode\u003e14fc68d\u003c/code\u003e\u003c/a\u003e Fix ExtraArgs documentation in S3 copy methods to reference ALLOWED_COPY_ARGS\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/boto/boto3/compare/1.40.1...1.40.30\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest` from 8.4.1 to 8.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest/releases\"\u003epytest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.4.2\u003c/h2\u003e\n\u003ch1\u003epytest 8.4.2 (2025-09-03)\u003c/h1\u003e\n\u003ch2\u003eBug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13478\"\u003e#13478\u003c/a\u003e: Fixed a crash when using \u003ccode\u003econsole_output_style\u003c/code\u003e{.interpreted-text role=\u0026quot;confval\u0026quot;} with \u003ccode\u003etimes\u003c/code\u003e and a module is skipped.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13530\"\u003e#13530\u003c/a\u003e: Fixed a crash when using \u003ccode\u003epytest.approx\u003c/code\u003e{.interpreted-text role=\u0026quot;func\u0026quot;} and \u003ccode\u003edecimal.Decimal\u003c/code\u003e{.interpreted-text role=\u0026quot;class\u0026quot;} instances with the \u003ccode\u003edecimal.FloatOperation\u003c/code\u003e{.interpreted-text role=\u0026quot;class\u0026quot;} trap set.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13549\"\u003e#13549\u003c/a\u003e: No longer evaluate type annotations in Python \u003ccode\u003e3.14\u003c/code\u003e when inspecting function signatures.\u003c/p\u003e\n\u003cp\u003eThis prevents crashes during module collection when modules do not explicitly use \u003ccode\u003efrom __future__ import annotations\u003c/code\u003e and import types for annotations within a \u003ccode\u003eif TYPE_CHECKING:\u003c/code\u003e block.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13559\"\u003e#13559\u003c/a\u003e: Added missing [int]{.title-ref} and [float]{.title-ref} variants to the [Literal]{.title-ref} type annotation of the [type]{.title-ref} parameter in \u003ccode\u003epytest.Parser.addini\u003c/code\u003e{.interpreted-text role=\u0026quot;meth\u0026quot;}.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13563\"\u003e#13563\u003c/a\u003e: \u003ccode\u003epytest.approx\u003c/code\u003e{.interpreted-text role=\u0026quot;func\u0026quot;} now only imports \u003ccode\u003enumpy\u003c/code\u003e if NumPy is already in \u003ccode\u003esys.modules\u003c/code\u003e. This fixes unconditional import behavior introduced in [8.4.0]{.title-ref}.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImproved documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-...\n\n_Description has been truncated_","html_url":"https://github.com/acsone/Arelle/pull/331","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/acsone%2FArelle/issues/331","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/331/packages"},{"uuid":"2828685043","node_id":"PR_kwDOABx8o86omk7z","number":1906,"state":"closed","title":"Bump the python-dependencies group with 7 updates","user":"dependabot[bot]","labels":["dependencies","python","minor"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":"2025-09-15T13:31:39.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-09-15T10:26:17.000Z","updated_at":"2025-09-15T13:31:39.000Z","time_to_close":11122,"merged_at":"2025-09-15T13:31:39.000Z","merged_by":"austinmatherne-wk","closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"python-dependencies","update_count":7,"packages":[{"name":"pyparsing","old_version":"3.2.3","new_version":"3.2.4","repository_url":"https://github.com/pyparsing/pyparsing"},{"name":"pg8000","old_version":"1.31.4","new_version":"1.31.5","repository_url":"https://github.com/tlocke/pg8000"},{"name":"boto3","old_version":"1.40.25","new_version":"1.40.30","repository_url":"https://github.com/boto/boto3"},{"name":"mypy","old_version":"1.17.1","new_version":"1.18.1","repository_url":"https://github.com/python/mypy"},{"name":"boto3-stubs","old_version":"1.40.25","new_version":"1.40.30","repository_url":"https://github.com/youtype/mypy_boto3_builder"},{"name":"types-openpyxl","old_version":"3.1.5.20250822","new_version":"3.1.5.20250914","repository_url":"https://github.com/typeshed-internal/stub_uploader"},{"name":"types-pymysql","old_version":"1.1.0.20250822","new_version":"1.1.0.20250914","repository_url":"https://github.com/typeshed-internal/stub_uploader"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-dependencies group with 7 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [pyparsing](https://github.com/pyparsing/pyparsing) | `3.2.3` | `3.2.4` |\n| [pg8000](https://github.com/tlocke/pg8000) | `1.31.4` | `1.31.5` |\n| [boto3](https://github.com/boto/boto3) | `1.40.25` | `1.40.30` |\n| [mypy](https://github.com/python/mypy) | `1.17.1` | `1.18.1` |\n| [boto3-stubs](https://github.com/youtype/mypy_boto3_builder) | `1.40.25` | `1.40.30` |\n| [types-openpyxl](https://github.com/typeshed-internal/stub_uploader) | `3.1.5.20250822` | `3.1.5.20250914` |\n| [types-pymysql](https://github.com/typeshed-internal/stub_uploader) | `1.1.0.20250822` | `1.1.0.20250914` |\n\nUpdates `pyparsing` from 3.2.3 to 3.2.4\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyparsing/pyparsing/blob/master/CHANGES\"\u003epyparsing's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.2.4 - September, 2025\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eBarring any catastrophic bugs in this release, this will be the last release in\nthe 3.2.x line. The next release, 3.3.0, will begin emitting \u003ccode\u003eDeprecationWarnings\u003c/code\u003e\nwhen the pre-PEP8 methods are used (see header notes above for more information,\nincluding available automation for converting any existing code using\npyparsing with the old names).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed bug when using a copy of a \u003ccode\u003eWord\u003c/code\u003e expression (either by using the explicit\n\u003ccode\u003ecopy()\u003c/code\u003e method, or attaching a results name), and setting a new expression name,\na raised \u003ccode\u003eParseException\u003c/code\u003e still used the original expression name. Also affected\n\u003ccode\u003eRegex\u003c/code\u003e expressions with \u003ccode\u003eas_match\u003c/code\u003e or \u003ccode\u003eas_group_list\u003c/code\u003e = True. Reported by\nWaqas Ilyas, in Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/612\"\u003e#612\u003c/a\u003e - good catch!\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed type annotation for \u003ccode\u003ereplace_with\u003c/code\u003e, to accept \u003ccode\u003eAny\u003c/code\u003e type. Fixes Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/602\"\u003e#602\u003c/a\u003e,\nreported by esquonk.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded locking around potential race condition in \u003ccode\u003eParserElement.reset_cache\u003c/code\u003e, as\nwell as other cache-related methods. Fixes Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/604\"\u003e#604\u003c/a\u003e, reported by CarlosDescalziIM.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSubstantial update to docstrings and doc generation in preparation for 3.3.0,\ngreat effort by FeRD, thanks!\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNotable addition by FeRD to convert docstring examples to work with doctest! This\nwas long overdue, thanks so much!\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/57923cd6a651d81c72b4e60b2baa02fbedf217ba\"\u003e\u003ccode\u003e57923cd\u003c/code\u003e\u003c/a\u003e Enable matplotlib unit tests for Python 3.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/fad1505f8ab91cc897f3067868e500257130e1a4\"\u003e\u003ccode\u003efad1505\u003c/code\u003e\u003c/a\u003e Update CHANGES file with thanks to FeRD for making the docstring examples doc...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/6622151cb440e85de9880ca6b7f3652e0962e315\"\u003e\u003ccode\u003e6622151\u003c/code\u003e\u003c/a\u003e Update tox.ini to add doctest testing for all Python versions 3.10 and later\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/e6ed66bdcd6da3ef63f4396565d860467efb5252\"\u003e\u003ccode\u003ee6ed66b\u003c/code\u003e\u003c/a\u003e Change doctest for LineStart to reflect latest implementation of \u0026quot;is this tok...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/23092da6569c97f30605ff2fe818fc15b3d12567\"\u003e\u003ccode\u003e23092da\u003c/code\u003e\u003c/a\u003e Doctests for pyparsing.exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/0bae3cdcc9274dbbcde5daabba739d3b1ddb49fc\"\u003e\u003ccode\u003e0bae3cd\u003c/code\u003e\u003c/a\u003e Doctests for pyparsing.common\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/98ec165d1a66247dbeffcf692643765648fb230f\"\u003e\u003ccode\u003e98ec165\u003c/code\u003e\u003c/a\u003e Docs: Add doctest-wrtiting documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/0b46bcd452f87c0f72007995af21a935b16b7123\"\u003e\u003ccode\u003e0b46bcd\u003c/code\u003e\u003c/a\u003e Doctests for pyparsing.core\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/9a898f595539169e4645f5de1703b78da9b1658c\"\u003e\u003ccode\u003e9a898f5\u003c/code\u003e\u003c/a\u003e Docs: Update API definition\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/45fd9722381b53e1205a0c190418b46721a224c9\"\u003e\u003ccode\u003e45fd972\u003c/code\u003e\u003c/a\u003e Doctests for pyparsing.helpers\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyparsing/pyparsing/compare/3.2.3...3.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pg8000` from 1.31.4 to 1.31.5\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tlocke/pg8000/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `boto3` from 1.40.25 to 1.40.30\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/b01d02d965ba5db2834865b01939598b1c9ddef7\"\u003e\u003ccode\u003eb01d02d\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.30'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/065a46db54b1c7058cd0e7ac9c9deacfbff366f8\"\u003e\u003ccode\u003e065a46d\u003c/code\u003e\u003c/a\u003e Bumping version to 1.40.30\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/f78c83bc0c384a6d7b7178b310f4b8b1cba02ba9\"\u003e\u003ccode\u003ef78c83b\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/97fd5d9883307361e9f0ff639b6235e74918b82b\"\u003e\u003ccode\u003e97fd5d9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/boto/boto3/issues/4613\"\u003e#4613\u003c/a\u003e from adev-code/documentation-only\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/2a0d0ada619f9a80671107ccecc7228d6a413fae\"\u003e\u003ccode\u003e2a0d0ad\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.29'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/12750f67abef3ee8aa1c4a2677d17df033d5c3b7\"\u003e\u003ccode\u003e12750f6\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.29' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/62ea501b48699504279549e556bb9201cbe4a81e\"\u003e\u003ccode\u003e62ea501\u003c/code\u003e\u003c/a\u003e Bumping version to 1.40.29\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/32f7deacb017a8584de9ac7ade0b6994904410a8\"\u003e\u003ccode\u003e32f7dea\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/c1d11ea47791b41002bae354cf65f698013f8300\"\u003e\u003ccode\u003ec1d11ea\u003c/code\u003e\u003c/a\u003e Fix ExtraArgs documentation in S3 copy methods to reference ALLOWED_COPY_ARGS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/14fc68d24d941309b4a25e4650f9f4a3767a8ce7\"\u003e\u003ccode\u003e14fc68d\u003c/code\u003e\u003c/a\u003e Fix ExtraArgs documentation in S3 copy methods to reference ALLOWED_COPY_ARGS\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/boto/boto3/compare/1.40.25...1.40.30\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mypy` from 1.17.1 to 1.18.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/mypy/blob/master/CHANGELOG.md\"\u003emypy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eMypy Release Notes\u003c/h1\u003e\n\u003ch2\u003eNext Release\u003c/h2\u003e\n\u003ch2\u003eMypy 1.18\u003c/h2\u003e\n\u003cp\u003eWe’ve just uploaded mypy 1.18 to the Python Package Index (\u003ca href=\"https://pypi.org/project/mypy/\"\u003ePyPI\u003c/a\u003e).\nMypy is a static type checker for Python. This release includes new features, performance\nimprovements and bug fixes. You can install it as follows:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epython3 -m pip install -U mypy\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eYou can read the full documentation for this release on \u003ca href=\"http://mypy.readthedocs.io\"\u003eRead the Docs\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003eMypy Performance Improvements\u003c/h3\u003e\n\u003cp\u003eMypy 1.18 includes numerous performance improvements, resulting in about 40% speedup\ncompared to 1.17 when type checking mypy itself. In extreme cases, the improvement\ncan be 10x or higher. The list below is an overview of the various mypy optimizations.\nMany mypyc improvements (discussed in a separate section below) also improve performance.\u003c/p\u003e\n\u003cp\u003eType caching optimizations have a small risk of causing regressions. When\nreporting issues with unexpected inferred types, please also check if\n\u003ccode\u003e--disable-expression-cache\u003c/code\u003e will work around the issue, as it turns off some of\nthese optimizations.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eImprove self check performance by 1.8% (Jukka Lehtosalo, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19768\"\u003e19768\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/python/mypy/pull/19769\"\u003e19769\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/python/mypy/pull/19770\"\u003e19770\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOptimize fixed-format deserialization (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19765\"\u003e19765\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse macros to optimize fixed-format deserialization (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19757\"\u003e19757\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTwo additional micro‑optimizations (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19627\"\u003e19627\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAnother set of micro‑optimizations (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19633\"\u003e19633\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCache common types (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19621\"\u003e19621\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip more method bodies in third‑party libraries for speed (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19586\"\u003e19586\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplify the representation of callable types (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19580\"\u003e19580\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd cache for types of some expressions (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19505\"\u003e19505\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse cache for dictionary expressions (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19536\"\u003e19536\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse cache for binary operations (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19523\"\u003e19523\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCache types of type objects (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19514\"\u003e19514\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid duplicate work when checking boolean operations (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19515\"\u003e19515\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOptimize generic inference passes (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19501\"\u003e19501\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSpeed up the default plugin (Jukka Lehtosalo, PRs \u003ca href=\"https://redirect.github.com/python/mypy/pull/19385\"\u003e19385\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/python/mypy/pull/19462\"\u003e19462\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove nested imports from the default plugin (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19388\"\u003e19388\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMicro‑optimize type expansion (Jukka Lehtosalo, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19461\"\u003e19461\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMicro‑optimize type indirection (Jukka Lehtosalo, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19460\"\u003e19460\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMicro‑optimize the plugin framework (Jukka Lehtosalo, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19464\"\u003e19464\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid temporary set creation in subtype checking (Jukka Lehtosalo, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19463\"\u003e19463\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSubtype checking micro‑optimization (Jukka Lehtosalo, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19384\"\u003e19384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReturn early where possible in subtype check (Stanislav Terliakov, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19400\"\u003e19400\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDeduplicate some types before joining (Stanislav Terliakov, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19409\"\u003e19409\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSpeed up type checking by caching argument inference context (Jukka Lehtosalo, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19323\"\u003e19323\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/03fbaa941bccc3a9f8aea796d586603b67119bf2\"\u003e\u003ccode\u003e03fbaa9\u003c/code\u003e\u003c/a\u003e bump version to 1.18.1 due to wheels failure\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/b44a1fbf0cf9fd90fd29d6bcd9f64c55dd2fd4c8\"\u003e\u003ccode\u003eb44a1fb\u003c/code\u003e\u003c/a\u003e removed +dev from version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/7197a99d1aebb1b7a584f82a53c44efb7dddf136\"\u003e\u003ccode\u003e7197a99\u003c/code\u003e\u003c/a\u003e Removed Unreleased in the Changelog for Release 1.18 (\u003ca href=\"https://redirect.github.com/python/mypy/issues/19827\"\u003e#19827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/ee61cec0d654463874ddee3a60914f0a6cd08222\"\u003e\u003ccode\u003eee61cec\u003c/code\u003e\u003c/a\u003e Updates to 1.18 changelog (\u003ca href=\"https://redirect.github.com/python/mypy/issues/19826\"\u003e#19826\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/24eed0bd0bb1107ede163ed314082a0f3e7dbbc4\"\u003e\u003ccode\u003e24eed0b\u003c/code\u003e\u003c/a\u003e Initial changelog for release 1.18 (\u003ca href=\"https://redirect.github.com/python/mypy/issues/19818\"\u003e#19818\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/0ca1f2a7e50ed38eed95ecf8c1f2df1057da902d\"\u003e\u003ccode\u003e0ca1f2a\u003c/code\u003e\u003c/a\u003e Expose --fixed-format-cache if compiled (\u003ca href=\"https://redirect.github.com/python/mypy/issues/19815\"\u003e#19815\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/2ce1bb225f3ced0ad4b2080af8a9a0eb39f8b38e\"\u003e\u003ccode\u003e2ce1bb2\u003c/code\u003e\u003c/a\u003e [mypyc] Fix subclass processing in detect_undefined_bitmap (\u003ca href=\"https://redirect.github.com/python/mypy/issues/19787\"\u003e#19787\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/a6b55f061d6a352e7d272ec5bc890650b7187380\"\u003e\u003ccode\u003ea6b55f0\u003c/code\u003e\u003c/a\u003e feat: new mypyc primitives for weakref.proxy (\u003ca href=\"https://redirect.github.com/python/mypy/issues/19217\"\u003e#19217\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/5a323dd2f8927eb958835e51916402c27ec2f31f\"\u003e\u003ccode\u003e5a323dd\u003c/code\u003e\u003c/a\u003e Make --allow-redefinition-new argument public (\u003ca href=\"https://redirect.github.com/python/mypy/issues/19796\"\u003e#19796\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/8638eb40aa7b9d3088f17ab005c538c86c752edd\"\u003e\u003ccode\u003e8638eb4\u003c/code\u003e\u003c/a\u003e [stubtest] temporary \u003ccode\u003e--ignore-disjoint-bases\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/python/mypy/issues/19740\"\u003e#19740\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python/mypy/compare/v1.17.1...v1.18.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `boto3-stubs` from 1.40.25 to 1.40.30\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/youtype/mypy_boto3_builder/releases\"\u003eboto3-stubs's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.8.0 - Python 3.8 runtime is back\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[services]\u003c/code\u003e \u003ccode\u003einstall_requires\u003c/code\u003e section is calculated based on dependencies in use, so \u003ccode\u003etyping-extensions\u003c/code\u003e version is set properly\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[all]\u003c/code\u003e Replaced \u003ccode\u003etyping\u003c/code\u003e imports with \u003ccode\u003ecollections.abc\u003c/code\u003e with a fallback to \u003ccode\u003etyping\u003c/code\u003e for Python \u0026lt;3.9\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[all]\u003c/code\u003e Added aliases for \u003ccode\u003ebuiltins.list\u003c/code\u003e, \u003ccode\u003ebuiltins.set\u003c/code\u003e, \u003ccode\u003ebuiltins.dict\u003c/code\u003e, and \u003ccode\u003ebuiltins.type\u003c/code\u003e, so Python 3.8 runtime should work as expected again (reported by \u003ca href=\"https://github.com/YHallouard\"\u003e\u003ccode\u003e@​YHallouard\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/youtype/mypy_boto3_builder/issues/340\"\u003e#340\u003c/a\u003e and \u003ca href=\"https://github.com/Omri-Ben-Yair\"\u003e\u003ccode\u003e@​Omri-Ben-Yair\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/youtype/mypy_boto3_builder/issues/336\"\u003e#336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[all]\u003c/code\u003e Unions use the same type annotations as the rest of the structures due to proper fallbacks\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[services]\u003c/code\u003e Universal input/output shapes were not replaced properly in service subresources\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[docs]\u003c/code\u003e Simplified doc links rendering for services\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[services]\u003c/code\u003e Cleaned up unnecessary imports in \u003ccode\u003eclient.pyi\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[builder]\u003c/code\u003e Import records with fallback are always rendered\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/youtype/mypy_boto3_builder/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `types-openpyxl` from 3.1.5.20250822 to 3.1.5.20250914\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/typeshed-internal/stub_uploader/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `types-pymysql` from 1.1.0.20250822 to 1.1.0.20250914\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/typeshed-internal/stub_uploader/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/Arelle/Arelle/pull/1906","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Arelle%2FArelle/issues/1906","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1906/packages"}],"issue_packages":[{"old_version":"1.31.2","new_version":"1.31.5","update_type":"patch","path":"/backend","pr_created_at":"2026-04-26T17:31:03.000Z","version_change":"1.31.2 → 1.31.5","issue":{"uuid":"4331509633","node_id":"PR_kwDOSIM0nM7Vv5cY","number":8,"state":"open","title":"deps(deps): Bump pg8000 from 1.31.2 to 1.31.5 in /backend","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-26T17:31:03.000Z","updated_at":"2026-04-26T17:31:03.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(deps): Bump","packages":[{"name":"pg8000","old_version":"1.31.2","new_version":"1.31.5","repository_url":"https://github.com/tlocke/pg8000"}],"path":"/backend","ecosystem":"pip"},"body":"Bumps [pg8000](https://github.com/tlocke/pg8000) from 1.31.2 to 1.31.5.\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tlocke/pg8000/commits\"\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=pg8000\u0026package-manager=pip\u0026previous-version=1.31.2\u0026new-version=1.31.5)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/berusmith/SBOM/pull/8","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/berusmith%2FSBOM/issues/8","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/8/packages"}},{"old_version":"1.31.2","new_version":"1.31.5","update_type":"patch","path":null,"pr_created_at":"2026-02-18T17:34:36.000Z","version_change":"1.31.2 → 1.31.5","issue":{"uuid":"3958997761","node_id":"PR_kwDOKO3IB87Erbff","number":223,"state":"closed","title":"requirements: bump pg8000 from 1.31.2 to 1.31.5","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-02-18T17:43:59.000Z","author_association":null,"state_reason":null,"created_at":"2026-02-18T17:34:36.000Z","updated_at":"2026-02-18T17:44:08.000Z","time_to_close":563,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"requirements","packages":[{"name":"pg8000","old_version":"1.31.2","new_version":"1.31.5","repository_url":"https://github.com/tlocke/pg8000"}],"path":null,"ecosystem":"pip"},"body":"Bumps [pg8000](https://github.com/tlocke/pg8000) from 1.31.2 to 1.31.5.\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tlocke/pg8000/commits\"\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=pg8000\u0026package-manager=pip\u0026previous-version=1.31.2\u0026new-version=1.31.5)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/tdesveaux/buildbot/pull/223","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/tdesveaux%2Fbuildbot/issues/223","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/223/packages"}},{"old_version":"1.31.2","new_version":"1.31.5","update_type":"patch","path":null,"pr_created_at":"2026-02-04T20:16:39.000Z","version_change":"1.31.2 → 1.31.5","issue":{"uuid":"3898247049","node_id":"PR_kwDOKO3IB87Bje1Z","number":69,"state":"closed","title":"requirements: bump the pip-minor-patch group with 50 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-02-18T14:32:56.000Z","author_association":null,"state_reason":null,"created_at":"2026-02-04T20:16:39.000Z","updated_at":"2026-02-18T14:33:26.000Z","time_to_close":1188977,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"requirements: bump","group_name":"pip-minor-patch","update_count":50,"packages":[{"name":"attrs","old_version":"25.3.0","new_version":"25.4.0","repository_url":"https://github.com/sponsors/hynek"},{"name":"idna","old_version":"3.10","new_version":"3.11","repository_url":"https://github.com/kjd/idna"},{"name":"incremental","old_version":"24.7.2","new_version":"24.11.0","repository_url":"https://github.com/twisted/incremental"},{"name":"psutil","old_version":"7.0.0","new_version":"7.2.2","repository_url":"https://github.com/giampaolo/psutil"},{"name":"typing-extensions","old_version":"4.14.0","new_version":"4.15.0","repository_url":"https://github.com/python/typing_extensions"},{"name":"markdown","old_version":"3.8","new_version":"3.10.1","repository_url":"https://github.com/Python-Markdown/markdown"},{"name":"coverage","old_version":"7.9.1","new_version":"7.13.3","repository_url":"https://github.com/coveragepy/coveragepy"},{"name":"hvac","old_version":"2.3.0","new_version":"2.4.0","repository_url":"https://github.com/hvac/hvac"},{"name":"mypy","old_version":"1.16.0","new_version":"1.19.1","repository_url":"https://github.com/python/mypy"},{"name":"mypy-zope","old_version":"1.0.12","new_version":"1.0.14","repository_url":"https://github.com/Shoobx/mypy-zope"},{"name":"alembic","old_version":"1.18.1","new_version":"1.18.3","repository_url":"https://github.com/sqlalchemy/alembic"},{"name":"boto3","old_version":"1.38.36","new_version":"1.42.41","repository_url":"https://github.com/boto/boto3"},{"name":"botocore","old_version":"1.38.36","new_version":"1.42.41","repository_url":"https://github.com/boto/botocore"},{"name":"charset-normalizer","old_version":"3.4.2","new_version":"3.4.4","repository_url":"https://github.com/jawah/charset_normalizer"},{"name":"dill","old_version":"0.4.0","new_version":"0.4.1","repository_url":"https://github.com/uqfoundation/dill"},{"name":"evalidate","old_version":"2.0.5","new_version":"2.1.3","repository_url":"https://github.com/yaroslaff/evalidate"},{"name":"greenlet","old_version":"3.2.3","new_version":"3.3.1","repository_url":"https://github.com/python-greenlet/greenlet"},{"name":"jmespath","old_version":"1.0.1","new_version":"1.1.0","repository_url":"https://github.com/jmespath/jmespath.py"},{"name":"lz4","old_version":"4.4.4","new_version":"4.4.5","repository_url":"https://github.com/python-lz4/python-lz4"},{"name":"zstandard","old_version":"0.23.0","new_version":"0.25.0","repository_url":"https://github.com/indygreg/python-zstandard"},{"name":"brotli","old_version":"1.1.0","new_version":"1.2.0","repository_url":"https://github.com/google/brotli"},{"name":"markupsafe","old_version":"3.0.2","new_version":"3.0.3","repository_url":"https://github.com/pallets/markupsafe"},{"name":"moto","old_version":"5.1.6","new_version":"5.1.20","repository_url":"https://github.com/getmoto/moto"},{"name":"msgpack","old_version":"1.1.1","new_version":"1.1.2","repository_url":"https://github.com/msgpack/msgpack-python"},{"name":"pyjwt","old_version":"2.10.1","new_version":"2.11.0","repository_url":"https://github.com/jpadilla/pyjwt"},{"name":"pyopenssl","old_version":"25.1.0","new_version":"25.3.0","repository_url":"https://github.com/pyca/pyopenssl"},{"name":"pyyaml","old_version":"6.0.2","new_version":"6.0.3","repository_url":"https://github.com/yaml/pyyaml"},{"name":"requests","old_version":"2.32.4","new_version":"2.32.5","repository_url":"https://github.com/psf/requests"},{"name":"responses","old_version":"0.25.7","new_version":"0.25.8","repository_url":"https://github.com/getsentry/responses"},{"name":"ruff","old_version":"0.14.0","new_version":"0.15.0","repository_url":"https://github.com/astral-sh/ruff"},{"name":"s3transfer","old_version":"0.13.0","new_version":"0.16.0","repository_url":"https://github.com/boto/s3transfer"},{"name":"sqlalchemy","old_version":"2.0.41","new_version":"2.0.46","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"urllib3","old_version":"2.5.0","new_version":"2.6.3","repository_url":"https://github.com/urllib3/urllib3"},{"name":"werkzeug","old_version":"3.1.4","new_version":"3.1.5","repository_url":"https://github.com/pallets/werkzeug"},{"name":"zope-event","old_version":"6.0","new_version":"6.1","repository_url":"https://github.com/zopefoundation/zope.event"},{"name":"altgraph","old_version":"0.17.4","new_version":"0.17.5","repository_url":"https://github.com/ronaldoussoren/altgraph"},{"name":"pyinstaller","old_version":"6.14.1","new_version":"6.18.0","repository_url":"https://github.com/pyinstaller/pyinstaller"},{"name":"psycopg2","old_version":"2.9.10","new_version":"2.9.11","repository_url":"https://github.com/psycopg/psycopg2"},{"name":"pycairo","old_version":"1.28.0","new_version":"1.29.0","repository_url":"https://github.com/pygobject/pycairo"},{"name":"sphinx-rtd-theme","old_version":"3.0.2","new_version":"3.1.0","repository_url":"https://github.com/readthedocs/sphinx_rtd_theme"},{"name":"sphinxcontrib-spelling","old_version":"8.0.1","new_version":"8.0.2","repository_url":"https://github.com/sphinx-contrib/spelling"},{"name":"babel","old_version":"2.17.0","new_version":"2.18.0","repository_url":"https://github.com/python-babel/babel"},{"name":"click","old_version":"8.2.1","new_version":"8.3.1","repository_url":"https://github.com/pallets/click"},{"name":"docutils","old_version":"0.21.2","new_version":"0.22.4","repository_url":"https://github.com/rtfd/recommonmark"},{"name":"pyenchant","old_version":"3.2.2","new_version":"3.3.0","repository_url":"https://github.com/pyenchant/pyenchant"},{"name":"psycopg2-binary","old_version":"2.9.10","new_version":"2.9.11","repository_url":"https://github.com/psycopg/psycopg2"},{"name":"pg8000","old_version":"1.31.2","new_version":"1.31.5","repository_url":"https://github.com/tlocke/pg8000"},{"name":"scramp","old_version":"1.4.5","new_version":"1.4.8","repository_url":"https://github.com/tlocke/scramp"},{"name":"wheel","old_version":"0.45.1","new_version":"0.46.3","repository_url":"https://github.com/pypa/wheel"},{"name":"build","old_version":"1.2.2.post1","new_version":"1.4.0","repository_url":"https://github.com/pypa/build"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pip-minor-patch group with 50 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [attrs](https://github.com/sponsors/hynek) | `25.3.0` | `25.4.0` |\n| [idna](https://github.com/kjd/idna) | `3.10` | `3.11` |\n| [incremental](https://github.com/twisted/incremental) | `24.7.2` | `24.11.0` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.0.0` | `7.2.2` |\n| [typing-extensions](https://github.com/python/typing_extensions) | `4.14.0` | `4.15.0` |\n| [markdown](https://github.com/Python-Markdown/markdown) | `3.8` | `3.10.1` |\n| [coverage](https://github.com/coveragepy/coveragepy) | `7.9.1` | `7.13.3` |\n| [hvac](https://github.com/hvac/hvac) | `2.3.0` | `2.4.0` |\n| [mypy](https://github.com/python/mypy) | `1.16.0` | `1.19.1` |\n| [mypy-zope](https://github.com/Shoobx/mypy-zope) | `1.0.12` | `1.0.14` |\n| [alembic](https://github.com/sqlalchemy/alembic) | `1.18.1` | `1.18.3` |\n| [boto3](https://github.com/boto/boto3) | `1.38.36` | `1.42.41` |\n| [botocore](https://github.com/boto/botocore) | `1.38.36` | `1.42.41` |\n| [charset-normalizer](https://github.com/jawah/charset_normalizer) | `3.4.2` | `3.4.4` |\n| [dill](https://github.com/uqfoundation/dill) | `0.4.0` | `0.4.1` |\n| [evalidate](https://github.com/yaroslaff/evalidate) | `2.0.5` | `2.1.3` |\n| [greenlet](https://github.com/python-greenlet/greenlet) | `3.2.3` | `3.3.1` |\n| [jmespath](https://github.com/jmespath/jmespath.py) | `1.0.1` | `1.1.0` |\n| [lz4](https://github.com/python-lz4/python-lz4) | `4.4.4` | `4.4.5` |\n| [zstandard](https://github.com/indygreg/python-zstandard) | `0.23.0` | `0.25.0` |\n| [brotli](https://github.com/google/brotli) | `1.1.0` | `1.2.0` |\n| [markupsafe](https://github.com/pallets/markupsafe) | `3.0.2` | `3.0.3` |\n| [moto](https://github.com/getmoto/moto) | `5.1.6` | `5.1.20` |\n| [msgpack](https://github.com/msgpack/msgpack-python) | `1.1.1` | `1.1.2` |\n| [pyjwt](https://github.com/jpadilla/pyjwt) | `2.10.1` | `2.11.0` |\n| [pyopenssl](https://github.com/pyca/pyopenssl) | `25.1.0` | `25.3.0` |\n| [pyyaml](https://github.com/yaml/pyyaml) | `6.0.2` | `6.0.3` |\n| [requests](https://github.com/psf/requests) | `2.32.4` | `2.32.5` |\n| [responses](https://github.com/getsentry/responses) | `0.25.7` | `0.25.8` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.14.0` | `0.15.0` |\n| [s3transfer](https://github.com/boto/s3transfer) | `0.13.0` | `0.16.0` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.41` | `2.0.46` |\n| [urllib3](https://github.com/urllib3/urllib3) | `2.5.0` | `2.6.3` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `3.1.4` | `3.1.5` |\n| [zope-event](https://github.com/zopefoundation/zope.event) | `6.0` | `6.1` |\n| [altgraph](https://github.com/ronaldoussoren/altgraph) | `0.17.4` | `0.17.5` |\n| [pyinstaller](https://github.com/pyinstaller/pyinstaller) | `6.14.1` | `6.18.0` |\n| [psycopg2](https://github.com/psycopg/psycopg2) | `2.9.10` | `2.9.11` |\n| [pycairo](https://github.com/pygobject/pycairo) | `1.28.0` | `1.29.0` |\n| [sphinx-rtd-theme](https://github.com/readthedocs/sphinx_rtd_theme) | `3.0.2` | `3.1.0` |\n| [sphinxcontrib-spelling](https://github.com/sphinx-contrib/spelling) | `8.0.1` | `8.0.2` |\n| [babel](https://github.com/python-babel/babel) | `2.17.0` | `2.18.0` |\n| [click](https://github.com/pallets/click) | `8.2.1` | `8.3.1` |\n| [docutils](https://github.com/rtfd/recommonmark) | `0.21.2` | `0.22.4` |\n| [pyenchant](https://github.com/pyenchant/pyenchant) | `3.2.2` | `3.3.0` |\n| [psycopg2-binary](https://github.com/psycopg/psycopg2) | `2.9.10` | `2.9.11` |\n| [pg8000](https://github.com/tlocke/pg8000) | `1.31.2` | `1.31.5` |\n| [scramp](https://github.com/tlocke/scramp) | `1.4.5` | `1.4.8` |\n| [wheel](https://github.com/pypa/wheel) | `0.45.1` | `0.46.3` |\n| [build](https://github.com/pypa/build) | `1.2.2.post1` | `1.4.0` |\n\nUpdates `attrs` from 25.3.0 to 25.4.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sponsors/hynek/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `idna` from 3.10 to 3.11\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/kjd/idna/blob/master/HISTORY.rst\"\u003eidna's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e3.11 (2025-10-12)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate to Unicode 16.0.0, including significant changes to UTS46\nprocessing. As a result of Unicode ending support for it, transitional\nprocessing no longer has an effect and returns the same result.\u003c/li\u003e\n\u003cli\u003eAdd support for Python 3.14, lowest supported version is Python 3.8.\u003c/li\u003e\n\u003cli\u003eVarious updates to packaging, including PEP 740 support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/ad949ee3052c2265c66e3df2dd8871a5832ba327\"\u003e\u003ccode\u003ead949ee\u003c/code\u003e\u003c/a\u003e Release v3.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/cae4ba779e0a543823894bd4136651c187944da8\"\u003e\u003ccode\u003ecae4ba7\u003c/code\u003e\u003c/a\u003e Second release candidate for 3.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/8adb305165c77c4a45d1568a70ead75d2197692c\"\u003e\u003ccode\u003e8adb305\u003c/code\u003e\u003c/a\u003e Add space in RST link\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/74cb2b652bb06133b0c4ab52cc98221be63162cf\"\u003e\u003ccode\u003e74cb2b6\u003c/code\u003e\u003c/a\u003e Release candidate for 3.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/05dab09fdde5bbf7d52f757c4dc62e0ba934cca8\"\u003e\u003ccode\u003e05dab09\u003c/code\u003e\u003c/a\u003e Format idna-data with ruff\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/90eac78b737d26613776b490432fc6d926b15c55\"\u003e\u003ccode\u003e90eac78\u003c/code\u003e\u003c/a\u003e Apply ruff formatting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/a31ce7ecc0b767e40abb5ce28744ac567b73f366\"\u003e\u003ccode\u003ea31ce7e\u003c/code\u003e\u003c/a\u003e Remove errant test vectors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/81f03334211c78c1832991ce70ebafb3cbfbb79c\"\u003e\u003ccode\u003e81f0333\u003c/code\u003e\u003c/a\u003e Omit vectors known to be broken in test suite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/a0f32578c0cac28c7ffbb4c860c92eb2b9b579bd\"\u003e\u003ccode\u003ea0f3257\u003c/code\u003e\u003c/a\u003e Merge branch 'master' into unicode-16-uts46-changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/38d98860e6a1ab92fd35ab09ea4739feabf339a3\"\u003e\u003ccode\u003e38d9886\u003c/code\u003e\u003c/a\u003e Remove extra UTS46 test vector\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/kjd/idna/compare/v3.10...v3.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `incremental` from 24.7.2 to 24.11.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/twisted/incremental/blob/trunk/NEWS.rst\"\u003eincremental's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eIncremental 24.11.0 (2025-11-27)\u003c/h1\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIncremental now provides a CLI script, \u003ccode\u003eincremental\u003c/code\u003e, allowing you to run it with \u003ccode\u003epipx run incremental\u003c/code\u003e.\nThe \u003ccode\u003eincremental update\u003c/code\u003e subcommand offers the same functionality as \u003ccode\u003epython -m incremental.update\u003c/code\u003e. (\u003ccode\u003e[#99](https://github.com/twisted/incremental/issues/99) \u0026lt;https://github.com/twisted/incremental/issues/99\u0026gt;\u003c/code\u003e__)\u003c/li\u003e\n\u003cli\u003eIncremental now depends on packaging instead of setuptools at runtime (\u003ccode\u003e[#141](https://github.com/twisted/incremental/issues/141) \u0026lt;https://github.com/twisted/incremental/issues/141\u0026gt;\u003c/code\u003e__)\u003c/li\u003e\n\u003cli\u003eAdd Python 3.13 and 3.14 to the test matrix. (\u003ccode\u003e[#179](https://github.com/twisted/incremental/issues/179) \u0026lt;https://github.com/twisted/incremental/issues/179\u0026gt;\u003c/code\u003e__)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBugfixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBuild Incremental itself with Hatchling, working around failures with certain versions of setuptools (\u003ccode\u003e[#122](https://github.com/twisted/incremental/issues/122) \u0026lt;https://github.com/twisted/incremental/issues/122\u0026gt;\u003c/code\u003e__)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImproved Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIncremental's documentation now highlights its primary features: CalVer and indeterminate versions (NEXT). (\u003ccode\u003e[#2](https://github.com/twisted/incremental/issues/2) \u0026lt;https://github.com/twisted/incremental/issues/2\u0026gt;\u003c/code\u003e__)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDeprecations and Removals\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIncremental's CLI no longer depends on Click, so you no longer need to install \u003ccode\u003eincremental[scripts]\u003c/code\u003e for it to function.\nThe \u003ccode\u003escripts\u003c/code\u003e extra is deprecated. (\u003ccode\u003e[#99](https://github.com/twisted/incremental/issues/99) \u0026lt;https://github.com/twisted/incremental/issues/99\u0026gt;\u003c/code\u003e__)\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.8, which has been end-of-life since October 2024. (\u003ccode\u003e[#179](https://github.com/twisted/incremental/issues/179) \u0026lt;https://github.com/twisted/incremental/issues/179\u0026gt;\u003c/code\u003e__)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eMisc\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[#105](https://github.com/twisted/incremental/issues/105) \u0026lt;https://github.com/twisted/incremental/issues/105\u0026gt;\u003c/code\u003e\u003cstrong\u003e, \u003ccode\u003e[#116](https://github.com/twisted/incremental/issues/116) \u0026lt;https://github.com/twisted/incremental/issues/116\u0026gt;\u003c/code\u003e\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/twisted/incremental/commit/2e15ebbbd5bdddb122179074e7d088dd0f5bf198\"\u003e\u003ccode\u003e2e15ebb\u003c/code\u003e\u003c/a\u003e Release Incremental 25.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/twisted/incremental/commit/28034621f305d108c8992ef67ca1e04bfff18741\"\u003e\u003ccode\u003e2803462\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/twisted/incremental/issues/184\"\u003e#184\u003c/a\u003e from twisted/dependabot/github_actions/actions/checko...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/twisted/incremental/commit/ab9ac5cc1d8abefa00d9526100063f25c3fa770a\"\u003e\u003ccode\u003eab9ac5c\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/twisted/incremental/commit/fa2a4c70ac385ca5a8d7471313cba668356e3e77\"\u003e\u003ccode\u003efa2a4c7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/twisted/incremental/issues/183\"\u003e#183\u003c/a\u003e from twisted/dependabot/pip/packaging-9f19c49aaa\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/twisted/incremental/commit/e9a45a25824b6d37096e5cdad4a78cd2fccd21b6\"\u003e\u003ccode\u003ee9a45a2\u003c/code\u003e\u003c/a\u003e Bump build in the packaging group across 1 directory\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/twisted/incremental/commit/f72107413d4d7af3fad1cc5315ec150fd94f7ede\"\u003e\u003ccode\u003ef721074\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/twisted/incremental/issues/180\"\u003e#180\u003c/a\u003e from twisted/dependabot/pip/uv-0.9.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/twisted/incremental/commit/6678e1cd092f207915f57f2a18f71ed1cda76037\"\u003e\u003ccode\u003e6678e1c\u003c/code\u003e\u003c/a\u003e Bump uv from 0.9.5 to 0.9.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/twisted/incremental/commit/b98b8c58c98a67c038dfc1c8c993d2dd1baa8bcf\"\u003e\u003ccode\u003eb98b8c5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/twisted/incremental/issues/179\"\u003e#179\u003c/a\u003e from twisted/new-pythons\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/twisted/incremental/commit/d9ae87ec397cd465b08ac9b85877acbf8ca6a8d4\"\u003e\u003ccode\u003ed9ae87e\u003c/code\u003e\u003c/a\u003e Add newsfragments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/twisted/incremental/commit/61c2784efe858da52d31609b12cdb831aaabb75f\"\u003e\u003ccode\u003e61c2784\u003c/code\u003e\u003c/a\u003e Drop support for Python 3.8\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/twisted/incremental/compare/incremental-24.7.2...incremental-24.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `psutil` from 7.0.0 to 7.2.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/giampaolo/psutil/blob/master/HISTORY.rst\"\u003epsutil's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e7.2.2\u003c/h1\u003e\n\u003cp\u003e2026-01-28\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e2705_: [Linux]: \u003ccode\u003eProcess.wait()\u003c/code\u003e_ now uses \u003ccode\u003epidfd_open()\u003c/code\u003e + \u003ccode\u003epoll()\u003c/code\u003e for\nwaiting, resulting in no busy loop and faster response times. Requires\nLinux \u0026gt;= 5.3 and Python \u0026gt;= 3.9. Falls back to traditional polling if\nunavailable.\u003c/li\u003e\n\u003cli\u003e2705_: [macOS], [BSD]: \u003ccode\u003eProcess.wait()\u003c/code\u003e_ now uses \u003ccode\u003ekqueue()\u003c/code\u003e for waiting,\nresulting in no busy loop and faster response times.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e2701_, [macOS]: fix compilation error on macOS \u0026lt; 10.7.  (patch by Sergey\nFedorov)\u003c/li\u003e\n\u003cli\u003e2707_, [macOS]: fix potential memory leaks in error paths of\n\u003ccode\u003eProcess.memory_full_info()\u003c/code\u003e and \u003ccode\u003eProcess.threads()\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e2708_, [macOS]: Process.cmdline()\u003ccode\u003e_ and \u003c/code\u003eProcess.environ()\u003ccode\u003e_ may fail with ``OSError: [Errno 0] Undefined error`` (from ``sysctl(KERN_PROCARGS2)``). They now raise \u003c/code\u003eAccessDenied`_ instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e7.2.1\u003c/h1\u003e\n\u003cp\u003e2025-12-29\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e2699_, [FreeBSD], [NetBSD]: \u003ccode\u003eheap_info()\u003c/code\u003e_ does not detect small allocations\n(\u0026lt;= 1K). In order to fix that, we now flush internal jemalloc cache before\nfetching the metrics.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e7.2.0\u003c/h1\u003e\n\u003cp\u003e2025-12-23\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEnhancements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e1275_: new \u003ccode\u003eheap_info()\u003c/code\u003e_ and \u003ccode\u003eheap_trim()\u003c/code\u003e_ functions, providing direct\naccess to the platform's native C heap allocator (glibc, mimalloc,\nlibmalloc). Useful to create tools to detect memory leaks.\u003c/li\u003e\n\u003cli\u003e2403_, [Linux]: publish wheels for Linux musl.\u003c/li\u003e\n\u003cli\u003e2680_: unit tests are no longer installed / part of the distribution. They\nnow live under \u003ccode\u003etests/\u003c/code\u003e instead of \u003ccode\u003epsutil/tests\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\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/giampaolo/psutil/commit/9eea97dd6f1d16ea33f5144c8925f1ce7a0688e1\"\u003e\u003ccode\u003e9eea97d\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/938ac647418f09e4e610b2c755741316713c5592\"\u003e\u003ccode\u003e938ac64\u003c/code\u003e\u003c/a\u003e Rm sphinxcontrib.googleanalytics; override layout.html\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/9dcbb7e60e650f0ab0cb52154b0a12c70f6a1e4c\"\u003e\u003ccode\u003e9dcbb7e\u003c/code\u003e\u003c/a\u003e Add sphinxcontrib-googleanalytics to requirements.txt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/76eaf9ae0f2868569c14b46f4165310885a40a15\"\u003e\u003ccode\u003e76eaf9a\u003c/code\u003e\u003c/a\u003e Try to add google analytics to doc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/de1cafa56f54e97ca557993155e76dd98877e136\"\u003e\u003ccode\u003ede1cafa\u003c/code\u003e\u003c/a\u003e Update doc mentioning Process.wait() internal details\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/bb30943b0336a16f28437ec549c15a8ad2830cca\"\u003e\u003ccode\u003ebb30943\u003c/code\u003e\u003c/a\u003e Refact can_use_pidfd_open() and can_use_kqueue()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/a571717d6520d436273c8cb34ca871db4bfa508a\"\u003e\u003ccode\u003ea571717\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2708\"\u003e#2708\u003c/a\u003e, macos / cmdline / environ; raise AD instead of OSError(0) (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2709\"\u003e#2709\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/8b98c3effc20dcc4ed08c8f3d33e11ec0f5445b1\"\u003e\u003ccode\u003e8b98c3e\u003c/code\u003e\u003c/a\u003e Pre-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/700b7e6a4171ae7c775679217205f1d97568ae00\"\u003e\u003ccode\u003e700b7e6\u003c/code\u003e\u003c/a\u003e [macOS] fix potential leaks in error paths (\u003ca href=\"https://redirect.github.com/giampaolo/psutil/issues/2707\"\u003e#2707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/giampaolo/psutil/commit/7cc7923a1479fb1d32bb25d3e78b465e2695fbf7\"\u003e\u003ccode\u003e7cc7923\u003c/code\u003e\u003c/a\u003e Windows / cmdline(): be more defensive in free()ing in case of error\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/giampaolo/psutil/compare/release-7.0.0...release-7.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `typing-extensions` from 4.14.0 to 4.15.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/typing_extensions/releases\"\u003etyping-extensions's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.15.0\u003c/h2\u003e\n\u003cp\u003eNo user-facing changes since 4.15.0rc1.\u003c/p\u003e\n\u003cp\u003eNew features since 4.14.1:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd the \u003ccode\u003e@typing_extensions.disjoint_base\u003c/code\u003e decorator, as specified\nin PEP 800. Patch by Jelle Zijlstra.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etyping_extensions.type_repr\u003c/code\u003e, a backport of\n\u003ca href=\"https://docs.python.org/3.14/library/annotationlib.html#annotationlib.type_repr\"\u003e\u003ccode\u003eannotationlib.type_repr\u003c/code\u003e\u003c/a\u003e,\nintroduced in Python 3.14 (CPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/124551\"\u003e#124551\u003c/a\u003e,\noriginally by Jelle Zijlstra). Patch by Semyon Moroz.\u003c/li\u003e\n\u003cli\u003eFix behavior of type params in \u003ccode\u003etyping_extensions.evaluate_forward_ref\u003c/code\u003e. Backport of\nCPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/137227\"\u003e#137227\u003c/a\u003e by Jelle Zijlstra.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.15.0rc1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd the \u003ccode\u003e@typing_extensions.disjoint_base\u003c/code\u003e decorator, as specified\nin PEP 800. Patch by Jelle Zijlstra.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etyping_extensions.type_repr\u003c/code\u003e, a backport of\n\u003ca href=\"https://docs.python.org/3.14/library/annotationlib.html#annotationlib.type_repr\"\u003e\u003ccode\u003eannotationlib.type_repr\u003c/code\u003e\u003c/a\u003e,\nintroduced in Python 3.14 (CPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/124551\"\u003e#124551\u003c/a\u003e,\noriginally by Jelle Zijlstra). Patch by Semyon Moroz.\u003c/li\u003e\n\u003cli\u003eFix behavior of type params in \u003ccode\u003etyping_extensions.evaluate_forward_ref\u003c/code\u003e. Backport of\nCPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/137227\"\u003e#137227\u003c/a\u003e by Jelle Zijlstra.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.14.1\u003c/h2\u003e\n\u003ch1\u003eRelease 4.14.1 (July 4, 2025)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix usage of \u003ccode\u003etyping_extensions.TypedDict\u003c/code\u003e nested inside other types\n(e.g., \u003ccode\u003etyping.Type[typing_extensions.TypedDict]\u003c/code\u003e). This is not allowed by the\ntype system but worked on older versions, so we maintain 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/python/typing_extensions/blob/main/CHANGELOG.md\"\u003etyping-extensions's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eRelease 4.15.0 (August 25, 2025)\u003c/h1\u003e\n\u003cp\u003eNo user-facing changes since 4.15.0rc1.\u003c/p\u003e\n\u003ch1\u003eRelease 4.15.0rc1 (August 18, 2025)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd the \u003ccode\u003e@typing_extensions.disjoint_base\u003c/code\u003e decorator, as specified\nin PEP 800. Patch by Jelle Zijlstra.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etyping_extensions.type_repr\u003c/code\u003e, a backport of\n\u003ca href=\"https://docs.python.org/3.14/library/annotationlib.html#annotationlib.type_repr\"\u003e\u003ccode\u003eannotationlib.type_repr\u003c/code\u003e\u003c/a\u003e,\nintroduced in Python 3.14 (CPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/124551\"\u003e#124551\u003c/a\u003e,\noriginally by Jelle Zijlstra). Patch by Semyon Moroz.\u003c/li\u003e\n\u003cli\u003eFix behavior of type params in \u003ccode\u003etyping_extensions.evaluate_forward_ref\u003c/code\u003e. Backport of\nCPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/137227\"\u003e#137227\u003c/a\u003e by Jelle Zijlstra.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eRelease 4.14.1 (July 4, 2025)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix usage of \u003ccode\u003etyping_extensions.TypedDict\u003c/code\u003e nested inside other types\n(e.g., \u003ccode\u003etyping.Type[typing_extensions.TypedDict]\u003c/code\u003e). This is not allowed by the\ntype system but worked on older versions, so we maintain 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/python/typing_extensions/commit/9d1637e264b5c1a6b7acee3e907015f89b20c2c9\"\u003e\u003ccode\u003e9d1637e\u003c/code\u003e\u003c/a\u003e Prepare release 4.15.0 (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/658\"\u003e#658\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/4bd67c5be5d9443c7d33c314d02a56ee125eb88d\"\u003e\u003ccode\u003e4bd67c5\u003c/code\u003e\u003c/a\u003e Coverage: exclude some noise (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/656\"\u003e#656\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/e589a26da73b075c5276bae40b86db1af0144f84\"\u003e\u003ccode\u003ee589a26\u003c/code\u003e\u003c/a\u003e Coverage: add detailed report to job summary (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/655\"\u003e#655\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/67d37fed1298e050f74d5acc95b2621bd37837ad\"\u003e\u003ccode\u003e67d37fe\u003c/code\u003e\u003c/a\u003e Coverage: Implement fail_under (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/654\"\u003e#654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/e9ae26f5286edee9262727755ecb9ad16e999192\"\u003e\u003ccode\u003ee9ae26f\u003c/code\u003e\u003c/a\u003e Don't delete previous coverage comment (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/653\"\u003e#653\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/ac80bb728a3006fc88ef7373b92f0c25cfcc7895\"\u003e\u003ccode\u003eac80bb7\u003c/code\u003e\u003c/a\u003e Add Coverage workflow (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/623\"\u003e#623\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/abaaafd98c1cc7e5baf098ec287a3d22cb339670\"\u003e\u003ccode\u003eabaaafd\u003c/code\u003e\u003c/a\u003e Prepare release 4.15.0rc1 (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/650\"\u003e#650\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/98104053ea8d49bcdd247804e5fa9f73136acbd4\"\u003e\u003ccode\u003e9810405\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003e@disjoint_base\u003c/code\u003e (PEP 800) (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/634\"\u003e#634\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/7ee9e05fd484d06899ce56e80f5e1aa4c760fc03\"\u003e\u003ccode\u003e7ee9e05\u003c/code\u003e\u003c/a\u003e Backport type_params fix from CPython (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/646\"\u003e#646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/1e8eb9c06ef51b3a1e1f05303a16feca13f5ed98\"\u003e\u003ccode\u003e1e8eb9c\u003c/code\u003e\u003c/a\u003e Do not refer to PEP 705 as being experimental (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/648\"\u003e#648\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python/typing_extensions/compare/4.14.0...4.15.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `markdown` from 3.8 to 3.10.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Python-Markdown/markdown/releases\"\u003emarkdown's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 3.10.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure nested elements inside inline comments are properly unescaped (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1571\"\u003e#1571\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eMake the docs build successfully with mkdocstrings-python 2.0 (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1575\"\u003e#1575\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix infinite loop when multiple bogus or unclosed HTML comments appear in input (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1578\"\u003e#1578\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix another infinite loop when handling bad comments (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1586\"\u003e#1586\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 3.10.0\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOfficially support Python 3.14 and PyPy 3.11 and drop support for Python 3.9\nand PyPy 3.9.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix an HTML comment parsing case in some Python versions that can cause an\ninfinite loop (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1554\"\u003e#1554\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eRevert the default behavior of \u003ccode\u003eUSE_DEFINITION_ORDER\u003c/code\u003e (to \u003ccode\u003eTrue\u003c/code\u003e). The new\nbehavior introduced in 3.9.0 is experimental and results are inconsistent.\nIt should not have been made the default behavior (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1561\"\u003e#1561\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 3.9.0\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFootnotes are now ordered by the occurrence of their references in the\ndocument. A new configuration option for the footnotes extension,\n\u003ccode\u003eUSE_DEFINITION_ORDER\u003c/code\u003e, has been added to support restoring the previous\nbehavior of ordering footnotes by the occurrence of definitions (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1367\"\u003e#1367\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure inline processing iterates through elements in document order (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1546\"\u003e#1546\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix handling of incomplete HTML tags in code spans in Python 3.14 (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1547\"\u003e#1547\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 3.8.2\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003ecodecs\u003c/code\u003e deprecation in Python 3.14.\u003c/li\u003e\n\u003cli\u003eFix issue with unclosed comment parsing in Python 3.14.\u003c/li\u003e\n\u003cli\u003eFix issue with unclosed declarations in Python 3.14.\u003c/li\u003e\n\u003cli\u003eFix issue with unclosed HTML tag \u003ccode\u003e\u0026lt;foo\u003c/code\u003e and Python 3.14.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 3.8.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure incomplete markup declaration in raw HTML doesn't crash parser (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1534\"\u003e#1534\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed dropped content in \u003ccode\u003emd_in_html\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1526\"\u003e#1526\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed HTML handling corner case that prevented some content from not being rendered (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1528\"\u003e#1528\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Python-Markdown/markdown/blob/master/docs/changelog.md\"\u003emarkdown's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[3.10.1] - 2026-01-21\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure nested elements inside inline comments are properly unescaped (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1571\"\u003e#1571\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eMake the docs build successfully with mkdocstrings-python 2.0 (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1575\"\u003e#1575\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix infinite loop when multiple bogus or unclosed HTML comments appear in input (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1578\"\u003e#1578\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix another infinite loop when handling bad comments (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1586\"\u003e#1586\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.10.0] - 2025-11-03\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOfficially support Python 3.14 and PyPy 3.11 and drop support for Python 3.9\nand PyPy 3.9.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix an HTML comment parsing case in some Python versions that can cause an\ninfinite loop (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1554\"\u003e#1554\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eRevert the default behavior of \u003ccode\u003eUSE_DEFINITION_ORDER\u003c/code\u003e (to \u003ccode\u003eTrue\u003c/code\u003e). The new\nbehavior introduced in 3.9.0 is experimental and results are inconsistent.\nIt should not have been made the default behavior (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1561\"\u003e#1561\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.9.0] - 2025-09-04\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFootnotes are now ordered by the occurrence of their references in the\ndocument. A new configuration option for the footnotes extension,\n\u003ccode\u003eUSE_DEFINITION_ORDER\u003c/code\u003e, has been added to support restoring the previous\nbehavior of ordering footnotes by the occurrence of definitions (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1367\"\u003e#1367\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure inline processing iterates through elements in document order (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1546\"\u003e#1546\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix handling of incomplete HTML tags in code spans in Python 3.14 (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1547\"\u003e#1547\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.8.2] - 2025-06-19\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003ecodecs\u003c/code\u003e deprecation in Python 3.14 (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1537\"\u003e#1537\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix issue with unclosed comment parsing in Python 3.14 (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1537\"\u003e#1537\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix issue with unclosed declarations in Python 3.14 (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1537\"\u003e#1537\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix issue with unclosed HTML tag \u003ccode\u003e\u0026lt;foo\u003c/code\u003e and Python 3.14 (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1537\"\u003e#1537\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.8.1] - 2025-06-18\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/e5fa5b86e8ec380cbc520cfc637d72c779e5c601\"\u003e\u003ccode\u003ee5fa5b8\u003c/code\u003e\u003c/a\u003e Bump version to 3.10.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/f9253495f5d9919f2fdd5e147832b5fc21330f65\"\u003e\u003ccode\u003ef925349\u003c/code\u003e\u003c/a\u003e More HTML fixes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/9933a0a4699f3dea91f46528a2bf54863f531c08\"\u003e\u003ccode\u003e9933a0a\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Allow reference links with backticks\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/07dfa4eb43f7a2ab3181b4f842a960a03a6c1221\"\u003e\u003ccode\u003e07dfa4e\u003c/code\u003e\u003c/a\u003e Allow reference links with backticks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/fb6b27a6ff90980b5bcb0cd51528a7c9dc3a93ca\"\u003e\u003ccode\u003efb6b27a\u003c/code\u003e\u003c/a\u003e Fix infinite loop when text contains multiple unclosed comments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/89112c293f7b399ae8808f3a06306f46601e9684\"\u003e\u003ccode\u003e89112c2\u003c/code\u003e\u003c/a\u003e Make the docs build successfully with mkdocstrings-python 2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/961856ceb30623b929d8b7abdf5ed7074db7184c\"\u003e\u003ccode\u003e961856c\u003c/code\u003e\u003c/a\u003e Update link\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/2b49115b1002142afbd84b3002f13c0e98a0f487\"\u003e\u003ccode\u003e2b49115\u003c/code\u003e\u003c/a\u003e Ensure nested elements inside inline comments are properly unescaped.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/22e89c1fc346f72218a10e392a0c3b4731912522\"\u003e\u003ccode\u003e22e89c1\u003c/code\u003e\u003c/a\u003e Bump version to 3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/c138aea5139a6aceae05bb957e866d9ce7577b94\"\u003e\u003ccode\u003ec138aea\u003c/code\u003e\u003c/a\u003e + PY314 - PY39\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Python-Markdown/markdown/compare/3.8...3.10.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `coverage` from 7.9.1 to 7.13.3\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/coveragepy/coveragepy/blob/main/CHANGES.rst\"\u003ecoverage's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 7.13.3 — 2026-02-03\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix: in some situations, third-party code was measured when it shouldn't have\nbeen, slowing down test execution. This happened with layered virtual\nenvironments such as uv sometimes makes. The problem is fixed, closing \u003ccode\u003eissue 2082\u003c/code\u003e_. Now any directory on sys.path that is inside a virtualenv is\nconsidered third-party code.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _issue 2082: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2082\"\u003ecoveragepy/coveragepy#2082\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e.. _changes_7-13-2:\u003c/p\u003e\n\u003ch2\u003eVersion 7.13.2 — 2026-01-25\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix: when Python is installed via symlinks, for example with Homebrew, the\nstandard library files could be incorrectly included in coverage reports.\nThis is now fixed, closing \u003ccode\u003eissue 2115\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: if a data file is created with no read permissions, the combine step\nwould fail completely. Now a warning is issued and the file is skipped.\nCloses \u003ccode\u003eissue 2117\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _issue 2115: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2115\"\u003ecoveragepy/coveragepy#2115\u003c/a\u003e\n.. _issue 2117: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2117\"\u003ecoveragepy/coveragepy#2117\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e.. _changes_7-13-1:\u003c/p\u003e\n\u003ch2\u003eVersion 7.13.1 — 2025-12-28\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded: the JSON report now includes a \u003ccode\u003e\u0026quot;start_line\u0026quot;\u003c/code\u003e key for function and\nclass regions, indicating the first line of the region in the source. Closes\n\u003ccode\u003eissue 2110\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded: The \u003ccode\u003edebug data\u003c/code\u003e command now takes file names as arguments on the\ncommand line, so you can inspect specific data files without needing to set\nthe \u003ccode\u003eCOVERAGE_FILE\u003c/code\u003e environment variable.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: the JSON report used to report module docstrings as executed lines,\nwhich no other report did, as described in \u003ccode\u003eissue 2105\u003c/code\u003e_. This is now fixed,\nthanks to Jianrong Zhao.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: coverage.py uses a more disciplined approach to detecting where\nthird-party code is installed, and avoids measuring it. This shouldn't change\nany behavior. If you find that it does, please get in touch.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/6bf962f476b2f4cf344e9aa981dbbc8138cdfb69\"\u003e\u003ccode\u003e6bf962f\u003c/code\u003e\u003c/a\u003e docs: sample HTML for 7.13.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/9f2e54c31bfe3af00d1d276a4e76014b896c13ad\"\u003e\u003ccode\u003e9f2e54c\u003c/code\u003e\u003c/a\u003e docs: prep for 7.13.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/6208c42e7ee6047d6d21b3c5c515f56fc10e7b2d\"\u003e\u003ccode\u003e6208c42\u003c/code\u003e\u003c/a\u003e fix: find third-party packages in more locations. \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2082\"\u003e#2082\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/edb50169c00ad9a90b2104a85adc57965dc23c2e\"\u003e\u003ccode\u003eedb5016\u003c/code\u003e\u003c/a\u003e refactor: make dataclass imports uniform\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/b05826a0f6ab909fe136468647a45e74926cd570\"\u003e\u003ccode\u003eb05826a\u003c/code\u003e\u003c/a\u003e chore: bump actions/setup-python in the action-dependencies group (\u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2126\"\u003e#2126\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/b519e17acf1c311c0868e7e571da47b43dd1f6f7\"\u003e\u003ccode\u003eb519e17\u003c/code\u003e\u003c/a\u003e refactor: no need for ox_profile connection\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/775f1cb19d232e6849b5bb662431390cc7d9a0b5\"\u003e\u003ccode\u003e775f1cb\u003c/code\u003e\u003c/a\u003e build: remove pudb, I can install it if I need it\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/0ccb1fe603352cfdc2c4cfbe062a84015d8f3454\"\u003e\u003ccode\u003e0ccb1fe\u003c/code\u003e\u003c/a\u003e chore: make upgrade\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/e9e2a0e8e740915c525256e84e2a628849374c5c\"\u003e\u003ccode\u003ee9e2a0e\u003c/code\u003e\u003c/a\u003e chore: bump actions/checkout in the action-dependencies group (\u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2122\"\u003e#2122\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/77e1a04e898ed8851eeb17f761b4fecacf3de01c\"\u003e\u003ccode\u003e77e1a04\u003c/code\u003e\u003c/a\u003e chore: make upgrade\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/coveragepy/coveragepy/compare/7.9.1...7.13.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `hvac` from 2.3.0 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hvac/hvac/releases\"\u003ehvac's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.4.0\u003c/h2\u003e\n\u003ch2\u003e🚀 Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eadd audience param to kubernetes role creation (\u003ca href=\"https://redirect.github.com/hvac/hvac/pull/1224\"\u003eGH-1224\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📚 Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edocs: fix AppRole.login docstring (\u003ca href=\"https://redirect.github.com/hvac/hvac/pull/1182\"\u003eGH-1182\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧰 Miscellaneous\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix a typo in read_secret_version warning message (\u003ca href=\"https://redirect.github.com/hvac/hvac/pull/1219\"\u003eGH-1219\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePin consul version in CI (\u003ca href=\"https://redirect.github.com/hvac/hvac/pull/1210\"\u003eGH-1210\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThanks to \u003ca href=\"https://github.com/EmFl\"\u003e\u003ccode\u003e@​EmFl\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/briantist\"\u003e\u003ccode\u003e@​briantist\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/deamen\"\u003e\u003ccode\u003e@​deamen\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot], \u003ca href=\"https://github.com/evan-cohen\"\u003e\u003ccode\u003e@​evan-cohen\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/roshan-baladhanvi\"\u003e\u003ccode\u003e@​roshan-baladhanvi\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e for their lovely contributions.\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/hvac/hvac/blob/main/CHANGELOG.md\"\u003ehvac's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.0\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd audience param to kubernetes role creation (\u003ca href=\"https://redirect.github.com/hvac/hvac/pull/1224\"\u003eGH-1224\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edocs: fix AppRole.login docstring (\u003ca href=\"https://redirect.github.com/hvac/hvac/pull/1182\"\u003eGH-1182\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🧰 Miscellaneous\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix a typo in read_secret_version warning message (\u003ca href=\"https://redirect.github.com/hvac/hvac/pull/1219\"\u003eGH-1219\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePin consul version in CI (\u003ca href=\"https://redirect.github.com/hvac/hvac/pull/1210\"\u003eGH-1210\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/hvac/hvac/commit/2f1a58f754526b6baeee43d8763917d308ca2997\"\u003e\u003ccode\u003e2f1a58f\u003c/code\u003e\u003c/a\u003e fix pypi release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hvac/hvac/commit/fd769362047d4c05f3260b5b508e2b92db043d27\"\u003e\u003ccode\u003efd76936\u003c/code\u003e\u003c/a\u003e use ls instead (\u003ca href=\"https://redirect.github.com/hvac/hvac/issues/1233\"\u003e#1233\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hvac/hvac/commit/7ae23dfe283f43ca6b355080494e6110cc46da8d\"\u003e\u003ccode\u003e7ae23df\u003c/code\u003e\u003c/a\u003e remove tree command from release workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hvac/hvac/commit/bba486c05642ed04fb89abb3543c7641333346f1\"\u003e\u003ccode\u003ebba486c\u003c/code\u003e\u003c/a\u003e Release/v2.4.0 (\u003ca href=\"https://redirect.github.com/hvac/hvac/issues/1232\"\u003e#1232\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hvac/hvac/commit/531b9df740819d8961d1eab3623ab642c6188524\"\u003e\u003ccode\u003e531b9df\u003c/code\u003e\u003c/a\u003e coverage: skip on schedule, try slim runner (\u003ca href=\"https://redirect.github.com/hvac/hvac/issues/1231\"\u003e#1231\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hvac/hvac/commit/b8167a7545bbf541200f6acef949b28d888faca2\"\u003e\u003ccode\u003eb8167a7\u003c/code\u003e\u003c/a\u003e add audience param to kubernetes role creation (\u003ca href=\"https://redirect.github.com/hvac/hvac/issues/1224\"\u003e#1224\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hvac/hvac/commit/590537d15b389946eb0d34081f2bb3275f33ece6\"\u003e\u003ccode\u003e590537d\u003c/code\u003e\u003c/a\u003e Fix tests and CI - certs, schedule, etc. (\u003ca href=\"https://redirect.github.com/hvac/hvac/issues/1230\"\u003e#1230\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hvac/hvac/commit/4c0b650c2adbf4f8af72372e0b33ea60259c7397\"\u003e\u003ccode\u003e4c0b650\u003c/code\u003e\u003c/a\u003e fix: Fixing a typo in read_secret_version (\u003ca href=\"https://redirect.github.com/hvac/hvac/issues/1219\"\u003e#1219\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hvac/hvac/commit/ea3a6520cc08f69470494cce0ac26a2ab025f91d\"\u003e\u003ccode\u003eea3a652\u003c/code\u003e\u003c/a\u003e Pin consul version in CI (\u003ca href=\"https://redirect.github.com/hvac/hvac/issues/1210\"\u003e#1210\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hvac/hvac/commit/2d2c80e296f2983c00486ee2a2ea000a3cc15604\"\u003e\u003ccode\u003e2d2c80e\u003c/code\u003e\u003c/a\u003e docs: fix AppRole.login docstring (\u003ca href=\"https://redirect.github.com/hvac/hvac/issues/1182\"\u003e#1182\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/hvac/hvac/compare/v2.3.0...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mypy` from 1.16.0 to 1.19.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/mypy/blob/master/CHANGELOG.md\"\u003emypy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003eMypy 1.19.1\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix noncommutative joins with bounded TypeVars (Shantanu, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20345\"\u003e20345\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRespect output format for cached runs by serializing raw errors in cache metas (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20372\"\u003e20372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003etypes.NoneType\u003c/code\u003e in match cases (A5rocks, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20383\"\u003e20383\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix mypyc generator regression with empty tuple (BobTheBuidler, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20371\"\u003e20371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash involving Unpack-ed TypeVarTuple (Shantanu, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20323\"\u003e20323\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on star import of redefinition (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20333\"\u003e20333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on typevar with forward ref used in other module (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20334\"\u003e20334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFail with an explicit error on PyPy (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20389\"\u003e20389\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAcknowledgements\u003c/h3\u003e\n\u003cp\u003eThanks to all mypy contributors who contributed to this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eA5rocks\u003c/li\u003e\n\u003cli\u003eBobTheBuidler\u003c/li\u003e\n\u003cli\u003ebzoracler\u003c/li\u003e\n\u003cli\u003eChainfire\u003c/li\u003e\n\u003cli\u003eChristoph Tyralla\u003c/li\u003e\n\u003cli\u003eDavid Foster\u003c/li\u003e\n\u003cli\u003eFrank Dana\u003c/li\u003e\n\u003cli\u003eGuo Ci\u003c/li\u003e\n\u003cli\u003eiap\u003c/li\u003e\n\u003cli\u003eIvan Levkivskyi\u003c/li\u003e\n\u003cli\u003eJames Hilton-Balfe\u003c/li\u003e\n\u003cli\u003ejhance\u003c/li\u003e\n\u003cli\u003eJoren Hammudoglu\u003c/li\u003e\n\u003cli\u003eJukka Lehtosalo\u003c/li\u003e\n\u003cli\u003eKarelKenens\u003c/li\u003e\n\u003cli\u003eKevin Kannammalil\u003c/li\u003e\n\u003cli\u003eMarc Mueller\u003c/li\u003e\n\u003cli\u003eMichael Carlstrom\u003c/li\u003e\n\u003cli\u003eMichael J. Sullivan\u003c/li\u003e\n\u003cli\u003ePiotr Sawicki\u003c/li\u003e\n\u003cli\u003eRandolf Scholz\u003c/li\u003e\n\u003cli\u003eShantanu\u003c/li\u003e\n\u003cli\u003eSigve Sebastian Farstad\u003c/li\u003e\n\u003cli\u003esobolevn\u003c/li\u003e\n\u003cli\u003eStanislav Terliakov\u003c/li\u003e\n\u003cli\u003eStephen Morton\u003c/li\u003e\n\u003cli\u003eTheodore Ando\u003c/li\u003e\n\u003cli\u003eThiago J. Barbalho\u003c/li\u003e\n\u003cli\u003ewyattscarpenter\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eI’d also like to thank my employer, Dropbox, for supporting mypy development.\u003c/p\u003e\n\u003ch2\u003eMypy 1.18\u003c/h2\u003e\n\u003cp\u003eWe’ve just uploaded mypy 1.18.1 to the Python Package Index (\u003ca href=\"https://pypi.org/project/mypy/\"\u003ePyPI\u003c/a\u003e).\nMypy is a static type checker for Python. This release includes new features, performance\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/412c19a6bde31e7afa7f41afdf8356664689ae80\"\u003e\u003ccode\u003e412c19a\u003c/code\u003e\u003c/a\u003e Bump version to 1.19.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/20aea0a6ca0710f5427239bdd2fd8e8bf1caf634\"\u003e\u003ccode\u003e20aea0a\u003c/code\u003e\u003c/a\u003e Update changelog for 1.19.1 (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20414\"\u003e#20414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/2b23b507524bf1bd7513eea6f2a16fb91e072cb6\"\u003e\u003ccode\u003e2b23b50\u003c/code\u003e\u003c/a\u003e Serialize raw errors in cache metas (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20372\"\u003e#20372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/f60f90fb8872bf722e32aefd548daaf6d8560e05\"\u003e\u003ccode\u003ef60f90f\u003c/code\u003e\u003c/a\u003e Fail on PyPy in main instead of setup.py (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20389\"\u003e#20389\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/58d485b4ea4776e0b9d4045b306cb0818ecc2aa6\"\u003e\u003ccode\u003e58d485b\u003c/code\u003e\u003c/a\u003e Fail with an explicit error on PyPy (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20384\"\u003e#20384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/a4b31a26788b70c4a2a19adbafa2bbda43dc2e8b\"\u003e\u003ccode\u003ea4b31a2\u003c/code\u003e\u003c/a\u003e Allow \u003ccode\u003etypes.NoneType\u003c/code\u003e in match cases (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20383\"\u003e#20383\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/8a6eff478416cd3ed3931a6ed77ce61c88ab69e9\"\u003e\u003ccode\u003e8a6eff4\u003c/code\u003e\u003c/a\u003e [mypyc] fix generator regression with empty tuple (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20371\"\u003e#20371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/70eceea682c041c0d8e8462dffef9c7bb252e014\"\u003e\u003ccode\u003e70eceea\u003c/code\u003e\u003c/a\u003e Fix noncommutative joins with bounded TypeVars (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20345\"\u003e#20345\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/3890fc49bf7cc02db04b1e63eb2540aaacdeecc0\"\u003e\u003ccode\u003e3890fc4\u003c/code\u003e\u003c/a\u003e Fix crash involving Unpack-ed TypeVarTuple (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20323\"\u003e#20323\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/c93d917a86993e06dcc88e508f28f4f5199ce1c8\"\u003e\u003ccode\u003ec93d917\u003c/code\u003e\u003c/a\u003e Fix crash on star import of redefinition (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20333\"\u003e#20333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python/mypy/compare/v1.16.0...v1.19.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mypy-zope` from 1.0.12 to 1.0.14\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Shoobx/mypy-zope/blob/master/CHANGELOG.md\"\u003emypy-zope's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.0.14 (2025-12-01)\u003c/h2\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003eSupport mypy-1.19\u003c/li\u003e\n\u003cli\u003eSupport mypy-1.18\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.0.13 (2025-07-17)\u003c/h2\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for python-3.8 (follow mypy).\u003c/li\u003e\n\u003cli\u003eSupport mypy-1.17\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shoobx/mypy-zope/commit/38d22f3f4f6fc1b85c9a0d3b64577749f682a6d2\"\u003e\u003ccode\u003e38d22f3\u003c/code\u003e\u003c/a\u003e Preparing release 1.0.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shoobx/mypy-zope/commit/76762ec861b1b3cddc471f1e8949902f3f3264be\"\u003e\u003ccode\u003e76762ec\u003c/code\u003e\u003c/a\u003e Maintain changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shoobx/mypy-zope/commit/4971d98ab80db3362bd5864a92d385e8c5a43aec\"\u003e\u003ccode\u003e4971d98\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shoobx/mypy-zope/issues/134\"\u003e#134\u003c/a\u003e from Shoobx/dependabot/pip/mypy-gte-1.0.0-and-lt-1.20.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shoobx/mypy-zope/commit/47af89d2c709f9e478ddbd5590994eba0829fb34\"\u003e\u003ccode\u003e47af89d\u003c/code\u003e\u003c/a\u003e Update mypy requirement from \u0026lt;1.19.0,\u0026gt;=1.0.0 to \u0026gt;=1.0.0,\u0026lt;1.20.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shoobx/mypy-zope/commit/0c596ff804a1ece6a8d33c0abf1587a766e047c8\"\u003e\u003ccode\u003e0c596ff\u003c/code\u003e\u003c/a\u003e Maintain changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shoobx/mypy-zope/commit/dcaa27841defa865c474f585e8bb799a8242399f\"\u003e\u003ccode\u003edcaa278\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shoobx/mypy-zope/issues/132\"\u003e#132\u003c/a\u003e from Shoobx/dependabot/pip/mypy-gte-1.0.0-and-lt-1.19.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shoobx/mypy-zope/commit/8f7b6778df6e3dde48c082ec07182e50b9938c76\"\u003e\u003ccode\u003e8f7b677\u003c/code\u003e\u003c/a\u003e Update mypy requirement from \u0026lt;1.18.0,\u0026gt;=1.0.0 to \u0026gt;=1.0.0,\u0026lt;1.19.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shoobx/mypy-zope/commit/91b275b364cc90403b2a160695f32ca27bc06bb9\"\u003e\u003ccode\u003e91b275b\u003c/code\u003e\u003c/a\u003e Back to development: 1.0.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shoobx/mypy-zope/commit/8a3165b79643927ae8b03902baaf1651a2f5ca9c\"\u003e\u003ccode\u003e8a3165b\u003c/code\u003e\u003c/a\u003e Preparing release 1.0.13\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shoobx/mypy-zope/commit/421b21ff753291f3b62b4b3deef9bc4cb91b199e\"\u003e\u003ccode\u003e421b21f\u003c/code\u003e\u003c/a\u003e Maintain changelog\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Shoobx/mypy-zope/compare/1.0.12...1.0.14\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `alembic` from 1.18.1 to 1.18.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sqlalchemy/alembic/releases\"\u003ealembic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.18.3\u003c/h1\u003e\n\u003cp\u003eReleased: January 29, 2026\u003c/p\u003e\n\u003ch2\u003ebug\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[bug] [autogenerate]\u003c/strong\u003e Fixed regression in version 1.18.0 due to \u003ca href=\"https://redirect.github.com/sqlalchemy/alembic/issues/1771\"\u003e#1771\u003c/a\u003e where autogenerate\nwould raise \u003ccode\u003eNoReferencedTableError\u003c/code\u003e when a foreign key constraint\nreferenced a table that was not part of the initial table load, including\ntables filtered out by the\n\u003ccode\u003eEnvironmentContext.configure.include_name\u003c/code\u003e callable or tables\nin remote schemas that were not included in the initial reflection run.\u003c/p\u003e\n\u003cp\u003eThe change in \u003ca href=\"https://redirect.github.com/sqlalchemy/alembic/issues/1771\"\u003e#1771\u003c/a\u003e was a performance optimization that eliminated\nadditional reflection queries for tables that were only referenced by\nforeign keys but not explicitly included in the main reflection run.\nHowever, this optimization inadvertently removed the creation of\n\u003ccode\u003eTable\u003c/code\u003e objects for these referenced tables, causing autogenerate\nto fail when processing foreign key constraints that pointed to them.\u003c/p\u003e\n\u003cp\u003eThe fix creates placeholder \u003ccode\u003eTable\u003c/code\u003e objects for foreign key targets\nthat are not reflected, allowing the autogenerate comparison to proceed\nwithout error while maintaining the performance improvement from\n\u003ca href=\"https://redirect.github.com/sqlalchemy/alembic/issues/1771\"\u003e#1771\u003c/a\u003e. When multiple foreign keys reference different columns in\nthe same filtered table, the placeholder table accumulates all necessary\ncolumns. These placeholder tables may be visible when using the\n\u003ccode\u003eEnvironmentContext.configure.include_object\u003c/code\u003e callable to\ninspect \u003ccode\u003eForeignKeyConstraint\u003c/code\u003e objects; they will have the name,\nschema and basic column information for the relevant columns present.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://redirect.github.com/sqlalchemy/alembic/issues/1787\"\u003e#1787\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[bug] [general]\u003c/strong\u003e Fixed regression caused by \u003ca href=\"https://redirect.github.com/sqlalchemy/alembic/issues/1669\"\u003e#1669\u003c/a\u003e which requires SQLAlchemy objects\nto support generic type subscripting; for the older SQLAlchemy 1.4 series,\nthis requires version 1.4.23.  Changed the minimum requirements to require\nversion 1.4.23 rather than 1.4.0.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://redirect.github.com/sqlalchemy/alembic/issues/1788\"\u003e#1788\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.18.2\u003c/h1\u003e\n\u003cp\u003eReleased: January 28, 2026\u003c/p\u003e\n\u003ch2\u003eusecase\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e[usecase] [operations]\u003c/strong\u003e The \u003ccode\u003eprimary_key\u003c/code\u003e parameter on \u003ccode\u003eColumn\u003c/code\u003e is now honored when\n\u003ccode\u003eOperations.add_column()\u003c/code\u003e is used, and will emit the \u0026quot;PRIMARY KEY\u0026quot;\nkeyword inline within the ADD COLUMN directive.  This is strictly a syntax\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\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/sqlalchemy/alembic/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `boto3` from 1.38.36 to 1.42.41\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/60637f8fc25c9411abb7f430eb3c2466437d1704\"\u003e\u003ccode\u003e60637f8\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.41'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/662d4a34c5c6dea278de160e694e1e8055c590bf\"\u003e\u003ccode\u003e662d4a3\u003c/code\u003e\u003c/a\u003e Bumping version to 1.42.41\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/5dcc61b903fef7201710dab6ac14a8d3b0dbbc3d\"\u003e\u003ccode\u003e5dcc61b\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/15a78179d4ba9127aa5903edd9fe6265a45dc25f\"\u003e\u003ccode\u003e15a7817\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.40'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/6bea7925951176592700c630baaa3a35eaec1d6b\"\u003e\u003ccode\u003e6bea792\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.40' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/3f92d07e04146184a1769c89616ccb8d304e9fd3\"\u003e\u003ccode\u003e3f92d07\u003c/code\u003e\u003c/a\u003e Bumping version to 1.42.40\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/0069675fdee79041187d17d3d96cbe47daa992c9\"\u003e\u003ccode\u003e0069675\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/66d036066f907ffebf4f49c87cde3009ec270b87\"\u003e\u003ccode\u003e66d0360\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.31.0 to 4.32.1 (\u003ca href=\"https://redirect.github.com/boto/boto3/issues/4715\"\u003e#4715\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/fd93dbb656cec791e048992bc24d78850e672c59\"\u003e\u003ccode\u003efd93dbb\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.39'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/18836475f987e84d196a6ddd485ae1a3d876dd32\"\u003e\u003ccode\u003e1883647\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.39' into develop\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/boto/boto3/compare/1.38.36...1.42.41\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `botocore` from 1.38.36 to 1.42.41\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/104e8ef284991c77c516d1da7f9cf9917d6e63f2\"\u003e\u003ccode\u003e104e8ef\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.41'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/7436ba994fe0e5cc69f302be8e5efd4c8c9859ce\"\u003e\u003ccode\u003e7436ba9\u003c/code\u003e\u003c/a\u003e Bumping version to 1.42.41\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/1a0813ab227c0a0275b3b332b051a737ecec68fc\"\u003e\u003ccode\u003e1a0813a\u003c/code\u003e\u003c/a\u003e Update to latest models\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/12d57f623893fafc71889af397fd3df30b321318\"\u003e\u003ccode\u003e12d57f6\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.40'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/a7e48591d05e948cb7f126d7cc5a6a7ce9313859\"\u003e\u003ccode\u003ea7e4859\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.40' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/fa102f5401b0b251d5ba0431a69d1c18d2165c21\"\u003e\u003ccode\u003efa102f5\u003c/code\u003e\u003c/a\u003e Bumping version to 1.42.40\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/84898c56e81e251bd97373233550cdf3c83593b1\"\u003e\u003ccode\u003e84898c5\u003c/code\u003e\u003c/a\u003e Update endpoints model\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/14b6a17a426ad0f8e0abe2540dfd43a736b1c2eb\"\u003e\u003ccode\u003e14b6a17\u003c/code\u003e\u003c/a\u003e Update to latest models\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/bb59587528ecc5193b8af2ef6ead9503364bbe7a\"\u003e\u003ccode\u003ebb59587\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.31.0 to 4.32.0 (\u003ca href=\"https://redirect.github.com/boto/botocore/issues/3625\"\u003e#3625\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/26a688fcf87081fb56bd950f8feaef8d3a1abd06\"\u003e\u003ccode\u003e26a688f\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.39'\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/boto/botocore/compare/1.38.36...1.42.41\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `charset-normalizer` from 3.4.2 to 3.4.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jawah/charset_normalizer/releases\"\u003echarset-normalizer's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.4.4\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Ousret/charset_normalizer/compare/3.4.3...3.4.4\"\u003e3.4.4\u003c/a\u003e (2025-10-13)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBound \u003ccode\u003esetuptools\u003c/code\u003e to a specific constraint \u003ccode\u003esetuptools\u0026gt;=68,\u0026lt;=81\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRaised upper bound of mypyc for the optional pre-built extension to v1.18.2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esetuptools-scm\u003c/code\u003e as a build dependency.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnforced hashes in \u003ccode\u003edev-requirements.txt\u003c/code\u003e and created \u003ccode\u003eci-requirements.txt\u003c/code\u003e for security purposes.\u003c/li\u003e\n\u003cli\u003eAdditional pre-built wheels for riscv64, s390x, and armv7l architectures.\u003c/li\u003e\n\u003cli\u003eRestore \u003ccode\u003emultiple.intoto.jsonl\u003c/code\u003e in GitHub releases in addition to individual attestation file per wheel.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.4.3\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Ousret/charset_normalizer/compare/3.4.2...3.4.3\"\u003e3.4.3\u003c/a\u003e (2025-08-09)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003emypy(c) is no longer a required dependency at build time if \u003ccode\u003eCHARSET_NORMALIZER_USE_MYPYC\u003c/code\u003e isn't set to \u003ccode\u003e1\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/595\"\u003e#595\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/583\"\u003e#583\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eautomatically lower confidence on small bytes samples that are not Unicode in \u003ccode\u003edetect\u003c/code\u003e output legacy function. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/391\"\u003e#391\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCustom build backend to overcome inability to mark mypy as an optional dependency in the build phase.\u003c/li\u003e\n\u003cli\u003eSupport for Python 3.14\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esdist archive contained useless directories.\u003c/li\u003e\n\u003cli\u003eautomatically fallback on valid UTF-16 or UTF-32 even if the md says it's noisy. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/633\"\u003e#633\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSBOM are automatically published to the relevant GitHub release to comply with regulatory changes.\nEach published wheel comes with its SBOM. We choose CycloneDX as the format.\u003c/li\u003e\n\u003cli\u003ePrebuilt optimized wheel are no longer distributed by default for CPython 3.7 due to a change in cibuildwheel.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jawah/charset_normalizer/blob/master/CHANGELOG.md\"\u003echarset-normalizer's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Ousret/charset_normalizer/compare/3.4.2...3.4.4\"\u003e3.4.4\u003c/a\u003e (2025-10-13)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBound \u003ccode\u003esetuptools\u003c/code\u003e to a specific constraint \u003ccode\u003esetuptools\u0026gt;=68,\u0026lt;=81\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRaised upper bound of mypyc for the optional pre-built extension to v1.18.2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esetuptools-scm\u003c/code\u003e as a build dependency.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnforced hashes in \u003ccode\u003edev-requirements.txt\u003c/code\u003e and created \u003ccode\u003eci-requirements.txt\u003c/code\u003e for security purposes.\u003c/li\u003e\n\u003cli\u003eAdditional pre-built wheels for riscv64, s390x, and armv7l architectures.\u003c/li\u003e\n\u003cli\u003eRestore \u003ccode\u003e multiple.intoto.jsonl\u003c/code\u003e in GitHub releases in addition to individual attestation file per wheel.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Ousret/charset_normalizer/compare/3.4.2...3.4.3\"\u003e3.4.3\u003c/a\u003e (2025-08-09)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003emypy(c) is no longer a required dependency at build time if \u003ccode\u003eCHARSET_NORMALIZER_USE_MYPYC\u003c/code\u003e isn't set to \u003ccode\u003e1\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/595\"\u003e#595\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/583\"\u003e#583\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eautomatically lower confidence on small bytes samples that are not Unicode in \u003ccode\u003edetect\u003c/code\u003e output legacy function. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/391\"\u003e#391\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCustom build backend to overcome inability to mark mypy as an optional dependency in the build phase.\u003c/li\u003e\n\u003cli\u003eSupport for Python 3.14\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esdist archive contained useless directories.\u003c/li\u003e\n\u003cli\u003eautomatically fallback on valid UTF-16 or UTF-32 even if the md says it's noisy. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/633\"\u003e#633\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSBOM are automatically published to the relevant GitHub release to comply with regulatory changes.\nEach published wheel comes with its SBOM. We choose CycloneDX as the format.\u003c/li\u003e\n\u003cli\u003ePrebuilt optimized wheel are no longer distributed by default for CPython 3.7 due to a change in cibuildwheel.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/b30ffdcc2f11043c0d34e60fe66d3815cd49b32b\"\u003e\u003ccode\u003eb30ffdc\u003c/code\u003e\u003c/a\u003e :wrench: fix checksum step in cd.yml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/d3fbfcfad7dfe3c640886f1a6a6351da527f6634\"\u003e\u003ccode\u003ed3fbfcf\u003c/code\u003e\u003c/a\u003e :wrench: fix cd.yml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/dafbb95f8c00d3cc8b99158caa63006ffab98749\"\u003e\u003ccode\u003edafbb95\u003c/code\u003e\u003c/a\u003e Release 3.4.4 (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/658\"\u003e#658\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/1f18ffaa69d2c84fea7abedb8840197ba9c14562\"\u003e\u003ccode\u003e1f18ffa\u003c/code\u003e\u003c/a\u003e :arrow_up: raise mypy upper bound to 1.18.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/ef4ac69ad203891f24e26b2422ab3a08053044fa\"\u003e\u003ccode\u003eef4ac69\u003c/code\u003e\u003c/a\u003e Merge branch 'release-3.4.4' of github.com:jawah/charset_normalizer into rele...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/4b35dda053db5e2e60a247e80a116e4ef04f439b\"\u003e\u003ccode\u003e4b35dda\u003c/code\u003e\u003c/a\u003e :pencil: write changelog for 3.4.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/0ec6452f1a34cbc77a55b237c4118807b44c2a33\"\u003e\u003ccode\u003e0ec6452\u003c/code\u003e\u003c/a\u003e :wrench: update cd.yml workflow (add riscv64, s390x and armv7l)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/f341edec8a828dda394abfa011b1ded8b4b102e2\"\u003e\u003ccode\u003ef341ede\u003c/code\u003e\u003c/a\u003e :arrow_up: upgrade dependencies (dev, ci)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/a308841e660a4d61ea6c448e7b8bf97415ecdc4a\"\u003e\u003ccode\u003ea308841\u003c/code\u003e\u003c/a\u003e :pencil: write changelog for 3.4.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/9c906da611d5ca5ef076d6bf7f60e629f661d0b0\"\u003e\u003ccode\u003e9c906da\u003c/code\u003e\u003c/a\u003e :wrench: update cd.yml workflow (add riscv64, s390x and armv7l)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jawah/charset_normalizer/compare/3.4.2...3.4.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dill` from 0.4.0 to 0.4.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uqfoundation/dill/commit/a9d4d39c411296fb3608c4ffd142134559942d21\"\u003e\u003ccode\u003ea9d4d39\u003c/code\u003e\u003c/a\u003e tag: 0.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uqfoundation/dill/commit/54370bde90434f98100c646d4b78575b3385840f\"\u003e\u003ccode\u003e54370bd\u003c/code\u003e\u003c/a\u003e cleanup outdated docs (\u003ca href=\"https://redirect.github.com/uqfoundation/dill/issues/742\"\u003e#742\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uqfoundation/dill/commit/bae7c217fea05667e1e20ea29239878f9bab6930\"\u003e\u003ccode\u003ebae7c21\u003c/code\u003e\u003c/a\u003e fix pypy311 registered, update travis ci (\u003ca href=\"https://redirect.github.com/uqfoundation/dill/issues/741\"\u003e#741\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uqfoundation/dill/commit/7daa95d0a5caaeeb0bf8705ec339215ff90c1425\"\u003e\u003ccode\u003e7daa95d\u003c/code\u003e\u003c/a\u003e Bump urllib3 from 2.6.0 to 2.6.3 in /docs (\u003ca href=\"https://redirect.github.com/uqfoundation/dill/issues/739\"\u003e#739\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uqfoundation/dill/commit/5fbd3a77aa53205ea0b19dc343e69f5d8701e09e\"\u003e\u003ccode\u003e5fbd3a7\u003c/code\u003e\u003c/a\u003e sync with rtfd 15.10.0 (\u003ca href=\"https://redirect.github.com/uqfoundation/dill/issues/740\"\u003e#740\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uqfoundation/dill/commit/fdb4b720e34d539589180ccbb68ac6cd04d8c927\"\u003e\u003ccode\u003efdb4b72\u003c/code\u003e\u003c/a\u003e update copyright for 2026, urllib3 to 2.6.0 (\u003ca href=\"https://redirect.github.com/uqfoundation/dill/issues/738\"\u003e#738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uqfoundation/dill/commit/e8c4221ffe177c48e50a569c8a72e669f7bd1ac1\"\u003e\u003ccode\u003ee8c4221\u003c/code\u003e\u003c/a\u003e avoid numpy segfault for 3.15.0a3 (\u003ca href=\"https://redirect.github.com/uqfoundation/dill/issues/737\"\u003e#737\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uqfoundation/dill/commit/d948ecd748772f2812361982ec1496da0cd47b53\"\u003e\u003ccode\u003ed948ecd\u003c/code\u003e\u003c/a\u003e ensure valid class qualname in getsource (\u003ca href=\"https://redirect.github.com/uqfoundation/dill/issues/733\"\u003e#733\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uqfoundation/dill/commit/a843f9013fab9a2cccedf1cec32e39aad1a81cad\"\u003e\u003ccode\u003ea843f90\u003c/code\u003e\u003c/a\u003e sync with rtd 15.4.1 (\u003ca href=\"https://redirect.github.com/uqfoundation/dill/issues/731\"\u003e#731\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uqfoundation/dill/commit/08f613da299c61b7a3c6afc95c0d7a71ab63857b\"\u003e\u003ccode\u003e08f613d\u003c/code\u003e\u003c/a\u003e dict and weakref attribute are singletons in 3.15 (\u003ca href=\"https://redirect.github.com/uqfoundation/dill/issues/728\"\u003e#728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/uqfoundation/dill/compare/0.4.0...0.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `evalidate` from 2.0.5 to 2.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/yaroslaff/evalidate/releases\"\u003eevalidate's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.1.3 Is/IsNot\u003c/h2\u003e\n\u003cp\u003e2.1.3 \u003ccode\u003eIs\u003c/code\u003e and \u003ccode\u003eIsNot\u003c/code\u003e nodes are whitelisted by default\u003c/p\u003e\n\u003ch2\u003e2.1.1\u003c/h2\u003e\n\u003cp\u003eExpr.eval() accepts both local and global ctx (since 2.1.0)\u003c/p\u003e\n\u003cp\u003eTwo CLI utilities:\njg (json grep, fast small alternative to jq) added\ngenfakeproducts - simple utility to generate JSON lists for tests\u003c/p\u003e\n\u003cp\u003ein 2.1.1 - removed wrong dependency on \u0026quot;requests\u0026quot;\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/yaroslaff/evalidate/commit/411745abd02910f646f0fc215d235ae48fd027fc\"\u003e\u003ccode\u003e411745a\u003c/code\u003e\u003c/a\u003e Is/IsNot whitelisted\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yaroslaff/evalidate/commit/bc2606c7be297422be3a136d79b68cb2679cc4d1\"\u003e\u003ccode\u003ebc2606c\u003c/code\u003e\u003c/a\u003e [generate] extra\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yaroslaff/evalidate/commit/77bf1af5385a1dd436f0fc6ea6589fda1a5a2ad4\"\u003e\u003ccode\u003e77bf1af\u003c/code\u003e\u003c/a\u003e removed wrong requests dependency\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yaroslaff/evalidate/commit/f50a2954124cffa87f69c61e738d75b3fa3a0cec\"\u003e\u003ccode\u003ef50a295\u003c/code\u003e\u003c/a\u003e dependency added: requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yaroslaff/evalidate/commit/a264b9d23cf1d17813bb5cc0c61a35535eff3206\"\u003e\u003ccode\u003ea264b9d\u003c/code\u003e\u003c/a\u003e README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yaroslaff/evalidate/commit/52c0fe8cf097d63c5c288d3e1067ce047923e876\"\u003e\u003ccode\u003e52c0fe8\u003c/code\u003e\u003c/a\u003e Expr accepts ctx_globals/ctx_locals. jg and genfakeproducts CLI tools.\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/yaroslaff/evalidate/compare/v2.0.5...v2.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `greenlet` from 3.2.3 to 3.3.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-greenlet/greenlet/blob/master/CHANGES.rst\"\u003egreenlet's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.3.1 (2026-01-23)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003ePublish Windows ARM binary wheels, where available.\u003c/li\u003e\n\u003cli\u003eFix compilation for 3.14t on Windows.\u003c/li\u003e\n\u003cli\u003ePublish Windows 3.14t binary wheels for Intel...\n\n_Description has been truncated_","html_url":"https://github.com/tdesveaux/buildbot/pull/69","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/tdesveaux%2Fbuildbot/issues/69","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/69/packages"}},{"old_version":"1.31.2","new_version":"1.31.5","update_type":"patch","path":null,"pr_created_at":"2025-10-28T03:09:15.000Z","version_change":"1.31.2 → 1.31.5","issue":{"uuid":"3559578897","node_id":"PR_kwDOO-7yx86wCu4O","number":4,"state":"open","title":"Bump pg8000 from 1.31.2 to 1.31.5","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-10-28T03:09:15.000Z","updated_at":"2025-10-28T03:11:19.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"pg8000","old_version":"1.31.2","new_version":"1.31.5","repository_url":"https://github.com/tlocke/pg8000"}],"path":null,"ecosystem":"pip"},"body":"Bumps [pg8000](https://github.com/tlocke/pg8000) from 1.31.2 to 1.31.5.\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tlocke/pg8000/commits\"\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=pg8000\u0026package-manager=pip\u0026previous-version=1.31.2\u0026new-version=1.31.5)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/Aysher-Intelligence-Agency/Arellez/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/Aysher-Intelligence-Agency/Arellez/pull/4","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aysher-Intelligence-Agency%2FArellez/issues/4","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/4/packages"}},{"old_version":"1.16.5","new_version":"1.31.5","update_type":"minor","path":null,"pr_created_at":"2025-10-28T03:07:29.000Z","version_change":"1.16.5 → 1.31.5","issue":{"uuid":"3559573703","node_id":"PR_kwDOEUacns6wCtuA","number":122,"state":"open","title":"build(deps): bump pg8000 from 1.16.5 to 1.31.5","user":"dependabot[bot]","labels":["dependencies","python","stalled"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-10-28T03:07:29.000Z","updated_at":"2025-12-27T08:47:23.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"pg8000","old_version":"1.16.5","new_version":"1.31.5","repository_url":"https://github.com/tlocke/pg8000"}],"path":null,"ecosystem":"pip"},"body":"Bumps [pg8000](https://github.com/tlocke/pg8000) from 1.16.5 to 1.31.5.\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tlocke/pg8000/commits\"\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=pg8000\u0026package-manager=pip\u0026previous-version=1.16.5\u0026new-version=1.31.5)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/hixio-mh/buildbot/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/snitebobbie/buildbot/pull/122","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/snitebobbie%2Fbuildbot/issues/122","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/122/packages"}},{"old_version":"1.31.2","new_version":"1.31.5","update_type":"patch","path":"/backend","pr_created_at":"2025-10-28T03:02:52.000Z","version_change":"1.31.2 → 1.31.5","issue":{"uuid":"3559560002","node_id":"PR_kwDOOi7xOs6wCqpb","number":8,"state":"open","title":"chore(deps): bump pg8000 from 1.31.2 to 1.31.5 in /backend","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-10-28T03:02:52.000Z","updated_at":"2025-10-28T03:03:32.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"pg8000","old_version":"1.31.2","new_version":"1.31.5","repository_url":"https://github.com/tlocke/pg8000"}],"path":"/backend","ecosystem":"pip"},"body":"Bumps [pg8000](https://github.com/tlocke/pg8000) from 1.31.2 to 1.31.5.\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tlocke/pg8000/commits\"\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=pg8000\u0026package-manager=pip\u0026previous-version=1.31.2\u0026new-version=1.31.5)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/neurons-lab/bedrock-chat/network/alerts).\n\n\u003c/details\u003e\n\n---\n## EntelligenceAI PR Summary \n This PR updates the pg8000 PostgreSQL database adapter dependency to version 1.31.5.\n- Updated pg8000 from ^1.30.3 to ^1.31.5 in pyproject.toml\n- Updated Poetry lock file from version 1.8.4 to 2.2.1 with structural changes\n- Added 'groups' field categorizing dependencies as 'main', 'dev', or both\n- Changed minimum Python version requirement from 3.8 to 3.9 for pg8000\n- Updated lock-version from 2.0 to 2.1 \n\n","html_url":"https://github.com/neurons-lab/bedrock-chat/pull/8","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/neurons-lab%2Fbedrock-chat/issues/8","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/8/packages"}},{"old_version":"1.26.1","new_version":"1.31.5","update_type":"minor","path":null,"pr_created_at":"2025-10-28T03:01:53.000Z","version_change":"1.26.1 → 1.31.5","issue":{"uuid":"3559556908","node_id":"PR_kwDOJdMYR86wCp8f","number":179,"state":"open","title":"build(deps): bump the pip group across 1 directory with 14 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":4,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-10-28T03:01:53.000Z","updated_at":"2025-10-28T03:04:29.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"pip","update_count":14,"packages":[{"name":"cryptography","old_version":"3.4.7","new_version":"44.0.1","repository_url":"https://github.com/pyca/cryptography"},{"name":"future","old_version":"0.18.2","new_version":"1.0.0","repository_url":"https://github.com/PythonCharmers/python-future"},{"name":"idna","old_version":"2.10","new_version":"3.7","repository_url":"https://github.com/kjd/idna"},{"name":"twisted","old_version":"22.4.0","new_version":"24.7.0rc1","repository_url":"https://github.com/twisted/twisted"},{"name":"certifi","old_version":"2021.10.8","new_version":"2024.7.4","repository_url":"https://github.com/certifi/python-certifi"},{"name":"jinja2","old_version":"3.1.2","new_version":"3.1.6","repository_url":"https://github.com/pallets/jinja"},{"name":"mako","old_version":"1.2.0","new_version":"1.2.2","repository_url":"https://github.com/sqlalchemy/mako"},{"name":"pillow","old_version":"9.1.1","new_version":"10.3.0","repository_url":"https://github.com/python-pillow/Pillow"},{"name":"requests","old_version":"2.27.1","new_version":"2.32.4","repository_url":"https://github.com/psf/requests"},{"name":"sqlparse","old_version":"0.4.2","new_version":"0.5.0","repository_url":"https://github.com/andialbrecht/sqlparse"},{"name":"urllib3","old_version":"1.26.9","new_version":"2.5.0","repository_url":"https://github.com/urllib3/urllib3"},{"name":"werkzeug","old_version":"2.1.2","new_version":"3.0.6","repository_url":"https://github.com/pallets/werkzeug"},{"name":"zipp","old_version":"3.8.1","new_version":"3.19.1","repository_url":"https://github.com/jaraco/zipp"},{"name":"pg8000","old_version":"1.26.1","new_version":"1.31.5","repository_url":"https://github.com/tlocke/pg8000"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pip group with 14 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [cryptography](https://github.com/pyca/cryptography) | `3.4.7` | `44.0.1` |\n| [future](https://github.com/PythonCharmers/python-future) | `0.18.2` | `1.0.0` |\n| [idna](https://github.com/kjd/idna) | `2.10` | `3.7` |\n| [twisted](https://github.com/twisted/twisted) | `22.4.0` | `24.7.0rc1` |\n| [certifi](https://github.com/certifi/python-certifi) | `2021.10.8` | `2024.7.4` |\n| [jinja2](https://github.com/pallets/jinja) | `3.1.2` | `3.1.6` |\n| [mako](https://github.com/sqlalchemy/mako) | `1.2.0` | `1.2.2` |\n| [pillow](https://github.com/python-pillow/Pillow) | `9.1.1` | `10.3.0` |\n| [requests](https://github.com/psf/requests) | `2.27.1` | `2.32.4` |\n| [sqlparse](https://github.com/andialbrecht/sqlparse) | `0.4.2` | `0.5.0` |\n| [urllib3](https://github.com/urllib3/urllib3) | `1.26.9` | `2.5.0` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `2.1.2` | `3.0.6` |\n| [zipp](https://github.com/jaraco/zipp) | `3.8.1` | `3.19.1` |\n| [pg8000](https://github.com/tlocke/pg8000) | `1.26.1` | `1.31.5` |\n\n\nUpdates `cryptography` from 3.4.7 to 44.0.1\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\u003e44.0.1 - 2025-02-11\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.4.1.\n* We now build ``armv7l`` ``manylinux`` wheels and publish them to PyPI.\n* We now build ``manylinux_2_34`` wheels and publish them to PyPI.\n\u003cp\u003e.. _v44-0-0:\u003c/p\u003e\n\u003cp\u003e44.0.0 - 2024-11-27\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eBACKWARDS INCOMPATIBLE:\u003c/strong\u003e Dropped support for LibreSSL \u0026lt; 3.9.\u003c/li\u003e\n\u003cli\u003eDeprecated Python 3.7 support. Python 3.7 is no longer supported by the\nPython core team. Support for Python 3.7 will be removed in a future\n\u003ccode\u003ecryptography\u003c/code\u003e release.\u003c/li\u003e\n\u003cli\u003eUpdated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.4.0.\u003c/li\u003e\n\u003cli\u003emacOS wheels are now built against the macOS 10.13 SDK. Users on older\nversions of macOS should upgrade, or they will need to build\n\u003ccode\u003ecryptography\u003c/code\u003e themselves.\u003c/li\u003e\n\u003cli\u003eEnforce the :rfc:\u003ccode\u003e5280\u003c/code\u003e requirement that extended key usage extensions must\nnot be empty.\u003c/li\u003e\n\u003cli\u003eAdded support for timestamp extraction to the\n:class:\u003ccode\u003e~cryptography.fernet.MultiFernet\u003c/code\u003e class.\u003c/li\u003e\n\u003cli\u003eRelax the Authority Key Identifier requirements on root CA certificates\nduring X.509 verification to allow fields permitted by :rfc:\u003ccode\u003e5280\u003c/code\u003e but\nforbidden by the CA/Browser BRs.\u003c/li\u003e\n\u003cli\u003eAdded support for :class:\u003ccode\u003e~cryptography.hazmat.primitives.kdf.argon2.Argon2id\u003c/code\u003e\nwhen using OpenSSL 3.2.0+.\u003c/li\u003e\n\u003cli\u003eAdded support for the :class:\u003ccode\u003e~cryptography.x509.Admissions\u003c/code\u003e certificate extension.\u003c/li\u003e\n\u003cli\u003eAdded basic support for PKCS7 decryption (including S/MIME 3.2) via\n:func:\u003ccode\u003e~cryptography.hazmat.primitives.serialization.pkcs7.pkcs7_decrypt_der\u003c/code\u003e,\n:func:\u003ccode\u003e~cryptography.hazmat.primitives.serialization.pkcs7.pkcs7_decrypt_pem\u003c/code\u003e, and\n:func:\u003ccode\u003e~cryptography.hazmat.primitives.serialization.pkcs7.pkcs7_decrypt_smime\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _v43-0-3:\u003c/p\u003e\n\u003cp\u003e43.0.3 - 2024-10-18\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Fixed release metadata for ``cryptography-vectors``\n\u003cp\u003e.. _v43-0-2:\u003c/p\u003e\n\u003cp\u003e43.0.2 - 2024-10-18\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed compilation when using LibreSSL 4.0.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _v43-0-1:\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/adaaaed77db676bbaa9d171175db81dce056e2a7\"\u003e\u003ccode\u003eadaaaed\u003c/code\u003e\u003c/a\u003e Bump for 44.0.1 release (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/12441\"\u003e#12441\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/ccc61dabe38b86956bf218565cd4e82b918345a1\"\u003e\u003ccode\u003eccc61da\u003c/code\u003e\u003c/a\u003e [backport] test and build on armv7l (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/12420\"\u003e#12420\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/12431\"\u003e#12431\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/f299a48153650f2dd87716343f2daa7cd39a1f59\"\u003e\u003ccode\u003ef299a48\u003c/code\u003e\u003c/a\u003e remove deprecated call (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/12052\"\u003e#12052\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/439eb0594a9ffb7c9adedb2490998d83914d141e\"\u003e\u003ccode\u003e439eb05\u003c/code\u003e\u003c/a\u003e Bump version for 44.0.0 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/12051\"\u003e#12051\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/2c5ad4d8dcec1b8f833198bc2f3b4634c4fd9d78\"\u003e\u003ccode\u003e2c5ad4d\u003c/code\u003e\u003c/a\u003e chore(deps): bump maturin from 1.7.4 to 1.7.5 in /.github/requirements (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/12050\"\u003e#12050\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/d23968adddd79aa8508d7c1f985da09383b3808f\"\u003e\u003ccode\u003ed23968a\u003c/code\u003e\u003c/a\u003e chore(deps): bump libc from 0.2.165 to 0.2.166 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/12049\"\u003e#12049\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/133c0e02edf2f172318eb27d8f50525ed64c9ec3\"\u003e\u003ccode\u003e133c0e0\u003c/code\u003e\u003c/a\u003e Bump x509-limbo and/or wycheproof in CI (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/12047\"\u003e#12047\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/f2259d7aa0d134c839ebe298baa8b63de9ead804\"\u003e\u003ccode\u003ef2259d7\u003c/code\u003e\u003c/a\u003e Bump BoringSSL and/or OpenSSL in CI (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/12046\"\u003e#12046\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/e201c870b89fd2606d67230a97e50c3badb07907\"\u003e\u003ccode\u003ee201c87\u003c/code\u003e\u003c/a\u003e fixed metadata in changelog (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/12044\"\u003e#12044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/c6104cc3669585941dc1d2b9c6507621c53d242f\"\u003e\u003ccode\u003ec6104cc\u003c/code\u003e\u003c/a\u003e Prohibit Python 3.9.0, 3.9.1 -- they have a bug that causes errors (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/12045\"\u003e#12045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyca/cryptography/compare/3.4.7...44.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `future` from 0.18.2 to 1.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/PythonCharmers/python-future/releases\"\u003efuture's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.0.0\u003c/h2\u003e\n\u003cp\u003eThe new version number of 1.0.0 indicates that the python-future project, like\nPython 2, is now done.\u003c/p\u003e\n\u003cp\u003eThe most important change in this release is adding support for Python 3.12\n(ba1cc50 and a6222d2 and bcced95).\u003c/p\u003e\n\u003cp\u003eThis release also includes these fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSmall updates to the docs\u003c/li\u003e\n\u003cli\u003eAdd SECURITY.md describing security policy (0598d1b)\u003c/li\u003e\n\u003cli\u003eFix pasteurize: NameError: name 'unicode' is not defined (de68c10)\u003c/li\u003e\n\u003cli\u003eMove CI to GitHub Actions (8cd11e8)\u003c/li\u003e\n\u003cli\u003eAdd setuptools to requirements for building docs (0c347ff)\u003c/li\u003e\n\u003cli\u003eFix typos in docs (350e87a)\u003c/li\u003e\n\u003cli\u003eMake the fix_unpacking fixer more robust (de68c10)\u003c/li\u003e\n\u003cli\u003eSmall improvements to shell scripts according to shellcheck (6153844)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.18.3\u003c/h2\u003e\n\u003cp\u003eThis is a minor bug-fix release containing a number of fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eBackport fix for bpo-38804 (c91d70b)\u003c/li\u003e\n\u003cli\u003eFix bug in fix_print.py fixer (dffc579)\u003c/li\u003e\n\u003cli\u003eFix bug in fix_raise.py fixer (3401099)\u003c/li\u003e\n\u003cli\u003eFix newint bool in py3 (fe645ba)\u003c/li\u003e\n\u003cli\u003eFix bug in super() with metaclasses (6e27aac)\u003c/li\u003e\n\u003cli\u003edocs: fix simple typo, reqest -\u0026gt; request (974eb1f)\u003c/li\u003e\n\u003cli\u003eCorrect \u003cstrong\u003eeq\u003c/strong\u003e (c780bf5)\u003c/li\u003e\n\u003cli\u003ePass if lint fails (2abe00d)\u003c/li\u003e\n\u003cli\u003eUpdate docker image and parcel out to constant variable.  Add comment to update version constant (45cf382)\u003c/li\u003e\n\u003cli\u003efix order (f96a219)\u003c/li\u003e\n\u003cli\u003eAdd flake8 to image (046ff18)\u003c/li\u003e\n\u003cli\u003eMake lint.sh executable (58cc984)\u003c/li\u003e\n\u003cli\u003eAdd docker push to optimize CI (01e8440)\u003c/li\u003e\n\u003cli\u003eBuild System (42b3025)\u003c/li\u003e\n\u003cli\u003eAdd docs build status badge to README.md (3f40bd7)\u003c/li\u003e\n\u003cli\u003eUse same docs requirements in tox (18ecc5a)\u003c/li\u003e\n\u003cli\u003eAdd docs/requirements.txt (5f9893f)\u003c/li\u003e\n\u003cli\u003eAdd PY37_PLUS, PY38_PLUS, and PY39_PLUS (bee0247)\u003c/li\u003e\n\u003cli\u003efix 2.6 test, better comment (ddedcb9)\u003c/li\u003e\n\u003cli\u003efix 2.6 test (3f1ff7e)\u003c/li\u003e\n\u003cli\u003eremove nan test (4dbded1)\u003c/li\u003e\n\u003cli\u003einclude list test values (e3f1a12)\u003c/li\u003e\n\u003cli\u003efix other python2 test issues (c051026)\u003c/li\u003e\n\u003cli\u003efix missing subTest (f006cad)\u003c/li\u003e\n\u003cli\u003eimport from old imp library on older python versions (fc84fa8)\u003c/li\u003e\n\u003cli\u003ereplace fstrings with format for python 3.4,3.5 (4a687ea)\u003c/li\u003e\n\u003cli\u003eminor style/spelling fixes (8302d8c)\u003c/li\u003e\n\u003cli\u003eimprove cmp function, add unittest (0d95a40)\u003c/li\u003e\n\u003cli\u003ePin typing==3.7.4.1 for Python 3.3 compatiblity (1a48f1b)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/PythonCharmers/python-future/blob/master/docs/changelog.rst\"\u003efuture's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e.. _whats-old:\u003c/p\u003e\n\u003cp\u003eChanges in previous versions\u003c/p\u003e\n\u003chr /\u003e\n\u003cp\u003eChanges in the most recent major version are here: :ref:\u003ccode\u003ewhats-new\u003c/code\u003e.\u003c/p\u003e\n\u003ch1\u003eChanges in version 0.18.3 (2023-01-13)\u003c/h1\u003e\n\u003cp\u003eThis is a minor bug-fix release containing a number of fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eBackport fix for bpo-38804 (c91d70b)\u003c/li\u003e\n\u003cli\u003eFix bug in fix_print.py fixer (dffc579)\u003c/li\u003e\n\u003cli\u003eFix bug in fix_raise.py fixer (3401099)\u003c/li\u003e\n\u003cli\u003eFix newint bool in py3 (fe645ba)\u003c/li\u003e\n\u003cli\u003eFix bug in super() with metaclasses (6e27aac)\u003c/li\u003e\n\u003cli\u003edocs: fix simple typo, reqest -\u0026gt; request (974eb1f)\u003c/li\u003e\n\u003cli\u003eCorrect \u003cstrong\u003eeq\u003c/strong\u003e (c780bf5)\u003c/li\u003e\n\u003cli\u003ePass if lint fails (2abe00d)\u003c/li\u003e\n\u003cli\u003eUpdate docker image and parcel out to constant variable.  Add comment to update version constant (45cf382)\u003c/li\u003e\n\u003cli\u003efix order (f96a219)\u003c/li\u003e\n\u003cli\u003eAdd flake8 to image (046ff18)\u003c/li\u003e\n\u003cli\u003eMake lint.sh executable (58cc984)\u003c/li\u003e\n\u003cli\u003eAdd docker push to optimize CI (01e8440)\u003c/li\u003e\n\u003cli\u003eBuild System (42b3025)\u003c/li\u003e\n\u003cli\u003eAdd docs build status badge to README.md (3f40bd7)\u003c/li\u003e\n\u003cli\u003eUse same docs requirements in tox (18ecc5a)\u003c/li\u003e\n\u003cli\u003eAdd docs/requirements.txt (5f9893f)\u003c/li\u003e\n\u003cli\u003eAdd PY37_PLUS, PY38_PLUS, and PY39_PLUS (bee0247)\u003c/li\u003e\n\u003cli\u003efix 2.6 test, better comment (ddedcb9)\u003c/li\u003e\n\u003cli\u003efix 2.6 test (3f1ff7e)\u003c/li\u003e\n\u003cli\u003eremove nan test (4dbded1)\u003c/li\u003e\n\u003cli\u003einclude list test values (e3f1a12)\u003c/li\u003e\n\u003cli\u003efix other python2 test issues (c051026)\u003c/li\u003e\n\u003cli\u003efix missing subTest (f006cad)\u003c/li\u003e\n\u003cli\u003eimport from old imp library on older python versions (fc84fa8)\u003c/li\u003e\n\u003cli\u003ereplace fstrings with format for python 3.4,3.5 (4a687ea)\u003c/li\u003e\n\u003cli\u003eminor style/spelling fixes (8302d8c)\u003c/li\u003e\n\u003cli\u003eimprove cmp function, add unittest (0d95a40)\u003c/li\u003e\n\u003cli\u003ePin typing==3.7.4.1 for Python 3.3 compatiblity (1a48f1b)\u003c/li\u003e\n\u003cli\u003eFix various py26 unit test failures (9ca5a14)\u003c/li\u003e\n\u003cli\u003eAdd initial contributing guide with docs build instruction (e55f915)\u003c/li\u003e\n\u003cli\u003eAdd docs building to tox.ini (3ee9e7f)\u003c/li\u003e\n\u003cli\u003eSupport NumPy's specialized int types in builtins.round (b4b54f0)\u003c/li\u003e\n\u003cli\u003eAdded r\u0026quot;\u0026quot;\u0026quot; to the docstring to avoid warnings in python3 (5f94572)\u003c/li\u003e\n\u003cli\u003eAdd \u003cstrong\u003esubclasscheck\u003c/strong\u003e for past.types.basestring (c9bc0ff)\u003c/li\u003e\n\u003cli\u003eCorrect example in README (681e78c)\u003c/li\u003e\n\u003cli\u003eAdd simple documentation (6c6e3ae)\u003c/li\u003e\n\u003cli\u003eAdd pre-commit hooks (a9c6a37)\u003c/li\u003e\n\u003cli\u003eHandling of \u003cstrong\u003enext\u003c/strong\u003e and next by future.utils.get_next was reversed (52b0ff9)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PythonCharmers/python-future/commit/2bdbfa5664241fee622b23590abd3492f973afc9\"\u003e\u003ccode\u003e2bdbfa5\u003c/code\u003e\u003c/a\u003e Tidy up README\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PythonCharmers/python-future/commit/a7097f804cd83fe1fd6a50ab088ae1d4ab303246\"\u003e\u003ccode\u003ea7097f8\u003c/code\u003e\u003c/a\u003e Update docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PythonCharmers/python-future/commit/e32250e67423aaf4fbccd332be8a40fdcdba2711\"\u003e\u003ccode\u003ee32250e\u003c/code\u003e\u003c/a\u003e Update docs pointing to changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PythonCharmers/python-future/commit/dde60ad4c9857a11b9f54e8ae671aacde703e71a\"\u003e\u003ccode\u003edde60ad\u003c/code\u003e\u003c/a\u003e Move old \u0026quot;What's New\u0026quot; entries to the change log\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PythonCharmers/python-future/commit/b2ea4204fc269ede619526c7753c0fa6579d5d0d\"\u003e\u003ccode\u003eb2ea420\u003c/code\u003e\u003c/a\u003e Remove hacky logo from docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PythonCharmers/python-future/commit/a10a78bbd2921a4deaa423bdf5712acf9eb8d5a4\"\u003e\u003ccode\u003ea10a78b\u003c/code\u003e\u003c/a\u003e Update \u0026quot;What's New\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PythonCharmers/python-future/commit/9f8763032b4ac1dbe043db363feae26fe6d0bacc\"\u003e\u003ccode\u003e9f87630\u003c/code\u003e\u003c/a\u003e Update the FAQ entries on compatibility and contributing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PythonCharmers/python-future/commit/f4a1f0406b47e8ef91838fcff9d679ee6fe186d9\"\u003e\u003ccode\u003ef4a1f04\u003c/code\u003e\u003c/a\u003e Docs: replace http links with https\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PythonCharmers/python-future/commit/30c525e1aa6aa5a5a2b5d2ec4769feb00aa7a726\"\u003e\u003ccode\u003e30c525e\u003c/code\u003e\u003c/a\u003e Merge branch 'master' of \u003ca href=\"https://github.com/PythonCharmers/python-future\"\u003ehttps://github.com/PythonCharmers/python-future\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PythonCharmers/python-future/commit/70b36a8a514e45a2582589991be4a2c1fd1944b7\"\u003e\u003ccode\u003e70b36a8\u003c/code\u003e\u003c/a\u003e Disable Python 2.6 CI tests for now\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/PythonCharmers/python-future/compare/v0.18.2...v1.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `idna` from 2.10 to 3.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/kjd/idna/releases\"\u003eidna's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.7\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix issue where specially crafted inputs to encode() could take exceptionally long amount of time to process. [CVE-2024-3651]\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThanks to Guido Vranken for reporting the issue.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/kjd/idna/compare/v3.6...v3.7\"\u003ehttps://github.com/kjd/idna/compare/v3.6...v3.7\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/kjd/idna/blob/master/HISTORY.rst\"\u003eidna's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e3.7 (2024-04-11)\n++++++++++++++++\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix issue where specially crafted inputs to encode() could\ntake exceptionally long amount of time to process. [CVE-2024-3651]\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThanks to Guido Vranken for reporting the issue.\u003c/p\u003e\n\u003cp\u003e3.6 (2023-11-25)\n++++++++++++++++\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix regression to include tests in source distribution.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e3.5 (2023-11-24)\n++++++++++++++++\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate to Unicode 15.1.0\u003c/li\u003e\n\u003cli\u003eString codec name is now \u0026quot;idna2008\u0026quot; as overriding the system codec\n\u0026quot;idna\u0026quot; was not working.\u003c/li\u003e\n\u003cli\u003eFix typing error for codec encoding\u003c/li\u003e\n\u003cli\u003e\u0026quot;setup.cfg\u0026quot; has been added for this release due to some downstream\nlack of adherence to PEP 517. Should be removed in a future release\nso please prepare accordingly.\u003c/li\u003e\n\u003cli\u003eRemoved reliance on a symlink for the \u0026quot;idna-data\u0026quot; tool to comport\nwith PEP 517 and the Python Packaging User Guide for sdist archives.\u003c/li\u003e\n\u003cli\u003eAdded security reporting protocol for project\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThanks Jon Ribbens, Diogo Teles Sant'Anna, Wu Tingfeng for contributions\nto this release.\u003c/p\u003e\n\u003cp\u003e3.4 (2022-09-14)\n++++++++++++++++\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate to Unicode 15.0.0\u003c/li\u003e\n\u003cli\u003eMigrate to pyproject.toml for build information (PEP 621)\u003c/li\u003e\n\u003cli\u003eCorrect another instance where generic exception was raised instead of\nIDNAError for malformed input\u003c/li\u003e\n\u003cli\u003eSource distribution uses zeroized file ownership for improved\nreproducibility\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThanks to Seth Michael Larson for contributions to this release.\u003c/p\u003e\n\u003cp\u003e3.3 (2021-10-13)\n++++++++++++++++\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate to Unicode 14.0.0\u003c/li\u003e\n\u003cli\u003eUpdate to in-line type annotations\u003c/li\u003e\n\u003cli\u003eThrow IDNAError exception correctly for some malformed input\u003c/li\u003e\n\u003cli\u003eAdvertise support for Python 3.10\u003c/li\u003e\n\u003cli\u003eImprove testing regime on Github\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/1d365e17e10d72d0b7876316fc7b9ca0eebdd38d\"\u003e\u003ccode\u003e1d365e1\u003c/code\u003e\u003c/a\u003e Release v3.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/c1b3154939907fab67c5754346afaebe165ce8e6\"\u003e\u003ccode\u003ec1b3154\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/kjd/idna/issues/172\"\u003e#172\u003c/a\u003e from kjd/optimize-contextj\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/0394ec76ff022813e770ba1fd89658790ea35623\"\u003e\u003ccode\u003e0394ec7\u003c/code\u003e\u003c/a\u003e Merge branch 'master' into optimize-contextj\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/cd58a23173d2b0a40b95ee680baf3e59e8d33966\"\u003e\u003ccode\u003ecd58a23\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/kjd/idna/issues/152\"\u003e#152\u003c/a\u003e from elliotwutingfeng/dev\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/5beb28b9dd77912c0dd656d8b0fdba3eb80222e7\"\u003e\u003ccode\u003e5beb28b\u003c/code\u003e\u003c/a\u003e More efficient resolution of joiner contexts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/1b121483ed04d9576a1291758f537e1318cddc8b\"\u003e\u003ccode\u003e1b12148\u003c/code\u003e\u003c/a\u003e Update ossf/scorecard-action to v2.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/d516b874c3388047934938a500c7488d52c4e067\"\u003e\u003ccode\u003ed516b87\u003c/code\u003e\u003c/a\u003e Update Github actions/checkout to v4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/c095c75943413c75ebf8ac74179757031b7f80b7\"\u003e\u003ccode\u003ec095c75\u003c/code\u003e\u003c/a\u003e Merge branch 'master' into dev\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/60a0a4cb61ec6834d74306bd8a1fa46daac94c98\"\u003e\u003ccode\u003e60a0a4c\u003c/code\u003e\u003c/a\u003e Fix typo in GitHub Actions workflow key\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/5918a0ef8034379c2e409ae93ee11d24295bb201\"\u003e\u003ccode\u003e5918a0e\u003c/code\u003e\u003c/a\u003e Merge branch 'master' into dev\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/kjd/idna/compare/v2.10...v3.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `twisted` from 22.4.0 to 24.7.0rc1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/twisted/twisted/releases\"\u003etwisted's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eTwisted 24.7.0rc1 (2024-07-29)\u003c/h1\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003etwisted.protocols.ftp now supports the IPv6 extensions defined in RFC 2428. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/9645\"\u003e#9645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwisted.internet.defer.inlineCallbacks can now yield a coroutine. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/9972\"\u003e#9972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwisted.python._shellcomp.ZshArgumentsGenerator was updated for Python 3.13. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/12065\"\u003e#12065\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwisted.web.wsgi request environment now contains the peer port number as \u003ccode\u003eREMOTE_PORT\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/12096\"\u003e#12096\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwisted.internet.defer.Deferred.callback() and twisted.internet.defer.Deferred.addCallbacks() no longer use \u003ccode\u003eassert\u003c/code\u003e to check the type of the arguments. You should now use type checking to validate your code. These changes were done to reduce the CPU usage. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/12122\"\u003e#12122\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded two new methods, twisted.logger.Logger.failuresHandled and twisted.logger.Logger.failureHandler, which allow for more concise and convenient handling of exceptions when dispatching out to application code.  The former can arbitrarily customize failure handling at the call site, and the latter can be used for performance-sensitive cases where no additional information needs to be logged. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/12188\"\u003e#12188\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwisted.internet.defer.Deferred.addCallback now runs about 10% faster. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/12223\"\u003e#12223\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwisted.internet.defer.Deferred error handling is now faster, taking 40% less time to run. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/12227\"\u003e#12227\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBugfixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003etwisted.internet.ssl.Certificate.\u003cstrong\u003erepr\u003c/strong\u003e can now handle certificates without a common name (CN) in the certificate itself or the signing CA. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/5851\"\u003e#5851\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eType annotations have been added to twisted.conch.interfaces.IKnownHostEntry and its implementations, twisted.conch.client.knownhosts.PlainHost and twisted.conch.client.knownhosts.HashedHost, correcting a variety of type confusion issues throughout the conch client code. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/9713\"\u003e#9713\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwisted.python.failure.Failure once again utilizes the custom pickling logic it used to in the past. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/12112\"\u003e#12112\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwisted.conch.client.knownhosts.KnownHostsFile.verifyHostKey no longer logs an exception when automatically adding an IP address host key, which means the interactive \u003ccode\u003econch\u003c/code\u003e command-line no longer will either. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/12141\"\u003e#12141\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImproved Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eThe IRC server example found in the documentation was updated for readability. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/12097\"\u003e#12097\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove contextvars from list of optional dependencies. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/12128\"\u003e#12128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eThe documentation for installing Twisted was moved into a single page. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/12145\"\u003e#12145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eThe project's compatibility policy now clearly indicates that the GitHub Actions test matrix defines the supported platforms. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/12167\"\u003e#12167\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdated imap4client.py example, it no longer references Python 2. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/12252\"\u003e#12252\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDeprecations and Removals\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003etwisted.internet.defer.returnValue has been deprecated. You can replace it with the standard \u003ccode\u003ereturn\u003c/code\u003e statement. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/9930\"\u003e#9930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003etwisted-iocpsupport\u003c/code\u003e is no longer a hard dependency on Windows.\nThe IOCP support is now installed together with the other Windows soft\ndependencies via \u003ccode\u003etwisted[windows-platform]\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/11893\"\u003e#11893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwisted.python.deprecate helper function will now always strip whitespaces from the docstrings.\nThis is done to have the same behaviour as with Python 3.13. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/12063\"\u003e#12063\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwisted.conch.manhole.ManholeInterpreter.write, twisted.conch.manhole.ManholeInterpreter.addOutput, twisted.mail.imap4.IMAP4Server.sendUntaggedResponse \u003ccode\u003easync\u003c/code\u003e argument, deprecated since 18.9.0, has been removed. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/12130\"\u003e#12130\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwisted.web.soap was removed.\nThe SOAP support was already broken, for at least the last 4 years.\nThe SOAP support in Twisted has no active maintainer. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/12146\"\u003e#12146\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/twisted/twisted/blob/twisted-24.7.0rc1/NEWS.rst\"\u003etwisted's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eTwisted 24.7.0rc1 (2024-07-29)\u003c/h1\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003etwisted.protocols.ftp now supports the IPv6 extensions defined in RFC 2428. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/9645\"\u003e#9645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwisted.internet.defer.inlineCallbacks can now yield a coroutine. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/9972\"\u003e#9972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwisted.python._shellcomp.ZshArgumentsGenerator was updated for Python 3.13. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/12065\"\u003e#12065\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwisted.web.wsgi request environment now contains the peer port number as \u003ccode\u003eREMOTE_PORT\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/12096\"\u003e#12096\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwisted.internet.defer.Deferred.callback() and twisted.internet.defer.Deferred.addCallbacks() no longer use \u003ccode\u003eassert\u003c/code\u003e to check the type of the arguments. You should now use type checking to validate your code. These changes were done to reduce the CPU usage. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/12122\"\u003e#12122\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded two new methods, twisted.logger.Logger.failuresHandled and twisted.logger.Logger.failureHandler, which allow for more concise and convenient handling of exceptions when dispatching out to application code.  The former can arbitrarily customize failure handling at the call site, and the latter can be used for performance-sensitive cases where no additional information needs to be logged. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/12188\"\u003e#12188\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwisted.internet.defer.Deferred.addCallback now runs about 10% faster. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/12223\"\u003e#12223\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwisted.internet.defer.Deferred error handling is now faster, taking 40% less time to run. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/12227\"\u003e#12227\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBugfixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003etwisted.internet.ssl.Certificate.\u003cstrong\u003erepr\u003c/strong\u003e can now handle certificates without a common name (CN) in the certificate itself or the signing CA. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/5851\"\u003e#5851\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eType annotations have been added to twisted.conch.interfaces.IKnownHostEntry and its implementations, twisted.conch.client.knownhosts.PlainHost and twisted.conch.client.knownhosts.HashedHost, correcting a variety of type confusion issues throughout the conch client code. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/9713\"\u003e#9713\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwisted.python.failure.Failure once again utilizes the custom pickling logic it used to in the past. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/12112\"\u003e#12112\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwisted.conch.client.knownhosts.KnownHostsFile.verifyHostKey no longer logs an exception when automatically adding an IP address host key, which means the interactive \u003ccode\u003econch\u003c/code\u003e command-line no longer will either. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/12141\"\u003e#12141\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImproved Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eThe IRC server example found in the documentation was updated for readability. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/12097\"\u003e#12097\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove contextvars from list of optional dependencies. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/12128\"\u003e#12128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eThe documentation for installing Twisted was moved into a single page. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/12145\"\u003e#12145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eThe project's compatibility policy now clearly indicates that the GitHub Actions test matrix defines the supported platforms. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/12167\"\u003e#12167\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdated imap4client.py example, it no longer references Python 2. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/12252\"\u003e#12252\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDeprecations and Removals\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003etwisted.internet.defer.returnValue has been deprecated. You can replace it with the standard \u003ccode\u003ereturn\u003c/code\u003e statement. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/9930\"\u003e#9930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003etwisted-iocpsupport\u003c/code\u003e is no longer a hard dependency on Windows.\nThe IOCP support is now installed together with the other Windows soft\ndependencies via \u003ccode\u003etwisted[windows-platform]\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/11893\"\u003e#11893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwisted.python.deprecate helper function will now always strip whitespaces from the docstrings.\nThis is done to have the same behaviour as with Python 3.13. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/12063\"\u003e#12063\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwisted.conch.manhole.ManholeInterpreter.write, twisted.conch.manhole.ManholeInterpreter.addOutput, twisted.mail.imap4.IMAP4Server.sendUntaggedResponse \u003ccode\u003easync\u003c/code\u003e argument, deprecated since 18.9.0, has been removed. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/12130\"\u003e#12130\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwisted.web.soap was removed.\nThe SOAP support was already broken, for at least the last 4 years.\nThe SOAP support in Twisted has no active maintainer. (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/12146\"\u003e#12146\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/twisted/twisted/commit/6d157ca99cccf2479dfb7dcb7e9dd4d9b748fe59\"\u003e\u003ccode\u003e6d157ca\u003c/code\u003e\u003c/a\u003e tox -e towncrier\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/twisted/twisted/commit/046a164f89a0f08d3239ecebd750360f8914df33\"\u003e\u003ccode\u003e046a164\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/twisted/twisted/commit/4a930de12fb67e88fefcb8822104152f42b27abc\"\u003e\u003ccode\u003e4a930de\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/twisted/twisted/commit/83bfa2af23109a2feb915fd5379f497abe50b27c\"\u003e\u003ccode\u003e83bfa2a\u003c/code\u003e\u003c/a\u003e Merge branch 'trunk' into advisory-fix-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/twisted/twisted/commit/bbb59e62473f67b2bef81f0cd3b66db2856e97fc\"\u003e\u003ccode\u003ebbb59e6\u003c/code\u003e\u003c/a\u003e - bugfix news fragment added\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/twisted/twisted/commit/bf29cc5a75667e4a08869bb59343ed14786a7788\"\u003e\u003ccode\u003ebf29cc5\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/twisted/twisted/issues/12257\"\u003e#12257\u003c/a\u003e More HTTP server benchmarks (\u003ca href=\"https://redirect.github.com/twisted/twisted/issues/12258\"\u003e#12258\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/twisted/twisted/commit/c678ea77f853b9d7543e9fc4c764c4e050a882fa\"\u003e\u003ccode\u003ec678ea7\u003c/code\u003e\u003c/a\u003e Align the Tox config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/twisted/twisted/commit/b53f137543559067f8a08770eb013770137de978\"\u003e\u003ccode\u003eb53f137\u003c/code\u003e\u003c/a\u003e Fix the bugs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/twisted/twisted/commit/612b1540aab97872ce8dc012acfb8561080ebc2f\"\u003e\u003ccode\u003e612b154\u003c/code\u003e\u003c/a\u003e Show uncovered lines\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/twisted/twisted/commit/bf5fc20dbc1b55f88b6a9acfa8c63ba698c770df\"\u003e\u003ccode\u003ebf5fc20\u003c/code\u003e\u003c/a\u003e Don't rename so Codspeed is happy\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/twisted/twisted/compare/twisted-22.4.0...twisted-24.7.0rc1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `certifi` from 2021.10.8 to 2024.7.4\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/bd8153872e9c6fc98f4023df9c2deaffea2fa463\"\u003e\u003ccode\u003ebd81538\u003c/code\u003e\u003c/a\u003e 2024.07.04 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/295\"\u003e#295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/06a2cbf21f345563dde6c28b60e29d57e9b210b3\"\u003e\u003ccode\u003e06a2cbf\u003c/code\u003e\u003c/a\u003e Bump peter-evans/create-pull-request from 6.0.5 to 6.1.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/294\"\u003e#294\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/13bba02b72bac97c432c277158bc04b4d2a6bc23\"\u003e\u003ccode\u003e13bba02\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4.1.6 to 4.1.7 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/293\"\u003e#293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/e8abcd0e62b334c164b95d49fcabdc9ecbca0554\"\u003e\u003ccode\u003ee8abcd0\u003c/code\u003e\u003c/a\u003e Bump pypa/gh-action-pypi-publish from 1.8.14 to 1.9.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/292\"\u003e#292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/124f4adf171e15cd9a91a8b6e0325ecc97be8fe1\"\u003e\u003ccode\u003e124f4ad\u003c/code\u003e\u003c/a\u003e 2024.06.02 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/291\"\u003e#291\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/c2196ce5d6ee675b27755a19948480a7823e2c6a\"\u003e\u003ccode\u003ec2196ce\u003c/code\u003e\u003c/a\u003e --- (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/290\"\u003e#290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/fefdeec7588ff1c05214b85a552afcad5fdb51b2\"\u003e\u003ccode\u003efefdeec\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4.1.4 to 4.1.5 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/289\"\u003e#289\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/3c5fb1560b826a7f83f1f9750173ff766492c9cf\"\u003e\u003ccode\u003e3c5fb15\u003c/code\u003e\u003c/a\u003e Bump actions/download-artifact from 4.1.6 to 4.1.7 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/286\"\u003e#286\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/4a9569a3eb58db8548536fc16c5c5c7af946a5b1\"\u003e\u003ccode\u003e4a9569a\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4.1.2 to 4.1.4 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/287\"\u003e#287\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/1fc808626a895a916b1e4c2b63abae6c5eafdbe3\"\u003e\u003ccode\u003e1fc8086\u003c/code\u003e\u003c/a\u003e Bump peter-evans/create-pull-request from 6.0.4 to 6.0.5 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/288\"\u003e#288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/certifi/python-certifi/compare/2021.10.08...2024.07.04\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jinja2` from 3.1.2 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/jinja/releases\"\u003ejinja2'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 Jinja 3.1.6 security release, which fixes security issues 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/Jinja2/3.1.6/\"\u003ehttps://pypi.org/project/Jinja2/3.1.6/\u003c/a\u003e\nChanges: \u003ca href=\"https://jinja.palletsprojects.com/en/stable/changes/#version-3-1-6\"\u003ehttps://jinja.palletsprojects.com/en/stable/changes/#version-3-1-6\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003e|attr\u003c/code\u003e filter does not bypass the environment's attribute lookup, allowing the sandbox to apply its checks. \u003ca href=\"https://github.com/pallets/jinja/security/advisories/GHSA-cpwx-vrp4-4pq7\"\u003ehttps://github.com/pallets/jinja/security/advisories/GHSA-cpwx-vrp4-4pq7\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.5\u003c/h2\u003e\n\u003cp\u003eThis is the Jinja 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/Jinja2/3.1.5/\"\u003ehttps://pypi.org/project/Jinja2/3.1.5/\u003c/a\u003e\nChanges: \u003ca href=\"https://jinja.palletsprojects.com/changes/#version-3-1-5\"\u003ehttps://jinja.palletsprojects.com/changes/#version-3-1-5\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/jinja/milestone/16?closed=1\"\u003ehttps://github.com/pallets/jinja/milestone/16?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe sandboxed environment handles indirect calls to \u003ccode\u003estr.format\u003c/code\u003e, such as by passing a stored reference to a filter that calls its argument. \u003ca href=\"https://github.com/pallets/jinja/security/advisories/GHSA-q2x7-8rv6-6q7h\"\u003eGHSA-q2x7-8rv6-6q7h\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEscape template name before formatting it into error messages, to avoid issues with names that contain f-string syntax. \u003ca href=\"https://redirect.github.com/pallets/jinja/issues/1792\"\u003e#1792\u003c/a\u003e, \u003ca href=\"https://github.com/pallets/jinja/security/advisories/GHSA-gmj6-6f8f-6699\"\u003eGHSA-gmj6-6f8f-6699\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSandbox does not allow \u003ccode\u003eclear\u003c/code\u003e and \u003ccode\u003epop\u003c/code\u003e on known mutable sequence types. \u003ca href=\"https://redirect.github.com/pallets/jinja/issues/2032\"\u003e#2032\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCalling sync \u003ccode\u003erender\u003c/code\u003e for an async template uses \u003ccode\u003easyncio.run\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/jinja/issues/1952\"\u003e#1952\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid unclosed \u003ccode\u003eauto_aiter\u003c/code\u003e warnings. \u003ca href=\"https://redirect.github.com/pallets/jinja/issues/1960\"\u003e#1960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReturn an \u003ccode\u003eaclose\u003c/code\u003e-able \u003ccode\u003eAsyncGenerator\u003c/code\u003e from \u003ccode\u003eTemplate.generate_async\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/jinja/issues/1960\"\u003e#1960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid leaving \u003ccode\u003eroot_render_func()\u003c/code\u003e unclosed in \u003ccode\u003eTemplate.generate_async\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/jinja/issues/1960\"\u003e#1960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid leaving async generators unclosed in blocks, includes and extends. \u003ca href=\"https://redirect.github.com/pallets/jinja/issues/1960\"\u003e#1960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe runtime uses the correct \u003ccode\u003econcat\u003c/code\u003e function for the current environment when calling block references. \u003ca href=\"https://redirect.github.com/pallets/jinja/issues/1701\"\u003e#1701\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003e|unique\u003c/code\u003e async-aware, allowing it to be used after another async-aware filter. \u003ca href=\"https://redirect.github.com/pallets/jinja/issues/1781\"\u003e#1781\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e|int\u003c/code\u003e filter handles \u003ccode\u003eOverflowError\u003c/code\u003e from scientific notation. \u003ca href=\"https://redirect.github.com/pallets/jinja/issues/1921\"\u003e#1921\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake compiling deterministic for tuple unpacking in a \u003ccode\u003e{% set ... %}\u003c/code\u003e call. \u003ca href=\"https://redirect.github.com/pallets/jinja/issues/2021\"\u003e#2021\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix dunder protocol (\u003ccode\u003ecopy\u003c/code\u003e/\u003ccode\u003epickle\u003c/code\u003e/etc) interaction with \u003ccode\u003eUndefined\u003c/code\u003e objects. \u003ca href=\"https://redirect.github.com/pallets/jinja/issues/2025\"\u003e#2025\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003ecopy\u003c/code\u003e/\u003ccode\u003epickle\u003c/code\u003e support for the internal \u003ccode\u003emissing\u003c/code\u003e object. \u003ca href=\"https://redirect.github.com/pallets/jinja/issues/2027\"\u003e#2027\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eEnvironment.overlay(enable_async)\u003c/code\u003e is applied correctly. \u003ca href=\"https://redirect.github.com/pallets/jinja/issues/2061\"\u003e#2061\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe error message from \u003ccode\u003eFileSystemLoader\u003c/code\u003e includes the paths that were searched. \u003ca href=\"https://redirect.github.com/pallets/jinja/issues/1661\"\u003e#1661\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ePackageLoader\u003c/code\u003e shows a clearer error message when the package does not contain the templates directory. \u003ca href=\"https://redirect.github.com/pallets/jinja/issues/1705\"\u003e#1705\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove annotations for methods returning copies. \u003ca href=\"https://redirect.github.com/pallets/jinja/issues/1880\"\u003e#1880\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eurlize\u003c/code\u003e does not add \u003ccode\u003emailto:\u003c/code\u003e to values like \u003ccode\u003e@a@b\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/jinja/issues/1870\"\u003e#1870\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTests decorated with \u003ccode\u003e@pass_context\u003c/code\u003e can be used with the \u003ccode\u003e|select\u003c/code\u003e filter. \u003ca href=\"https://redirect.github.com/pallets/jinja/issues/1624\"\u003e#1624\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUsing \u003ccode\u003eset\u003c/code\u003e for multiple assignment (\u003ccode\u003ea, b = 1, 2\u003c/code\u003e) does not fail when the target is a namespace attribute. \u003ca href=\"https://redirect.github.com/pallets/jinja/issues/1413\"\u003e#1413\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUsing \u003ccode\u003eset\u003c/code\u003e in all branches of \u003ccode\u003e{% if %}{% elif %}{% else %}\u003c/code\u003e blocks does not cause the variable to be considered initially undefined. \u003ca href=\"https://redirect.github.com/pallets/jinja/issues/1253\"\u003e#1253\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.4\u003c/h2\u003e\n\u003cp\u003eThis is the Jinja 3.1.4 security release, which fixes security issues and bugs but does not otherwise change behavior and should not result in breaking changes.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/Jinja2/3.1.4/\"\u003ehttps://pypi.org/project/Jinja2/3.1.4/\u003c/a\u003e\nChanges: \u003ca href=\"https://jinja.palletsprojects.com/en/3.1.x/changes/#version-3-1-4\"\u003ehttps://jinja.palletsprojects.com/en/3.1.x/changes/#version-3-1-4\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003exmlattr\u003c/code\u003e filter does not allow keys with \u003ccode\u003e/\u003c/code\u003e solidus, \u003ccode\u003e\u0026gt;\u003c/code\u003e greater-than sign, or \u003ccode\u003e=\u003c/code\u003e equals sign, in addition to disallowing spaces. Regardless of any validation done by Jinja, user input should never be used as keys to this filter, or must be separately validated first. GHSA-h75v-3vvj-5mfj\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.3\u003c/h2\u003e\n\u003cp\u003eThis is a fix release for the 3.1.x feature branch.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix for \u003ca href=\"https://github.com/pallets/jinja/security/advisories/GHSA-h5c8-rqwp-cp95\"\u003eGHSA-h5c8-rqwp-cp95\u003c/a\u003e. You are affected if you are using \u003ccode\u003exmlattr\u003c/code\u003e and passing user input as attribute keys.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/jinja/blob/main/CHANGES.rst\"\u003ejinja2'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 2025-03-05\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003e|attr\u003c/code\u003e filter does not bypass the environment's attribute lookup,\nallowing the sandbox to apply its checks. :ghsa:\u003ccode\u003ecpwx-vrp4-4pq7\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.1.5\u003c/h2\u003e\n\u003cp\u003eReleased 2024-12-21\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe sandboxed environment handles indirect calls to \u003ccode\u003estr.format\u003c/code\u003e, such as\nby passing a stored reference to a filter that calls its argument.\n:ghsa:\u003ccode\u003eq2x7-8rv6-6q7h\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eEscape template name before formatting it into error messages, to avoid\nissues with names that contain f-string syntax.\n:issue:\u003ccode\u003e1792\u003c/code\u003e, :ghsa:\u003ccode\u003egmj6-6f8f-6699\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eSandbox does not allow \u003ccode\u003eclear\u003c/code\u003e and \u003ccode\u003epop\u003c/code\u003e on known mutable sequence\ntypes. :issue:\u003ccode\u003e2032\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eCalling sync \u003ccode\u003erender\u003c/code\u003e for an async template uses \u003ccode\u003easyncio.run\u003c/code\u003e.\n:pr:\u003ccode\u003e1952\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAvoid unclosed \u003ccode\u003eauto_aiter\u003c/code\u003e warnings. :pr:\u003ccode\u003e1960\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eReturn an \u003ccode\u003eaclose\u003c/code\u003e-able \u003ccode\u003eAsyncGenerator\u003c/code\u003e from\n\u003ccode\u003eTemplate.generate_async\u003c/code\u003e. :pr:\u003ccode\u003e1960\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAvoid leaving \u003ccode\u003eroot_render_func()\u003c/code\u003e unclosed in\n\u003ccode\u003eTemplate.generate_async\u003c/code\u003e. :pr:\u003ccode\u003e1960\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAvoid leaving async generators unclosed in blocks, includes and extends.\n:pr:\u003ccode\u003e1960\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe runtime uses the correct \u003ccode\u003econcat\u003c/code\u003e function for the current environment\nwhen calling block references. :issue:\u003ccode\u003e1701\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003e|unique\u003c/code\u003e async-aware, allowing it to be used after another\nasync-aware filter. :issue:\u003ccode\u003e1781\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e|int\u003c/code\u003e filter handles \u003ccode\u003eOverflowError\u003c/code\u003e from scientific notation.\n:issue:\u003ccode\u003e1921\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eMake compiling deterministic for tuple unpacking in a \u003ccode\u003e{% set ... %}\u003c/code\u003e\ncall. :issue:\u003ccode\u003e2021\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix dunder protocol (\u003ccode\u003ecopy\u003c/code\u003e/\u003ccode\u003epickle\u003c/code\u003e/etc) interaction with \u003ccode\u003eUndefined\u003c/code\u003e\nobjects. :issue:\u003ccode\u003e2025\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003ecopy\u003c/code\u003e/\u003ccode\u003epickle\u003c/code\u003e support for the internal \u003ccode\u003emissing\u003c/code\u003e object.\n:issue:\u003ccode\u003e2027\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eEnvironment.overlay(enable_async)\u003c/code\u003e is applied correctly. :pr:\u003ccode\u003e2061\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe error message from \u003ccode\u003eFileSystemLoader\u003c/code\u003e includes the paths that were\nsearched. :issue:\u003ccode\u003e1661\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ePackageLoader\u003c/code\u003e shows a clearer error message when the package does not\ncontain the templates directory. :issue:\u003ccode\u003e1705\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eImprove annotations for methods returning copies. :pr:\u003ccode\u003e1880\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eurlize\u003c/code\u003e does not add \u003ccode\u003emailto:\u003c/code\u003e to values like \u003ccode\u003e@a@b\u003c/code\u003e. :pr:\u003ccode\u003e1870\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/jinja/commit/15206881c006c79667fe5154fe80c01c65410679\"\u003e\u003ccode\u003e1520688\u003c/code\u003e\u003c/a\u003e release version 3.1.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/jinja/commit/90457bbf33b8662926ae65cdde4c4c32e756e403\"\u003e\u003ccode\u003e90457bb\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/jinja/commit/065334d1ee5b7210e1a0a93c37238c86858f2af7\"\u003e\u003ccode\u003e065334d\u003c/code\u003e\u003c/a\u003e attr filter uses env.getattr\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/jinja/commit/033c20015c7ca899ab52eb921bb0f08e6d3dd145\"\u003e\u003ccode\u003e033c200\u003c/code\u003e\u003c/a\u003e start version 3.1.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/jinja/commit/bc68d4efa99c5f77334f0e519628558059ae8c35\"\u003e\u003ccode\u003ebc68d4e\u003c/code\u003e\u003c/a\u003e use global contributing guide (\u003ca href=\"https://redirect.github.com/pallets/jinja/issues/2070\"\u003e#2070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/jinja/commit/247de5e0c5062a792eb378e50e13e692885ee486\"\u003e\u003ccode\u003e247de5e\u003c/code\u003e\u003c/a\u003e use global contributing guide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/jinja/commit/ab8218c7a1b66b62e0ad6b941bd514e3a64a358f\"\u003e\u003ccode\u003eab8218c\u003c/code\u003e\u003c/a\u003e use project advisory link instead of global\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/jinja/commit/b4ffc8ff299dfd360064bea4cd2f862364601ad2\"\u003e\u003ccode\u003eb4ffc8f\u003c/code\u003e\u003c/a\u003e release version 3.1.5 (\u003ca href=\"https://redirect.github.com/pallets/jinja/issues/2066\"\u003e#2066\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/jinja/commit/877f6e51be8e1765b06d911cfaa9033775f051d1\"\u003e\u003ccode\u003e877f6e5\u003c/code\u003e\u003c/a\u003e release version 3.1.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/jinja/commit/8d588592653b052f957b720e1fc93196e06f207f\"\u003e\u003ccode\u003e8d58859\u003c/code\u003e\u003c/a\u003e remove test pypi\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/jinja/compare/3.1.2...3.1.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mako` from 1.2.0 to 1.2.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sqlalchemy/mako/releases\"\u003emako's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.2.2\u003c/h1\u003e\n\u003cp\u003eReleased: Mon Aug 29 2022\u003c/p\u003e\n\u003ch2\u003ebug\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[bug] [lexer]\u003c/strong\u003e Fixed issue in lexer where the regexp used to match tags would not\ncorrectly interpret quoted sections individually. While this parsing issue\nstill produced the same expected tag structure later on, the mis-handling\nof quoted sections was also subject to a regexp crash if a tag had a large\nnumber of quotes within its quoted sections.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://redirect.github.com/sqlalchemy/mako/issues/366\"\u003e#366\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.2.1\u003c/h1\u003e\n\u003cp\u003eReleased: Thu Jun 30 2022\u003c/p\u003e\n\u003ch2\u003ebug\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[bug] [tests]\u003c/strong\u003e Various fixes to the test suite in the area of exception message rendering\nto accommodate for variability in Python versions as well as Pygments.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://redirect.github.com/sqlalchemy/mako/issues/360\"\u003e#360\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003emisc\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[performance]\u003c/strong\u003e Optimized some codepaths within the lexer/Python code generation process,\nimproving performance for generation of templates prior to their being\ncached. Pull request courtesy Takuto Ikuta.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://redirect.github.com/sqlalchemy/mako/issues/361\"\u003e#361\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sqlalchemy/mako/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pillow` from 9.1.1 to 10.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-pillow/Pillow/releases\"\u003epillow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e10.3.0\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://pillow.readthedocs.io/en/stable/releasenotes/10.3.0.html\"\u003ehttps://pillow.readthedocs.io/en/stable/releasenotes/10.3.0.html\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate eval(), replacing it with lambda_eval() and unsafe_eval() \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7927\"\u003e#7927\u003c/a\u003e [\u003ca href=\"https://github.com/hugovk\"\u003e\u003ccode\u003e@​hugovk\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eDeprecate ImageCms constants and versions() function \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7702\"\u003e#7702\u003c/a\u003e [\u003ca href=\"https://github.com/nulano\"\u003e\u003ccode\u003e@​nulano\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2024-28219: Use strncpy to avoid buffer overflow \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7928\"\u003e#7928\u003c/a\u003e [\u003ca href=\"https://github.com/hugovk\"\u003e\u003ccode\u003e@​hugovk\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003efunctools.lru_cache\u003c/code\u003e for \u003ccode\u003ehopper()\u003c/code\u003e \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7912\"\u003e#7912\u003c/a\u003e [\u003ca href=\"https://github.com/hugovk\"\u003e\u003ccode\u003e@​hugovk\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eRaise ValueError if seeking to greater than offset-sized integer in TIFF \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7883\"\u003e#7883\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eImprove speed of loading QOI images \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7925\"\u003e#7925\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdded RGB to I;16N conversion \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7920\"\u003e#7920\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdd --report argument to \u003cstrong\u003emain\u003c/strong\u003e.py to omit supported formats \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7818\"\u003e#7818\u003c/a\u003e [\u003ca href=\"https://github.com/nulano\"\u003e\u003ccode\u003e@​nulano\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdded RGB to I;16, I;16L and I;16B conversion \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7918\"\u003e#7918\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eFix editable installation with custom build backend and configuration options \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7658\"\u003e#7658\u003c/a\u003e [\u003ca href=\"https://github.com/nulano\"\u003e\u003ccode\u003e@​nulano\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eFix putdata() for I;16N on big-endian \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7209\"\u003e#7209\u003c/a\u003e [\u003ca href=\"https://github.com/Yay295\"\u003e\u003ccode\u003e@​Yay295\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eDetermine MPO size from markers, not EXIF data \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7884\"\u003e#7884\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eImproved conversion from RGB to RGBa, LA and La \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7888\"\u003e#7888\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eSupport FITS images with GZIP_1 compression \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7894\"\u003e#7894\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUse I;16 mode for 9-bit JPEG 2000 images \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7900\"\u003e#7900\u003c/a\u003e [\u003ca href=\"https://github.com/scaramallion\"\u003e\u003ccode\u003e@​scaramallion\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eRaise ValueError if kmeans is negative \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7891\"\u003e#7891\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eRemove TIFF tag OSUBFILETYPE when saving using libtiff \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7893\"\u003e#7893\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eRaise ValueError for negative values when loading P1-P3 PPM images \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7882\"\u003e#7882\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdded reading of JPEG2000 palettes \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7870\"\u003e#7870\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdded alpha_quality argument when saving WebP images \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7872\"\u003e#7872\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eFixed joined corners for ImageDraw rounded_rectangle() non-integer dimensions \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7881\"\u003e#7881\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eRemoved Python and NumPy pinning on Cygwin \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7880\"\u003e#7880\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate UnidentifiedImageError and \u003cstrong\u003eversion\u003c/strong\u003e imports \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7644\"\u003e#7644\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eStop reading EPS image at EOF marker \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7753\"\u003e#7753\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003ePSD layer co-ordinates may be negative \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7706\"\u003e#7706\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUse subprocess with CREATE_NO_WINDOW flag in ImageShow WindowsViewer \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7791\"\u003e#7791\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eWhen saving GIF frame that restores to background color, do not fill identical pixels \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7788\"\u003e#7788\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eFixed reading PNG iCCP compression method \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7823\"\u003e#7823\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAllow writing IFDRational to UNDEFINED tag \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7840\"\u003e#7840\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eFix logged tag name when loading Exif data \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7842\"\u003e#7842\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUse maximum frame size in IHDR chunk when saving APNG images \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7821\"\u003e#7821\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003ePrevent opening P TGA images without a palette \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7797\"\u003e#7797\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUse palette when loading ICO images \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7798\"\u003e#7798\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUse consistent arguments for load_read and load_seek \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7713\"\u003e#7713\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eTurn off nullability warnings for macOS SDK \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7827\"\u003e#7827\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eFix shift-sign issue in Convert.c \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7838\"\u003e#7838\u003c/a\u003e [\u003ca href=\"https://github.com/r-barnes\"\u003e\u003ccode\u003e@​r-barnes\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003ewinbuild: Refactor dependency versions into constants \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7843\"\u003e#7843\u003c/a\u003e [\u003ca href=\"https://github.com/hugovk\"\u003e\u003ccode\u003e@​hugovk\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eBuild macOS arm64 wheels natively \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7852\"\u003e#7852\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eFixed typo \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7855\"\u003e#7855\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eOpen 16-bit grayscale PNGs as I;16 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7849\"\u003e#7849\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eHandle truncated chunks at the end of PNG images \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7709\"\u003e#7709\u003c/a\u003e [\u003ca href=\"https://github.com/lajiyuan\"\u003e\u003ccode\u003e@​lajiyuan\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eMatch mask size to pasted image size in GifImagePlugin \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7779\"\u003e#7779\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst\"\u003epillow's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e10.3.0 (2024-04-01)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eCVE-2024-28219: Use \u003ccode\u003estrncpy\u003c/code\u003e to avoid buffer overflow \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7928\"\u003e#7928\u003c/a\u003e\n[radarhere, hugovk]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDeprecate \u003ccode\u003eeval()\u003c/code\u003e, replacing it with \u003ccode\u003elambda_eval()\u003c/code\u003e and \u003ccode\u003eunsafe_eval()\u003c/code\u003e \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7927\"\u003e#7927\u003c/a\u003e\n[radarhere, hugovk]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRaise \u003ccode\u003eValueError\u003c/code\u003e if seeking to greater than offset-sized integer in TIFF \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7883\"\u003e#7883\u003c/a\u003e\n[radarhere]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd \u003ccode\u003e--report\u003c/code\u003e argument to \u003ccode\u003e__main__.py\u003c/code\u003e to omit supported formats \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7818\"\u003e#7818\u003c/a\u003e\n[nulano, radarhere, hugovk]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded RGB to I;16, I;16L, I;16B and I;16N conversion \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7918\"\u003e#7918\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7920\"\u003e#7920\u003c/a\u003e\n[radarhere]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix editable installation with custom build backend and configuration options \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7658\"\u003e#7658\u003c/a\u003e\n[nulano, radarhere]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix putdata() for I;16N on big-endian \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7209\"\u003e#7209\u003c/a\u003e\n[Yay295, hugovk, radarhere]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDetermine MPO size from markers, not EXIF data \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7884\"\u003e#7884\u003c/a\u003e\n[radarhere]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImproved conversion from RGB to RGBa, LA and La \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7888\"\u003e#7888\u003c/a\u003e\n[radarhere]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport FITS images with GZIP_1 compression \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7894\"\u003e#7894\u003c/a\u003e\n[radarhere]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUse I;16 mode for 9-bit JPEG 2000 images \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7900\"\u003e#7900\u003c/a\u003e\n[scaramallion, radarhere]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRaise ValueError if kmeans is negative \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7891\"\u003e#7891\u003c/a\u003e\n[radarhere]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove TIFF tag OSUBFILETYPE when saving using libtiff \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7893\"\u003e#7893\u003c/a\u003e\n[radarhere]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRaise ValueError for negative values when loading P1-P3 PPM images \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7882\"\u003e#7882\u003c/a\u003e\n[radarhere]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded reading of JPEG2000 palettes \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7870\"\u003e#7870\u003c/a\u003e\n[radarhere]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded alpha_quality argument when saving WebP images \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7872\"\u003e#7872\u003c/a\u003e\n[radarhere]\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/5c89d88eee199ba53f64581ea39b6a1bc52feb1a\"\u003e\u003ccode\u003e5c89d88\u003c/code\u003e\u003c/a\u003e 10.3.0 version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/63cbfcfdea2d163ec93bae8d283fcfe4b73b5dc7\"\u003e\u003ccode\u003e63cbfcf\u003c/code\u003e\u003c/a\u003e Update CHANGES.rst [ci skip]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/2776126aa9af322b416eaca247f4f8ebefd08128\"\u003e\u003ccode\u003e2776126\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7928\"\u003e#7928\u003c/a\u003e from python-pillow/lcms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/aeb51cbb169eb3285818ba1390ddf2771d897e6e\"\u003e\u003ccode\u003eaeb51cb\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into lcms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/5beb0b66648db8b542bb5260eed79b25e33d643b\"\u003e\u003ccode\u003e5beb0b6\u003c/code\u003e\u003c/a\u003e Update CHANGES.rst [ci skip]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/cac6ffa7b399ea79b6239984d1307056a0b19af2\"\u003e\u003ccode\u003ecac6ffa\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/7927\"\u003e#7927\u003c/a\u003e from python-pillow/imagemath\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/f5eeeacf7539eaa0d93a677d7666bc7c142c8d1c\"\u003e\u003ccode\u003ef5eeeac\u003c/code\u003e\u003c/a\u003e Name as 'options' in lambda_eval and unsafe_eval, but '_dict' in deprecated eval\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/facf3af93dabcbdd8cdbda8c3b50eefafa3bb04c\"\u003e\u003ccode\u003efacf3af\u003c/code\u003e\u003c/a\u003e Added release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/2a93aba5cfcf6e241ab4f9392c13e3b74032c061\"\u003e\u003ccode\u003e2a93aba\u003c/code\u003e\u003c/a\u003e Use strncpy to avoid buffer overflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/a670597bc30e9d489656fc9d807170b8f3d7ca57\"\u003e\u003ccode\u003ea670597\u003c/code\u003e\u003c/a\u003e Update CHANGES.rst [ci skip]\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-pillow/Pillow/compare/9.1.1...10.3.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.27.1 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\u003ch2\u003ev2.32.2\u003c/h2\u003e\n\u003ch2\u003e2.32.2 (2024-05-21)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eTo provide a more stable migration for custom HTTPAdapters impacted\nby the CVE changes in 2.32.0, we've renamed \u003ccode\u003e_get_connection\u003c/code\u003e to\na new public API, \u003ccode\u003eget_connection_with_tls_context\u003c/code\u003e. Existing custom\nHTTPAdapters will need to migrate their code to use this new API.\n\u003ccode\u003eget_connection\u003c/code\u003e is considered deprecated in all versions of Requests\u0026gt;=2.32.0.\u003c/p\u003e\n\u003cp\u003eA minimal (2-line) example has been provided in the linked PR to ease\nmigration, but we strongly urge users to evaluate if their custom adapter\nis subject to the same issue described in CVE-2024-35195. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6710\"\u003e#6710\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.32.1\u003c/h2\u003e\n\u003ch2\u003e2.32.1 (2024-05-20)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd missing test certs to the sdist distributed on PyPI.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.32.0\u003c/h2\u003e\n\u003cp\u003e2.32.0 (2024-05-20)\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/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/...\n\n_Description has been truncated_\n\u003c!-- ELLIPSIS_HIDDEN --\u003e\n\n----\n\n\u003e [!IMPORTANT]\n\u003e Bump 14 dependencies across multiple requirements files to address security vulnerabilities, improve performance, and add new features.\n\u003e \n\u003e   - **Dependencies Updated**:\n\u003e     - `cryptography` from 3.4.7 to 44.0.1\n\u003e     - `future` from 0.18.2 to 1.0.0\n\u003e     - `idna` from 2.10 to 3.7\n\u003e     - `twisted` from 22.4.0 to 24.7.0rc1\n\u003e     - `certifi` from 2021.10.8 to 2024.7.4\n\u003e     - `jinja2` from 3.1.2 to 3.1.6\n\u003e     - `mako` from 1.2.0 to 1.2.2\n\u003e     - `pillow` from 9.1.1 to 10.3.0\n\u003e     - `requests` from 2.27.1 to 2.32.4\n\u003e     - `sqlparse` from 0.4.2 to 0.5.0\n\u003e     - `urllib3` from 1.26.9 to 2.5.0\n\u003e     - `werkzeug` from 2.1.2 to 3.0.6\n\u003e     - `zipp` from 3.8.1 to 3.19.1\n\u003e     - `pg8000` from 1.26.1 to 1.31.5\n\u003e   - **Files Affected**:\n\u003e     - `requirements-ci.txt`\n\u003e     - `requirements-cidb.txt`\n\u003e     - `requirements-ciworker.txt`\n\u003e     - `requirements-master-docker-extras.txt`\n\u003e     - `requirements-minimal.txt`\n\u003e \n\u003e \u003csup\u003eThis description was created by \u003c/sup\u003e[\u003cimg alt=\"Ellipsis\" src=\"https://img.shields.io/badge/Ellipsis-blue?color=175173\"\u003e](https://www.ellipsis.dev?ref=q1blue%2Fbuildbot\u0026utm_source=github\u0026utm_medium=referral)\u003csup\u003e for 2b63db2a003dae4399961caa8a1f1ab74f044d37. You can [customize](https://app.ellipsis.dev/q1blue/settings/summaries) this summary. It will automatically update as commits are pushed.\u003c/sup\u003e\n\n\u003c!-- ELLIPSIS_HIDDEN --\u003e","html_url":"https://github.com/q1blue/buildbot/pull/179","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/q1blue%2Fbuildbot/issues/179","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/179/packages"}},{"old_version":"1.31.2","new_version":"1.31.5","update_type":"patch","path":"/letta","pr_created_at":"2025-10-28T03:00:53.000Z","version_change":"1.31.2 → 1.31.5","issue":{"uuid":"3559553453","node_id":"PR_kwDOOFBbUc6wCpMX","number":23,"state":"open","title":"Bump pg8000 from 1.31.2 to 1.31.5 in /letta","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-10-28T03:00:53.000Z","updated_at":"2025-10-28T03:02:33.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"pg8000","old_version":"1.31.2","new_version":"1.31.5","repository_url":"https://github.com/tlocke/pg8000"}],"path":"/letta","ecosystem":"pip"},"body":"Bumps [pg8000](https://github.com/tlocke/pg8000) from 1.31.2 to 1.31.5.\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tlocke/pg8000/commits\"\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=pg8000\u0026package-manager=pip\u0026previous-version=1.31.2\u0026new-version=1.31.5)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/raviriley/raggy/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/raviriley/raggy/pull/23","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/raviriley%2Fraggy/issues/23","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/23/packages"}},{"old_version":"1.30.3","new_version":"1.31.5","update_type":"minor","path":"/ci/builder","pr_created_at":"2025-10-28T03:00:39.000Z","version_change":"1.30.3 → 1.31.5","issue":{"uuid":"3559552939","node_id":"PR_kwDOLALmC86wCpFD","number":32,"state":"open","title":"build(deps): bump pg8000 from 1.30.3 to 1.31.5 in /ci/builder","user":"dependabot[bot]","labels":["PR:size/XS","release","NO JIRA","🤖 bot","python","size/XS","☑️ auto-merge","dependencies"],"assignees":["D0LLi"],"locked":false,"comments_count":14,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-10-28T03:00:39.000Z","updated_at":"2025-10-28T03:02:24.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"pg8000","old_version":"1.30.3","new_version":"1.31.5","repository_url":null}],"path":"/ci/builder","ecosystem":"pip"},"body":"### Description\n\nIn this pull request, the version of the `pg8000` library is being updated from `1.30.3` to `1.31.5` in the `requirements.txt` file.\n\nChanges:\n- Update `pg8000` library version in `requirements.txt` from `1.30.3` to `1.31.5`","html_url":"https://github.com/D0LLi/materialize/pull/32","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/D0LLi%2Fmaterialize/issues/32","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/32/packages"}},{"old_version":"1.31.2","new_version":"1.31.5","update_type":"patch","path":null,"pr_created_at":"2025-10-28T03:00:06.000Z","version_change":"1.31.2 → 1.31.5","issue":{"uuid":"3559550516","node_id":"PR_kwDOCtUDz86wCohI","number":440,"state":"open","title":"build(deps): bump pg8000 from 1.31.2 to 1.31.5","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-10-28T03:00:06.000Z","updated_at":"2025-10-28T03:01:10.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"pg8000","old_version":"1.31.2","new_version":"1.31.5","repository_url":"https://github.com/tlocke/pg8000"}],"path":null,"ecosystem":"pip"},"body":"Bumps [pg8000](https://github.com/tlocke/pg8000) from 1.31.2 to 1.31.5.\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tlocke/pg8000/commits\"\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=pg8000\u0026package-manager=pip\u0026previous-version=1.31.2\u0026new-version=1.31.5)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/faizulho/buildbot/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/faizulho/buildbot/pull/440","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/faizulho%2Fbuildbot/issues/440","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/440/packages"}},{"old_version":"1.16.4","new_version":"1.31.5","update_type":"minor","path":"/forge/logging","pr_created_at":"2025-10-28T03:00:04.000Z","version_change":"1.16.4 → 1.31.5","issue":{"uuid":"3559550458","node_id":"PR_kwDOC1M_yM6wCogP","number":309,"state":"open","title":"build(deps): bump pg8000 from 1.16.4 to 1.31.5 in /forge/logging","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-10-28T03:00:04.000Z","updated_at":"2025-11-13T17:29:25.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"pg8000","old_version":"1.16.4","new_version":"1.31.5","repository_url":"https://github.com/tlocke/pg8000"}],"path":"/forge/logging","ecosystem":"pip"},"body":"Bumps [pg8000](https://github.com/tlocke/pg8000) from 1.16.4 to 1.31.5.\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tlocke/pg8000/commits\"\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=pg8000\u0026package-manager=pip\u0026previous-version=1.16.4\u0026new-version=1.31.5)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/tnelson/Forge/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/tnelson/Forge/pull/309","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/tnelson%2FForge/issues/309","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/309/packages"}},{"old_version":"1.30.5","new_version":"1.31.5","update_type":"minor","path":null,"pr_created_at":"2025-10-26T15:53:40.000Z","version_change":"1.30.5 → 1.31.5","issue":{"uuid":"3554142295","node_id":"PR_kwDOQJhTAc6vwTWG","number":2,"state":"closed","title":"Bump the dependencies group with 43 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-02-10T00:51:36.000Z","author_association":null,"state_reason":null,"created_at":"2025-10-26T15:53:40.000Z","updated_at":"2026-02-10T00:51:38.000Z","time_to_close":9190676,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"dependencies","update_count":43,"packages":[{"name":"isodate","old_version":"0.6.1","new_version":"0.7.2","repository_url":"https://github.com/gweis/isodate"},{"name":"lxml","old_version":"5.1.0","new_version":"6.0.2","repository_url":"https://github.com/lxml/lxml"},{"name":"numpy","old_version":"1.26.2","new_version":"2.0.2","repository_url":"https://github.com/numpy/numpy"},{"name":"openpyxl","old_version":"3.1.2","new_version":"3.1.5"},{"name":"pyparsing","old_version":"3.1.1","new_version":"3.2.5","repository_url":"https://github.com/pyparsing/pyparsing"},{"name":"python-dateutil","old_version":"2.8.2","new_version":"2.9.0.post0","repository_url":"https://github.com/dateutil/dateutil"},{"name":"pycryptodome","old_version":"3.20.0","new_version":"3.23.0","repository_url":"https://github.com/Legrandin/pycryptodome"},{"name":"pg8000","old_version":"1.30.5","new_version":"1.31.5","repository_url":"https://github.com/tlocke/pg8000"},{"name":"pymysql","old_version":"1.1.0","new_version":"1.1.2","repository_url":"https://github.com/PyMySQL/PyMySQL"},{"name":"pyodbc","old_version":"5.1.0","new_version":"5.3.0","repository_url":"https://github.com/mkleehammer/pyodbc"},{"name":"rdflib","old_version":"7.0.0","new_version":"7.3.0","repository_url":"https://github.com/RDFLib/rdflib"},{"name":"holidays","old_version":"0.43","new_version":"0.83","repository_url":"https://github.com/vacanza/holidays"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [isodate](https://github.com/gweis/isodate), [lxml](https://github.com/lxml/lxml), [numpy](https://github.com/numpy/numpy), [openpyxl](https://openpyxl.readthedocs.io), [pyparsing](https://github.com/pyparsing/pyparsing), [python-dateutil](https://github.com/dateutil/dateutil), [pycryptodome](https://github.com/Legrandin/pycryptodome), [pg8000](https://github.com/tlocke/pg8000), [pymysql](https://github.com/PyMySQL/PyMySQL), [pyodbc](https://github.com/mkleehammer/pyodbc), [rdflib](https://github.com/RDFLib/rdflib), [holidays](https://github.com/vacanza/holidays), [tinycss2](https://github.com/Kozea/tinycss2), [graphviz](https://github.com/xflr6/graphviz), [cheroot](https://github.com/cherrypy/cheroot), [cherrypy](https://github.com/cherrypy/cherrypy), [tornado](https://github.com/tornadoweb/tornado), [setuptools](https://github.com/pypa/setuptools), [setuptools-scm[toml]](https://github.com/pypa/setuptools-scm), [certifi](https://github.com/certifi/python-certifi), [regex](https://github.com/mrabarnett/mrab-regex), [aniso8601](https://codeberg.org/nielsenb-jf/aniso8601), [pycountry](https://github.com/flyingcircusio/pycountry), [matplotlib](https://github.com/matplotlib/matplotlib), [pytz](https://github.com/stub42/pytz), [pillow](https://github.com/python-pillow/Pillow), [pywin32](https://github.com/mhammond/pywin32), [ixbrl-viewer](https://github.com/Arelle/ixbrl-viewer), [flake8](https://github.com/pycqa/flake8), [mypy](https://github.com/python/mypy), [pytest](https://github.com/pytest-dev/pytest), [typing-extensions](https://github.com/python/typing_extensions), [types-pymysql](https://github.com/typeshed-internal/stub_uploader), [types-python-dateutil](https://github.com/typeshed-internal/stub_uploader), [types-pytz](https://github.com/typeshed-internal/stub_uploader), [types-simplejson](https://github.com/typeshed-internal/stub_uploader), [types-ujson](https://github.com/typeshed-internal/stub_uploader), [types-regex](https://github.com/typeshed-internal/stub_uploader), [types-waitress](https://github.com/typeshed-internal/stub_uploader), [furo](https://github.com/pradyunsg/furo), [myst-parser](https://github.com/executablebooks/MyST-Parser), [sphinx](https://github.com/sphinx-doc/sphinx) and [sphinx-autobuild](https://github.com/sphinx-doc/sphinx-autobuild) to permit the latest version.\nUpdates `isodate` from 0.6.1 to 0.7.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gweis/isodate/blob/master/CHANGES.txt\"\u003eisodate's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.7.2 (2024-10-08)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edrop end of life python versions\u003c/li\u003e\n\u003cli\u003eDon't match garbage characters at the end of parsed strings \u003ca href=\"https://redirect.github.com/gweis/isodate/issues/16\"\u003e#16\u003c/a\u003e (Gabriel de Perthuis)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ePotentially breaking changes:\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFractional seconds are cut off to microseconds (always round down)\u003c/li\u003e\n\u003cli\u003eAllow control over return type of parse_duration \u003ca href=\"https://redirect.github.com/gweis/isodate/issues/64\"\u003e#64\u003c/a\u003e (Felix Claessen)\u003c/li\u003e\n\u003cli\u003ePython \u0026gt;= 3.7 required\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gweis/isodate/commit/4408b60fecfc682a021047b3e5d9095a8face012\"\u003e\u003ccode\u003e4408b60\u003c/code\u003e\u003c/a\u003e update changelog, release 0.7.2 (0.7.x so missed python version requirements ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gweis/isodate/commit/31ff7675fb64bf9d67a6de7f0cf6761b067a4cd5\"\u003e\u003ccode\u003e31ff767\u003c/code\u003e\u003c/a\u003e restrict to python\u0026gt;=3.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gweis/isodate/commit/9443e63119579217699dce88b86753a81a9bec52\"\u003e\u003ccode\u003e9443e63\u003c/code\u003e\u003c/a\u003e some packaging updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gweis/isodate/commit/2ace19f248305e0063f4350b77aad91f00a801f6\"\u003e\u003ccode\u003e2ace19f\u003c/code\u003e\u003c/a\u003e modernise packaging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gweis/isodate/commit/8856fdf0e46c7bca00229faa1aae6b7e8ad6e76c\"\u003e\u003ccode\u003e8856fdf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/gweis/isodate/issues/70\"\u003e#70\u003c/a\u003e from kianmeng/fix-typos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gweis/isodate/commit/14aefddd4952a29958f3110bd884bf90b9d5fa9a\"\u003e\u003ccode\u003e14aefdd\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/gweis/isodate/issues/66\"\u003e#66\u003c/a\u003e from isodate/test-gha\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gweis/isodate/commit/68a4bbe0a460dc7a8f038fe0f3714851558c379d\"\u003e\u003ccode\u003e68a4bbe\u003c/code\u003e\u003c/a\u003e Join classifier string\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gweis/isodate/commit/cc57560c10b7128840f133b6fc296dbf4d44d352\"\u003e\u003ccode\u003ecc57560\u003c/code\u003e\u003c/a\u003e Fix typos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gweis/isodate/commit/c19e4c3ab2cb3adf10e278f4abce14d15ee66745\"\u003e\u003ccode\u003ec19e4c3\u003c/code\u003e\u003c/a\u003e Fix CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gweis/isodate/commit/4a74ce214ba23ab6c0404a2ec31ab7429e8f42c6\"\u003e\u003ccode\u003e4a74ce2\u003c/code\u003e\u003c/a\u003e Update pre-commit\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gweis/isodate/compare/0.6.1...0.7.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `lxml` from 5.1.0 to 6.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lxml/lxml/releases\"\u003elxml's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003elxml-6.0.2\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003elxml-6.0.1\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003elxml-6.0.0\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003elxml-5.4.0\u003c/h2\u003e\n\u003ch1\u003e5.4.0 (2025-04-22)\u003c/h1\u003e\n\u003ch2\u003eBugs fixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eLP#2107279: Binary wheels use libxml2 2.13.8 and libxslt 1.1.43 to resolve several CVEs.\n(Binary wheels for Windows continue to use a patched libxml2 2.11.9 and libxslt 1.1.39.)\nIssue found by Anatoly Katyushin, see \u003ca href=\"https://bugs.launchpad.net/lxml/+bug/2107279\"\u003ehttps://bugs.launchpad.net/lxml/+bug/2107279\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003elxml-5.3.2\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003elxml-5.3.1\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003elxml-5.3.0\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003elxml-5.2.2\u003c/h2\u003e\n\u003ch1\u003e5.2.2 (2024-05-12)\u003c/h1\u003e\n\u003ch2\u003eBugs fixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eGH#417: The \u003ccode\u003etest_feed_parser\u003c/code\u003e test could fail if \u003ccode\u003elxml_html_clean\u003c/code\u003e was not installed.\nIt is now skipped in that case.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLP#2059910: The minimum CPU architecture for the Linux x86 binary wheels was set back to\n\u0026quot;core2\u0026quot;, without SSE 4.2.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIf libxml2 uses iconv, the compile time version is available as \u003ccode\u003eetree.ICONV_COMPILED_VERSION\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003elxml-5.2.1\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003elxml-5.2.0\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\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/lxml/lxml/blob/master/CHANGES.txt\"\u003elxml's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e6.0.2 (2025-09-21)\u003c/h1\u003e\n\u003ch2\u003eBugs fixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eLP#2125278: Compilation with libxml2 2.15.0 failed.\nOriginal patch by Xi Ruoyao.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSetting \u003ccode\u003edecompress=True\u003c/code\u003e in the parser had no effect in libxml2 2.15.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBinary wheels on Linux and macOS use the library version libxml2 2.14.6.\nSee \u003ca href=\"https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.14.6\"\u003ehttps://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.14.6\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eTest failures in libxml2 2.15.0 were fixed.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eOther changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eBinary wheels for Py3.9-3.11 on the \u003ccode\u003eriscv64\u003c/code\u003e architecture were added.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eError constants were updated to match libxml2 2.15.0.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBuilt using Cython 3.1.4.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e6.0.1 (2025-08-22)\u003c/h1\u003e\n\u003ch2\u003eBugs fixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eLP#2116333: \u003ccode\u003elxml.sax._getNsTag()\u003c/code\u003e could fail with an exception on malformed input.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eGH#467: Some test adaptations were made for libxml2 2.15.\nPatch by Nick Wellnhofer.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLP2119510, GH#473: A Python compatibility test was fixed for Python 3.14+.\nPatch by Lumír Balhar.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eGH#471: Wheels for \u0026quot;riscv64\u0026quot; on recent Python versions were added.\nPatch by ffgan.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eGH#469: The wheel build no longer requires the \u003ccode\u003ewheel\u003c/code\u003e package unconditionally.\nPatch by Miro Hrončok.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBinary wheels use the library version libxml2 2.14.5.\nSee \u003ca href=\"https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.14.5\"\u003ehttps://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.14.5\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eWindows binary wheels continue to use a security patched library version libxml2 2.11.9.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lxml/lxml/commit/283d02ec8966c0e99f4666dc7bdd936479e97246\"\u003e\u003ccode\u003e283d02e\u003c/code\u003e\u003c/a\u003e Build: Minor readability cleanup.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lxml/lxml/commit/52cf97c1a473a78fb4a9d4bf4f45dc69dd67932b\"\u003e\u003ccode\u003e52cf97c\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Build: Avoid redundant manylinux2014 builds across newer jobs.\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lxml/lxml/commit/a21e4748eaedc4d6f8120afddfa496a5b887c73d\"\u003e\u003ccode\u003ea21e474\u003c/code\u003e\u003c/a\u003e Build: Avoid redundant manylinux2014 builds across newer jobs.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lxml/lxml/commit/58d4d2bf794dfb3bb66118a2db856a7174fcabe8\"\u003e\u003ccode\u003e58d4d2b\u003c/code\u003e\u003c/a\u003e Build: Upgrade libxml2 to 2.14.6.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lxml/lxml/commit/e5d80da388690cdcab15a7047aa9c617f66083b7\"\u003e\u003ccode\u003ee5d80da\u003c/code\u003e\u003c/a\u003e Build: Clean up and simplify target selection and environment setup in pyproj...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lxml/lxml/commit/e9133801e12bc2f3a5d589f70deb5a9621b2d009\"\u003e\u003ccode\u003ee913380\u003c/code\u003e\u003c/a\u003e Build: Limit optimised wheel builds to AMD64 and Arm64 to save time and resou...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lxml/lxml/commit/d22f6a1b9efa615bf48453251050cd8abd12e65a\"\u003e\u003ccode\u003ed22f6a1\u003c/code\u003e\u003c/a\u003e Build: bump actions/setup-python in the github-actions group (\u003ca href=\"https://redirect.github.com/lxml/lxml/issues/479\"\u003eGH-479\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lxml/lxml/commit/f8fa76d97785d05a8376ec5e21a05997476e27f9\"\u003e\u003ccode\u003ef8fa76d\u003c/code\u003e\u003c/a\u003e Build: Prevent redundant branch wheel builds for pull requests.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lxml/lxml/commit/b3e93721a6811cfd007dd829c89cd0406351b171\"\u003e\u003ccode\u003eb3e9372\u003c/code\u003e\u003c/a\u003e Build: bump pypa/cibuildwheel in the github-actions group (\u003ca href=\"https://redirect.github.com/lxml/lxml/issues/478\"\u003eGH-478\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lxml/lxml/commit/a7ec229a147fb7618d00b44e4e30eeb1f521e15a\"\u003e\u003ccode\u003ea7ec229\u003c/code\u003e\u003c/a\u003e Prepare release of lxml 6.0.2.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/lxml/lxml/compare/lxml-5.1.0...lxml-6.0.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `numpy` from 1.26.2 to 2.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/numpy/numpy/releases\"\u003enumpy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eNumPy 2.0.2 release (Aug 26, 2024)\u003c/h2\u003e\n\u003ch1\u003eNumPy 2.0.2 Release Notes\u003c/h1\u003e\n\u003cp\u003eNumPy 2.0.2 is a maintenance release that fixes bugs and regressions\ndiscovered after the 2.0.1 release.\u003c/p\u003e\n\u003cp\u003eThe Python versions supported by this release are 3.9-3.12.\u003c/p\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eA total of 13 people contributed to this release. People with a \u0026quot;+\u0026quot; by\ntheir names contributed a patch for the first time.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eBruno Oliveira +\u003c/li\u003e\n\u003cli\u003eCharles Harris\u003c/li\u003e\n\u003cli\u003eChris Sidebottom\u003c/li\u003e\n\u003cli\u003eChristian Heimes +\u003c/li\u003e\n\u003cli\u003eChristopher Sidebottom\u003c/li\u003e\n\u003cli\u003eMateusz Sokół\u003c/li\u003e\n\u003cli\u003eMatti Picus\u003c/li\u003e\n\u003cli\u003eNathan Goldbaum\u003c/li\u003e\n\u003cli\u003ePieter Eendebak\u003c/li\u003e\n\u003cli\u003eRaghuveer Devulapalli\u003c/li\u003e\n\u003cli\u003eRalf Gommers\u003c/li\u003e\n\u003cli\u003eSebastian Berg\u003c/li\u003e\n\u003cli\u003eYair Chuchem +\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePull requests merged\u003c/h2\u003e\n\u003cp\u003eA total of 19 pull requests were merged for this release.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/27000\"\u003e#27000\u003c/a\u003e: REL: Prepare for the NumPy 2.0.1 release [wheel build]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/27001\"\u003e#27001\u003c/a\u003e: MAINT: prepare 2.0.x for further development\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/27021\"\u003e#27021\u003c/a\u003e: BUG: cfuncs.py: fix crash when sys.stderr is not available\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/27022\"\u003e#27022\u003c/a\u003e: DOC: Fix migration note for \u003ccode\u003ealltrue\u003c/code\u003e and \u003ccode\u003esometrue\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/27061\"\u003e#27061\u003c/a\u003e: BUG: use proper input and output descriptor in array_assign_subscript...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/27073\"\u003e#27073\u003c/a\u003e: BUG: Mirror VQSORT_ENABLED logic in Quicksort\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/27074\"\u003e#27074\u003c/a\u003e: BUG: Bump Highway to latest master\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/27077\"\u003e#27077\u003c/a\u003e: BUG: Off by one in memory overlap check\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/27122\"\u003e#27122\u003c/a\u003e: BUG: Use the new \u003ccode\u003enpyv_loadable_stride_\u003c/code\u003e functions for ldexp and...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/27126\"\u003e#27126\u003c/a\u003e: BUG: Bump Highway to latest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/27128\"\u003e#27128\u003c/a\u003e: BUG: add missing error handling in public_dtype_api.c\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/27129\"\u003e#27129\u003c/a\u003e: BUG: fix another cast setup in array_assign_subscript\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/27130\"\u003e#27130\u003c/a\u003e: BUG: Fix building NumPy in FIPS mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/27131\"\u003e#27131\u003c/a\u003e: BLD: update vendored Meson for cross-compilation patches\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/27146\"\u003e#27146\u003c/a\u003e: MAINT: Scipy openblas 0.3.27.44.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/27151\"\u003e#27151\u003c/a\u003e: BUG: Do not accidentally store dtype metadata in \u003ccode\u003enp.save\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/27195\"\u003e#27195\u003c/a\u003e: REV: Revert undef I and document it\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/27213\"\u003e#27213\u003c/a\u003e: BUG: Fix NPY_RAVEL_AXIS on backwards compatible NumPy 2 builds\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/27279\"\u003e#27279\u003c/a\u003e: BUG: Fix array_equal for numeric and non-numeric scalar types\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/854252ded83e6b9c21c4ee80558d354d8a72484c\"\u003e\u003ccode\u003e854252d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/27280\"\u003e#27280\u003c/a\u003e from charris/prepare-2.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/cffa071f4f40a326de7fca9ec3f9b829b8aaf511\"\u003e\u003ccode\u003ecffa071\u003c/code\u003e\u003c/a\u003e REL: Prepare for the NumPy 2.0.2 release [wheel build]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/16930298f0ab09ccac66235720832df2d4dbb86c\"\u003e\u003ccode\u003e1693029\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/27279\"\u003e#27279\u003c/a\u003e from charris/backport-27275\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/da9f9c3bbab1324cbc4d29384a93b55a6b8e7d5b\"\u003e\u003ccode\u003eda9f9c3\u003c/code\u003e\u003c/a\u003e BUG: Fix array_equal for numeric and non-numeric scalar types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/ee1cf963d999eb39244e8d2b3db1c91ff27dd7c2\"\u003e\u003ccode\u003eee1cf96\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/27213\"\u003e#27213\u003c/a\u003e from charris/backport-27202\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/49dec35f897f33a29a451ef3e25632b77b8d8c3e\"\u003e\u003ccode\u003e49dec35\u003c/code\u003e\u003c/a\u003e BUG: Fix NPY_RAVEL_AXIS on backwards compatible NumPy 2 builds\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/be56ae27aade17b8cf45421d7c4f525819493b33\"\u003e\u003ccode\u003ebe56ae2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/27195\"\u003e#27195\u003c/a\u003e from charris/backport-27182\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/75b039c3e7ae9057236847563ab39ce6d600fa38\"\u003e\u003ccode\u003e75b039c\u003c/code\u003e\u003c/a\u003e REV: Revert undef I and document it\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/428e2ba733a78e99d0bda94ac4d7bce6539693c6\"\u003e\u003ccode\u003e428e2ba\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/27151\"\u003e#27151\u003c/a\u003e from charris/backport-27143\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/451516de729c38677d717851590fda1d8920fa00\"\u003e\u003ccode\u003e451516d\u003c/code\u003e\u003c/a\u003e BUG: Do not accidentally store dtype metadata in \u003ccode\u003enp.save\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/numpy/numpy/compare/v1.26.2...v2.0.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `openpyxl` from 3.1.2 to 3.1.5\n\nUpdates `pyparsing` from 3.1.1 to 3.2.5\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyparsing/pyparsing/blob/master/CHANGES\"\u003epyparsing's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.2.5 - September, 2025\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eJINX! Well, 3.2.4 had a bug for \u003ccode\u003eWord\u003c/code\u003e expressions that include a space\ncharacter, if that expression was then copied, either directly with .copy() or\nby adding a results name, or included in another construct (like \u003ccode\u003eDelimitedList\u003c/code\u003e)\nthat makes a copy internally. Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/618\"\u003e#618\u003c/a\u003e, reported by mstinberg, among others -\nthanks, and sorry for the inconvenience.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.2.5 - September, 2025\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eJINX! Well, 3.2.4 had a bug for \u003ccode\u003eWord\u003c/code\u003e expressions that include a space\ncharacter, if that expression was then copied, either directly with .copy() or\nby adding a results name, or including in another construct (like \u003ccode\u003eDelimitedList\u003c/code\u003e)\nthat makes a copy internally. Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/618\"\u003e#618\u003c/a\u003e, reported by mstinberg, among others -\nthanks, and sorry for the inconvenience.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.2.4 - September, 2025\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eBarring any catastrophic bugs in this release, this will be the last release in\nthe 3.2.x line. The next release, 3.3.0, will begin emitting \u003ccode\u003eDeprecationWarnings\u003c/code\u003e\nwhen the pre-PEP8 methods are used (see header notes above for more information,\nincluding available automation for converting any existing code using\npyparsing with the old names).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed bug when using a copy of a \u003ccode\u003eWord\u003c/code\u003e expression (either by using the explicit\n\u003ccode\u003ecopy()\u003c/code\u003e method, or attaching a results name), and setting a new expression name,\na raised \u003ccode\u003eParseException\u003c/code\u003e still used the original expression name. Also affected\n\u003ccode\u003eRegex\u003c/code\u003e expressions with \u003ccode\u003eas_match\u003c/code\u003e or \u003ccode\u003eas_group_list\u003c/code\u003e = True. Reported by\nWaqas Ilyas, in Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/612\"\u003e#612\u003c/a\u003e - good catch!\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed type annotation for \u003ccode\u003ereplace_with\u003c/code\u003e, to accept \u003ccode\u003eAny\u003c/code\u003e type. Fixes Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/602\"\u003e#602\u003c/a\u003e,\nreported by esquonk.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded locking around potential race condition in \u003ccode\u003eParserElement.reset_cache\u003c/code\u003e, as\nwell as other cache-related methods. Fixes Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/604\"\u003e#604\u003c/a\u003e, reported by CarlosDescalziIM.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSubstantial update to docstrings and doc generation in preparation for 3.3.0,\ngreat effort by FeRD, thanks!\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNotable addition by FeRD to convert docstring examples to work with doctest! This\nwas long overdue, thanks so much!\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.2.3 - March, 2025\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed bug released in 3.2.2 in which \u003ccode\u003enested_expr\u003c/code\u003e could overwrite parse actions\nfor defined content, and could truncate list of items within a nested list.\nFixes Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/600\"\u003e#600\u003c/a\u003e, reported by hoxbro and luisglft, with helpful diag logs and\nrepro code.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/dbbd53ad1cd0ab31ae2a8fee5a64a718788b63fb\"\u003e\u003ccode\u003edbbd53a\u003c/code\u003e\u003c/a\u003e More unit tests and some comments for traceability to Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/618\"\u003e#618\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/f5bdb2deff92859e068937f2ae502136b38ad16f\"\u003e\u003ccode\u003ef5bdb2d\u003c/code\u003e\u003c/a\u003e Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/618\"\u003e#618\u003c/a\u003e - fix reference to re_match attribute in copy of Word object to fi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/8c61893d362b21d66fa3646c073295235ef166fd\"\u003e\u003ccode\u003e8c61893\u003c/code\u003e\u003c/a\u003e Prep for 3.2.5 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/57923cd6a651d81c72b4e60b2baa02fbedf217ba\"\u003e\u003ccode\u003e57923cd\u003c/code\u003e\u003c/a\u003e Enable matplotlib unit tests for Python 3.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/fad1505f8ab91cc897f3067868e500257130e1a4\"\u003e\u003ccode\u003efad1505\u003c/code\u003e\u003c/a\u003e Update CHANGES file with thanks to FeRD for making the docstring examples doc...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/6622151cb440e85de9880ca6b7f3652e0962e315\"\u003e\u003ccode\u003e6622151\u003c/code\u003e\u003c/a\u003e Update tox.ini to add doctest testing for all Python versions 3.10 and later\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/e6ed66bdcd6da3ef63f4396565d860467efb5252\"\u003e\u003ccode\u003ee6ed66b\u003c/code\u003e\u003c/a\u003e Change doctest for LineStart to reflect latest implementation of \u0026quot;is this tok...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/23092da6569c97f30605ff2fe818fc15b3d12567\"\u003e\u003ccode\u003e23092da\u003c/code\u003e\u003c/a\u003e Doctests for pyparsing.exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/0bae3cdcc9274dbbcde5daabba739d3b1ddb49fc\"\u003e\u003ccode\u003e0bae3cd\u003c/code\u003e\u003c/a\u003e Doctests for pyparsing.common\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/98ec165d1a66247dbeffcf692643765648fb230f\"\u003e\u003ccode\u003e98ec165\u003c/code\u003e\u003c/a\u003e Docs: Add doctest-wrtiting documentation\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyparsing/pyparsing/compare/3.1.1...3.2.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `python-dateutil` from 2.8.2 to 2.9.0.post0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/dateutil/dateutil/releases\"\u003epython-dateutil's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.9.0.post0\u003c/h2\u003e\n\u003ch1\u003eVersion 2.9.0.post0 (2024-03-01)\u003c/h1\u003e\n\u003ch2\u003eBugfixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePinned \u003ccode\u003esetuptools_scm\u003c/code\u003e to \u003ccode\u003e\u0026lt;8\u003c/code\u003e, which should make the generated \u003ccode\u003e_version.py\u003c/code\u003e file compatible with all supported versions of Python.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.9.0\u003c/h2\u003e\n\u003ch1\u003eVersion 2.9.0 (2024-02-29)\u003c/h1\u003e\n\u003ch2\u003eData updates\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated tzdata version to 2024a. (gh pr \u003ca href=\"https://redirect.github.com/dateutil/dateutil/issues/1342\"\u003e#1342\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMade all \u003ccode\u003edateutil\u003c/code\u003e submodules lazily imported using \u003ca href=\"https://www.python.org/dev/peps/pep-0562/\"\u003ePEP 562\u003c/a\u003e. On Python 3.7+, things like \u003ccode\u003eimport dateutil; dateutil.tz.gettz(\u0026quot;America/New_York\u0026quot;)\u003c/code\u003e will now work without explicitly importing \u003ccode\u003edateutil.tz\u003c/code\u003e, with the import occurring behind the scenes on first use. The old behavior remains on Python 3.6 and earlier. Fixed by Orson Adams. (gh issue \u003ca href=\"https://redirect.github.com/dateutil/dateutil/issues/771\"\u003e#771\u003c/a\u003e, gh pr \u003ca href=\"https://redirect.github.com/dateutil/dateutil/issues/1007\"\u003e#1007\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBugfixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved a call to \u003ccode\u003edatetime.utcfromtimestamp\u003c/code\u003e, which is deprecated as of Python 3.12. Reported by Hugo van Kemenade (gh pr \u003ca href=\"https://redirect.github.com/dateutil/dateutil/issues/1284\"\u003e#1284\u003c/a\u003e), fixed by Thomas Grainger (gh pr \u003ca href=\"https://redirect.github.com/dateutil/dateutil/issues/1285\"\u003e#1285\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded note into docs and tests where relativedelta would return last day of the month only if the same day on a different month resolves to a date that doesn't exist. Reported by \u003ca href=\"https://github.com/hawkEye-01\"\u003e\u003ccode\u003e@​hawkEye-01\u003c/code\u003e\u003c/a\u003e (gh issue \u003ca href=\"https://redirect.github.com/dateutil/dateutil/issues/1167\"\u003e#1167\u003c/a\u003e). Fixed by \u003ca href=\"https://github.com/Mifrill\"\u003e\u003ccode\u003e@​Mifrill\u003c/code\u003e\u003c/a\u003e (gh pr \u003ca href=\"https://redirect.github.com/dateutil/dateutil/issues/1168\"\u003e#1168\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/dateutil/dateutil/blob/master/NEWS\"\u003epython-dateutil's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eVersion 2.9.0.post0 (2024-03-01)\u003c/h1\u003e\n\u003ch2\u003eBugfixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePinned \u003ccode\u003esetuptools_scm\u003c/code\u003e to \u003ccode\u003e\u0026lt;8\u003c/code\u003e, which should make the generated \u003ccode\u003e_version.py\u003c/code\u003e file compatible with all supported versions of Python.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eVersion 2.9.0 (2024-02-29)\u003c/h1\u003e\n\u003ch2\u003eData updates\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated tzdata version to 2024a. (gh pr \u003ca href=\"https://redirect.github.com/dateutil/dateutil/issues/1342\"\u003e#1342\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMade all \u003ccode\u003edateutil\u003c/code\u003e submodules lazily imported using \u003ccode\u003ePEP 562 \u0026lt;https://www.python.org/dev/peps/pep-0562/\u0026gt;\u003c/code\u003e_. On Python 3.7+, things like\n\u003ccode\u003eimport dateutil; dateutil.tz.gettz(\u0026quot;America/New_York\u0026quot;)\u003c/code\u003e will now work\nwithout explicitly importing \u003ccode\u003edateutil.tz\u003c/code\u003e, with the import occurring behind\nthe scenes on first use. The old behavior remains on Python 3.6 and earlier.\nFixed by Orson Adams. (gh issue \u003ca href=\"https://redirect.github.com/dateutil/dateutil/issues/771\"\u003e#771\u003c/a\u003e, gh pr \u003ca href=\"https://redirect.github.com/dateutil/dateutil/issues/1007\"\u003e#1007\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBugfixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved a call to \u003ccode\u003edatetime.utcfromtimestamp\u003c/code\u003e, which is deprecated as of Python 3.12. Reported by Hugo van Kemenade (gh pr \u003ca href=\"https://redirect.github.com/dateutil/dateutil/issues/1284\"\u003e#1284\u003c/a\u003e), fixed by Thomas Grainger (gh pr \u003ca href=\"https://redirect.github.com/dateutil/dateutil/issues/1285\"\u003e#1285\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded note into docs and tests where relativedelta would return last day of the month\nonly if the same day on a different month resolves to a date that doesn't exist.\nReported by \u003ca href=\"https://github.com/hawkEye-01\"\u003e\u003ccode\u003e@​hawkEye-01\u003c/code\u003e\u003c/a\u003e (gh issue \u003ca href=\"https://redirect.github.com/dateutil/dateutil/issues/1167\"\u003e#1167\u003c/a\u003e). Fixed by \u003ca href=\"https://github.com/Mifrill\"\u003e\u003ccode\u003e@​Mifrill\u003c/code\u003e\u003c/a\u003e (gh pr \u003ca href=\"https://redirect.github.com/dateutil/dateutil/issues/1168\"\u003e#1168\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/dateutil/dateutil/commit/1ae807774053c071acc9e7d3d27778fba0a7773e\"\u003e\u003ccode\u003e1ae8077\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/dateutil/dateutil/issues/1346\"\u003e#1346\u003c/a\u003e from pganssle/release_2.9.0.post0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dateutil/dateutil/commit/ee6de9deab99e1697837f9b78f145a91c57d600d\"\u003e\u003ccode\u003eee6de9d\u003c/code\u003e\u003c/a\u003e Update news to prepare for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dateutil/dateutil/commit/9780d32aea9ab681769671c4e3540b449d62cdd0\"\u003e\u003ccode\u003e9780d32\u003c/code\u003e\u003c/a\u003e Pin \u003ccode\u003esetuptools_scm\u003c/code\u003e to \u0026lt;8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dateutil/dateutil/commit/db9d018944c41ddc740015cf5f64717c2ba64a5c\"\u003e\u003ccode\u003edb9d018\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/dateutil/dateutil/issues/1343\"\u003e#1343\u003c/a\u003e from pganssle/release_2.9.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dateutil/dateutil/commit/423ca2f02faffa5d0543612b9462ace420ed7925\"\u003e\u003ccode\u003e423ca2f\u003c/code\u003e\u003c/a\u003e Run updatezinfo before build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dateutil/dateutil/commit/edd3fd4565616f7c92567c1daa957ee52df221a4\"\u003e\u003ccode\u003eedd3fd4\u003c/code\u003e\u003c/a\u003e Update NEWS file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dateutil/dateutil/commit/fe02d0218c00c907c6d8546dc3dce7fe7bb0588c\"\u003e\u003ccode\u003efe02d02\u003c/code\u003e\u003c/a\u003e Run towncrier with Python 3.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dateutil/dateutil/commit/9c7524a92600282488fbb85c7f1d6af10ce4ad15\"\u003e\u003ccode\u003e9c7524a\u003c/code\u003e\u003c/a\u003e Fix MANIFEST.in pattern\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dateutil/dateutil/commit/6de58f572257088d4248a6a3a1d2a426df534a02\"\u003e\u003ccode\u003e6de58f5\u003c/code\u003e\u003c/a\u003e Update classifiers to include Python 3.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dateutil/dateutil/commit/8fe0cab3b52fb714da3140c04aafe9c1f72f1211\"\u003e\u003ccode\u003e8fe0cab\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/dateutil/dateutil/issues/1342\"\u003e#1342\u003c/a\u003e from pganssle/update_zoneinfo\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/dateutil/dateutil/compare/2.8.2...2.9.0.post0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pycryptodome` from 3.20.0 to 3.23.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Legrandin/pycryptodome/releases\"\u003epycryptodome's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.23.0 - Dunkerque\u003c/h2\u003e\n\u003ch2\u003eNew features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded cipher modes Key Wrap (KW, RFC3394) and Key Wrap with Padding (KWP, RFC5649).\nBoth are defined also in NIST SP 800-38F.\u003c/li\u003e\n\u003cli\u003eWheels for Windows ARM.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eResolved issues\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eGH#862: For HashEdDSA and Ed448, sign() and verify() modified the state of the XOF.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev3.22.0 - Caen\u003c/h2\u003e\n\u003ch2\u003eNew features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for HPKE (RFC 9180).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eResolved issues\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eGH#812: CCM ciphers will now fail before encrypting (or decrypting)\ndata beyond the limit imposed by the nonce length.\u003c/li\u003e\n\u003cli\u003eGH#846: fix infinite loop with RC4 for data larger than 4GB.\u003c/li\u003e\n\u003cli\u003eGH#852: handle correctly invalid PEM files with less than 3 lines.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eOther changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove support for Python 3.6.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev3.21.0 - Bourdeaux\u003c/h2\u003e\n\u003ch2\u003eNew features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBy setting the PYCRYPTODOME_DISABLE_GMP environment variable,\nthe GMP library will not be used even if detected.\u003c/li\u003e\n\u003cli\u003eAdd support for Curve25519 / X25519.\u003c/li\u003e\n\u003cli\u003eAdd support for Curve448 / X448.\u003c/li\u003e\n\u003cli\u003eAdd attribute \u003ccode\u003ecurve\u003c/code\u003e to EccPoint and EccXPoint classes,\nwith the canonical name of the curve.\u003c/li\u003e\n\u003cli\u003eGH#781: the label for the SP800_108_Counter KDF may now\ncontain zero bytes. Thanks to Julien Rische.\u003c/li\u003e\n\u003cli\u003eGH#814: RSA keys for PSS can be imported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eResolved issues\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eGH#810: fixed negation of Ed25519 points.\u003c/li\u003e\n\u003cli\u003eGH#819: accept an RFC5916 ECPrivateKey even if it doesn't\ncontain any of the optional elements\n(parameters [0] and publicKey[1]).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eOther changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove support for Python 3.5.\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/Legrandin/pycryptodome/blob/master/Changelog.rst\"\u003epycryptodome's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e3.23.0 (17 May 2025)\n++++++++++++++++++++++++++\u003c/p\u003e\n\u003ch2\u003eNew features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded cipher modes Key Wrap (KW, RFC3394) and Key Wrap with Padding (KWP, RFC5649).\nBoth are defined also in NIST SP 800-38F.\u003c/li\u003e\n\u003cli\u003eWheels for Windows ARM.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eResolved issues\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eGH#862: For HashEdDSA and Ed448, sign() and verify() modified the state of the XOF.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e3.22.0 (16 March 2025)\n++++++++++++++++++++++++++\u003c/p\u003e\n\u003ch2\u003eNew features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for HPKE (RFC 9180).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eResolved issues\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eGH#812: CCM ciphers will now fail before encrypting (or decrypting)\ndata beyond the limit imposed by the nonce length.\u003c/li\u003e\n\u003cli\u003eGH#846: fix infinite loop with RC4 for data larger than 4GB.\u003c/li\u003e\n\u003cli\u003eGH#852: handle correctly invalid PEM files with less than 3 lines.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eOther changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove support for Python 3.6.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e3.21.0 (30 September 2024)\n++++++++++++++++++++++++++\u003c/p\u003e\n\u003ch2\u003eNew features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBy setting the PYCRYPTODOME_DISABLE_GMP environment variable,\nthe GMP library will not be used even if detected.\u003c/li\u003e\n\u003cli\u003eAdd support for Curve25519 / X25519.\u003c/li\u003e\n\u003cli\u003eAdd support for Curve448 / X448.\u003c/li\u003e\n\u003cli\u003eAdd attribute \u003ccode\u003ecurve\u003c/code\u003e to EccPoint and EccXPoint classes,\nwith the canonical name of the curve.\u003c/li\u003e\n\u003cli\u003eGH#781: the label for the SP800_108_Counter KDF may now\ncontain zero bytes. Thanks to Julien Rische.\u003c/li\u003e\n\u003cli\u003eGH#814: RSA keys for PSS can be imported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eResolved issues\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eGH#810: fixed negation of Ed25519 points.\u003c/li\u003e\n\u003cli\u003eGH#819: accept an RFC5916 ECPrivateKey even if it doesn't\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Legrandin/pycryptodome/commit/cde63f8f9b64f1c8cd86249128cfd5986c2c43af\"\u003e\u003ccode\u003ecde63f8\u003c/code\u003e\u003c/a\u003e Undo license information in pyproject.toml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Legrandin/pycryptodome/commit/51ccbaccc4a37cc331a44d69e20377fbb10c0725\"\u003e\u003ccode\u003e51ccbac\u003c/code\u003e\u003c/a\u003e Add license information in pyproject.toml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Legrandin/pycryptodome/commit/8d4e536029914c510432de8e2924a0566b94b515\"\u003e\u003ccode\u003e8d4e536\u003c/code\u003e\u003c/a\u003e Bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Legrandin/pycryptodome/commit/865287411c18671b14266bbaa6a5a639cc2e199c\"\u003e\u003ccode\u003e8652874\u003c/code\u003e\u003c/a\u003e Add license information in pyproject.toml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Legrandin/pycryptodome/commit/1006d4ffa495e27dbd0ff9181357d661b7e1f0ba\"\u003e\u003ccode\u003e1006d4f\u003c/code\u003e\u003c/a\u003e Build cpython-freethreading wheel\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Legrandin/pycryptodome/commit/0a056c063e67799db081a9451af25c36578e0584\"\u003e\u003ccode\u003e0a056c0\u003c/code\u003e\u003c/a\u003e Update FAQ for HPKE\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Legrandin/pycryptodome/commit/0785df83f639fc25c807dbba9dfa5e00c9d05382\"\u003e\u003ccode\u003e0785df8\u003c/code\u003e\u003c/a\u003e Update FAQ\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Legrandin/pycryptodome/commit/ee15eee6d618d3f65582271317e567efa7c0248f\"\u003e\u003ccode\u003eee15eee\u003c/code\u003e\u003c/a\u003e Update Changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Legrandin/pycryptodome/commit/876573ec600c0f10a4af6c995fa8dc2e4af6c673\"\u003e\u003ccode\u003e876573e\u003c/code\u003e\u003c/a\u003e Test and build wheels for Windows ARM\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Legrandin/pycryptodome/commit/64506f73e9454f441cf2b6f8b2b45cf3c63a0cde\"\u003e\u003ccode\u003e64506f7\u003c/code\u003e\u003c/a\u003e Merge branch 'key_wrap'\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Legrandin/pycryptodome/compare/v3.20.0...v3.23.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pg8000` from 1.30.5 to 1.31.5\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tlocke/pg8000/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pymysql` from 1.1.0 to 1.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/PyMySQL/PyMySQL/releases\"\u003epymysql's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.1.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent UnboundLocalError on MySQLResult initialization during SystemExit by \u003ca href=\"https://github.com/palm002\"\u003e\u003ccode\u003e@​palm002\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1174\"\u003ePyMySQL/PyMySQL#1174\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eremove mention of runtests.py by \u003ca href=\"https://github.com/cfbolz\"\u003e\u003ccode\u003e@​cfbolz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1182\"\u003ePyMySQL/PyMySQL#1182\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003emake sure to also close \u003ccode\u003econnection._rfile\u003c/code\u003e in \u003ccode\u003eConnection._force_close\u003c/code\u003e by \u003ca href=\"https://github.com/cfbolz\"\u003e\u003ccode\u003e@​cfbolz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1184\"\u003ePyMySQL/PyMySQL#1184\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded MariaDB in readme description (\u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1180\"\u003e#1180\u003c/a\u003e) by \u003ca href=\"https://github.com/theneuralcraftsman\"\u003e\u003ccode\u003e@​theneuralcraftsman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1186\"\u003ePyMySQL/PyMySQL#1186\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update dependency sphinx-rtd-theme to v3 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1189\"\u003ePyMySQL/PyMySQL#1189\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update dependency sphinx to v8 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1179\"\u003ePyMySQL/PyMySQL#1179\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for Python 3.13 by \u003ca href=\"https://github.com/Cycloctane\"\u003e\u003ccode\u003e@​Cycloctane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1190\"\u003ePyMySQL/PyMySQL#1190\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eResolve UTF8 charset case-insensitively by \u003ca href=\"https://github.com/ek247\"\u003e\u003ccode\u003e@​ek247\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1195\"\u003ePyMySQL/PyMySQL#1195\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupdate ci versions by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1196\"\u003ePyMySQL/PyMySQL#1196\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003euse KILL instead of COM_KILL for MySQL 8.4 support by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1197\"\u003ePyMySQL/PyMySQL#1197\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edisable VERIFY_X509_STRICT for Python 3.13 support by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1198\"\u003ePyMySQL/PyMySQL#1198\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update codecov/codecov-action action to v5 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1191\"\u003ePyMySQL/PyMySQL#1191\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd MariaDB to README.md by \u003ca href=\"https://github.com/robertsilen\"\u003e\u003ccode\u003e@​robertsilen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1181\"\u003ePyMySQL/PyMySQL#1181\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: use defer_connect instead of mock by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1199\"\u003ePyMySQL/PyMySQL#1199\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: use astral-sh/ruff-action by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1201\"\u003ePyMySQL/PyMySQL#1201\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix auth_switch_request handling by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1200\"\u003ePyMySQL/PyMySQL#1200\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: update test matrix by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1215\"\u003ePyMySQL/PyMySQL#1215\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: do not drop MySQL 5.7 test for now by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1216\"\u003ePyMySQL/PyMySQL#1216\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupdate README by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1217\"\u003ePyMySQL/PyMySQL#1217\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eprepare v1.1.2 by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1218\"\u003ePyMySQL/PyMySQL#1218\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/palm002\"\u003e\u003ccode\u003e@​palm002\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1174\"\u003ePyMySQL/PyMySQL#1174\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cfbolz\"\u003e\u003ccode\u003e@​cfbolz\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1182\"\u003ePyMySQL/PyMySQL#1182\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theneuralcraftsman\"\u003e\u003ccode\u003e@​theneuralcraftsman\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1186\"\u003ePyMySQL/PyMySQL#1186\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Cycloctane\"\u003e\u003ccode\u003e@​Cycloctane\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1190\"\u003ePyMySQL/PyMySQL#1190\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ek247\"\u003e\u003ccode\u003e@​ek247\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1195\"\u003ePyMySQL/PyMySQL#1195\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/robertsilen\"\u003e\u003ccode\u003e@​robertsilen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1181\"\u003ePyMySQL/PyMySQL#1181\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/PyMySQL/PyMySQL/compare/v1.1.1...v1.1.2\"\u003ehttps://github.com/PyMySQL/PyMySQL/compare/v1.1.1...v1.1.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.1.1\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nThis release fixes a vulnerability (CVE-2024-36039).\nAll users are recommended to update to this version.\u003c/p\u003e\n\u003cp\u003eIf you can not update soon, check the input value from untrusted source has an expected type.\nOnly dict input from untrusted source can be an attack vector.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eProhibit dict parameter for \u003ccode\u003eCursor.execute()\u003c/code\u003e. It didn't produce valid SQL\nand might cause SQL injection. (CVE-2024-36039)\u003c/li\u003e\n\u003cli\u003eAdded ssl_key_password param by \u003ca href=\"https://github.com/svaskov\"\u003e\u003ccode\u003e@​svaskov\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1145\"\u003ePyMySQL/PyMySQL#1145\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eMerged PRs\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.12 by \u003ca href=\"https://github.com/hugovk\"\u003e\u003ccode\u003e@​hugovk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1134\"\u003ePyMySQL/PyMySQL#1134\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/PyMySQL/PyMySQL/blob/main/CHANGELOG.md\"\u003epymysql's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.1.2\u003c/h2\u003e\n\u003cp\u003eRelease date: 2025-08-24\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent UnboundLocalError in very rare situation. \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1174\"\u003ePyMySQL/PyMySQL#1174\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClose underlying \u003ccode\u003eSocketIO\u003c/code\u003e soon when Connection is closed for PyPy. \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1183\"\u003ePyMySQL/PyMySQL#1183\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix importing PyMySQL fail on CPython 3.13 when \u003ccode\u003egetpass.getuser()\u003c/code\u003e raises OSEError. \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1190\"\u003ePyMySQL/PyMySQL#1190\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake charset name \u0026quot;utf8\u0026quot; case insensitive. \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1195\"\u003ePyMySQL/PyMySQL#1195\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.kill()\u003c/code\u003e uses \u003ccode\u003eKILL\u003c/code\u003e query instead of \u003ccode\u003eCOM_KILL\u003c/code\u003ecommand to support MySQL 8.4. \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1197\"\u003ePyMySQL/PyMySQL#1197\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix SSL error on CPython 3.13 caused by strict TLS default setting. \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1198\"\u003ePyMySQL/PyMySQL#1198\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix auth switch request handling. \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1200\"\u003ePyMySQL/PyMySQL#1200\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.1.1\u003c/h2\u003e\n\u003cp\u003eRelease date: 2024-05-21\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\nThis release fixes a vulnerability (CVE-2024-36039).\nAll users are recommended to update to this version.\u003c/p\u003e\n\u003cp\u003eIf you can not update soon, check the input value from\nuntrusted source has an expected type. Only dict input\nfrom untrusted source can be an attack vector.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cul\u003e\n\u003cli\u003eProhibit dict parameter for \u003ccode\u003eCursor.execute()\u003c/code\u003e. It didn't produce valid SQL\nand might cause SQL injection. (CVE-2024-36039)\u003c/li\u003e\n\u003cli\u003eAdded ssl_key_password param. \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1145\"\u003e#1145\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/PyMySQL/PyMySQL/commit/d7bb777e503d82bf2496113f07dd4ab249615efc\"\u003e\u003ccode\u003ed7bb777\u003c/code\u003e\u003c/a\u003e release v1.1.2 (\u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1218\"\u003e#1218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyMySQL/PyMySQL/commit/2559de5a6b01917622fc8986cd3dd8479d7d6e95\"\u003e\u003ccode\u003e2559de5\u003c/code\u003e\u003c/a\u003e update README (\u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1217\"\u003e#1217\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyMySQL/PyMySQL/commit/a388c3a5e274c3b8c03e5f1dcb442b4bb2f9bafd\"\u003e\u003ccode\u003ea388c3a\u003c/code\u003e\u003c/a\u003e ci: do not drop MySQL 5.7 test for now (\u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1216\"\u003e#1216\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyMySQL/PyMySQL/commit/9a3fe442edaca9db6da1809c82dbb6f4192440ee\"\u003e\u003ccode\u003e9a3fe44\u003c/code\u003e\u003c/a\u003e ci: update test matrix (\u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1215\"\u003e#1215\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyMySQL/PyMySQL/commit/bed601f04fb982c7c42c6ff7e56b7f749ac64cc9\"\u003e\u003ccode\u003ebed601f\u003c/code\u003e\u003c/a\u003e Add DeepWiki badge\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyMySQL/PyMySQL/commit/01af30fea0880c3b72e6c7b3b05d66a8c28ced7a\"\u003e\u003ccode\u003e01af30f\u003c/code\u003e\u003c/a\u003e fix auth_switch_request handling (\u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1200\"\u003e#1200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyMySQL/PyMySQL/commit/53efd1ec7f0e854abc62eb875b944f56bca29dd2\"\u003e\u003ccode\u003e53efd1e\u003c/code\u003e\u003c/a\u003e ci: use astral-sh/ruff-action (\u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1201\"\u003e#1201\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyMySQL/PyMySQL/commit/e88b729f8f1ddcf0851e0153188b016d0e9ec00c\"\u003e\u003ccode\u003ee88b729\u003c/code\u003e\u003c/a\u003e remove codeql and codesee actions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyMySQL/PyMySQL/commit/5f6533f883535b76c2d3a776c4746027027106f8\"\u003e\u003ccode\u003e5f6533f\u003c/code\u003e\u003c/a\u003e refactor: use defer_connect instead of mock (\u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1199\"\u003e#1199\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyMySQL/PyMySQL/commit/66ad1eaa47cfde19dfe01900ceb5f6ea51483e95\"\u003e\u003ccode\u003e66ad1ea\u003c/code\u003e\u003c/a\u003e add MariaDB to README.md (\u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1181\"\u003e#1181\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/PyMySQL/PyMySQL/compare/v1.1.0...v1.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyodbc` from 5.1.0 to 5.3.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mkleehammer/pyodbc/commit/7ee5b566984f7bd3d8fcfa0369e9e163e70e1cbd\"\u003e\u003ccode\u003e7ee5b56\u003c/code\u003e\u003c/a\u003e Update version to 5.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mkleehammer/pyodbc/commit/7fe96df1a5902a08807a94fb21e18e085125075e\"\u003e\u003ccode\u003e7fe96df\u003c/code\u003e\u003c/a\u003e Run Github CodeQL action on all branches\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mkleehammer/pyodbc/commit/e6b44ef79b5e26eecfa0e1531e276fd4030b817a\"\u003e\u003ccode\u003ee6b44ef\u003c/code\u003e\u003c/a\u003e Use License-Expression in pyproject.toml instead of licence\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mkleehammer/pyodbc/commit/a40c873938ce59c72c42eed66bb2dd8eec5c176f\"\u003e\u003ccode\u003ea40c873\u003c/code\u003e\u003c/a\u003e Do not perform type check on NULL pointer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mkleehammer/pyodbc/commit/c1db16c815eb0c825a03495e83f6d57181e00ad6\"\u003e\u003ccode\u003ec1db16c\u003c/code\u003e\u003c/a\u003e Use \u003ccode\u003eHOMEBREW_PREFIX\u003c/code\u003e to locate Homebrew (\u003ca href=\"https://redirect.github.com/mkleehammer/pyodbc/issues/1212\"\u003e#1212\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mkleehammer/pyodbc/commit/80de7864d1771b18c7d0af9e550c659ca1ac25bc\"\u003e\u003ccode\u003e80de786\u003c/code\u003e\u003c/a\u003e Move sqlite tests from old directory\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mkleehammer/pyodbc/commit/135fbf8f72ed2e4e3a198d075ea9f2a2faf9f6d8\"\u003e\u003ccode\u003e135fbf8\u003c/code\u003e\u003c/a\u003e Port sqlite tests from unittest to pytest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mkleehammer/pyodbc/commit/14cbdcc8a910d84cb8addc9f560c625715967822\"\u003e\u003ccode\u003e14cbdcc\u003c/code\u003e\u003c/a\u003e Drop support for EOL Python 3.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mkleehammer/pyodbc/commit/ac3f151343cce0dc7ba5f3f8b11b49de19e40201\"\u003e\u003ccode\u003eac3f151\u003c/code\u003e\u003c/a\u003e bump cibuildwheel to v3.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mkleehammer/pyodbc/commit/378d19e71511944f7e428d2e41dad127187a7539\"\u003e\u003ccode\u003e378d19e\u003c/code\u003e\u003c/a\u003e Add py3.14 to ubuntu build artifacts\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mkleehammer/pyodbc/compare/5.1.0...5.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rdflib` from 7.0.0 to 7.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/RDFLib/rdflib/releases\"\u003erdflib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2025-10-24 RELEASE 7.3.0\u003c/h2\u003e\n\u003cp\u003eThis release delivers several important fixes and enhancements to RDFLib’s Dataset implementation, resolving long-standing issues and improving consistency across serialization and SPARQL operations. It also introduces new deprecation notices for certain Dataset methods and attributes, which will be removed in the next major release. In addition, this version includes a range of improvements to SPARQL result parsing, typing, and literal handling.\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eDataset.__iadd__\u003c/code\u003e support\u003c/li\u003e\n\u003cli\u003eDataset's default serialize format is now \u003ccode\u003etrig\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eDatasets can now add graphs backed by different stores\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes and Improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where the \u003ccode\u003eRecursiveSerializer\u003c/code\u003e would output undeclared prefixes for predicates that contained the base as a substring\u003c/li\u003e\n\u003cli\u003ePrevented prefix generation for predicates corresponding to the base namespace\u003c/li\u003e\n\u003cli\u003eSPARQL Update now correctly inserts into the default graph\u003c/li\u003e\n\u003cli\u003eDataset.parse now returns Self\u003c/li\u003e\n\u003cli\u003eN-Quads serialization no longer includes the RDFLib internal default graph identifier\u003c/li\u003e\n\u003cli\u003eStatic type checkers can now infer the type of \u003ccode\u003eTerm.__new__\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eRemoved automatic date conversion for gYear and gYearMonth literals\u003c/li\u003e\n\u003cli\u003eOptional clauses in SPARQL queries can now bind variables\u003c/li\u003e\n\u003cli\u003eFixed reevaluation logic in SPARQL Update between update loops\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMaintenance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded deprecation notices to certain Dataset methods and attributes\n\u003cul\u003e\n\u003cli\u003eUse Dataset.graphs instead of Dataset.contexts method\u003c/li\u003e\n\u003cli\u003eUse Dataset.default_graph instead of Dataset.default_context\u003c/li\u003e\n\u003cli\u003eDeprecate Dataset.identifier entirely.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eUpdated type hints for Graph.open() with SPARQLUpdateStore configuration\u003c/li\u003e\n\u003cli\u003eSPARQL Result Parsing Improvements\n\u003cul\u003e\n\u003cli\u003eSimplified and modernized the SPARQL result parsing system:\u003c/li\u003e\n\u003cli\u003eThese changes maintain backward compatibility while making the SPARQL API more flexible and extensible.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee the \u003ca href=\"https://github.com/RDFLib/rdflib/blob/7.x/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for more details.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/RDFLib/rdflib/compare/7.2.1...7.3.0\"\u003ehttps://github.com/RDFLib/rdflib/compare/7.2.1...7.3.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2025-09-19 RELEASE 7.2.1\u003c/h2\u003e\n\u003cp\u003eNew features:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCanonicalization is now optional in the longturtle serializer. When serializing with the \u003ccode\u003elongturtle\u003c/code\u003e format, set \u003ccode\u003ecanon=True\u003c/code\u003e to enable canonicalization.\u003c/li\u003e\n\u003cli\u003eGeneral type hints enhancements\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed deskolemization of literals\u003c/li\u003e\n\u003cli\u003eFixed round-tripping of floats in N3 - floating point and scientific notation handling\u003c/li\u003e\n\u003cli\u003eFixed CI validation workflow, including regressions in tests\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eLiteral.toPython\u003c/code\u003e date conversion for gYear/gYearMonth\u003c/li\u003e\n\u003cli\u003eFixed namespace prefixes in longturtle serialization\u003c/li\u003e\n\u003cli\u003eFixed missing dot in RDF patch serialization\u003c/li\u003e\n\u003cli\u003ePrevious RDFLib releases required all downstream projects to specify \u0026lt;4.0.0. This release relaxes this requirement to allow Python 3.8.1 and later.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/RDFLib/rdflib/blob/main/CHANGELOG.md\"\u003erdflib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2025-09-19 RELEASE 7.2.1\u003c/h2\u003e\n\u003cp\u003eA tiny clean up release.\u003c/p\u003e\n\u003cp\u003eFixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePrevious RDFLib releases required all downstream projects to specify \u0026lt;4.0.0. This release relaxes this requirement to allow Python 3.8.1 and later.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2025-09-19 RELEASE 7.2.0\u003c/h2\u003e\n\u003cp\u003eThis release contains a number of fixes and improvements to RDFLib.\u003c/p\u003e\n\u003cp\u003eNew features:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCanonicalization is now optional in the longturtle serializer. When serializing with the \u003ccode\u003elongturtle\u003c/code\u003e format, set \u003ccode\u003ecanon=True\u003c/code\u003e to enable canonicalization.\u003c/li\u003e\n\u003cli\u003eGeneral type hints enhancements\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed deskolemization of literals\u003c/li\u003e\n\u003cli\u003eFixed round-tripping of floats in N3 - floating point and scientific notation handling\u003c/li\u003e\n\u003cli\u003eFixed CI validation workflow, including regressions in tests\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eLiteral.toPython\u003c/code\u003e date conversion for gYear/gYearMonth\u003c/li\u003e\n\u003cli\u003eFixed namespace prefixes in longturtle serialization\u003c/li\u003e\n\u003cli\u003eFixed missing dot in RDF patch serialization\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ePRs merged:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e2025-09-18 - [7.x] Fix incorrect deskolemization of literals\n[PR \u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3223\"\u003e#3223\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/pull/3223\"\u003eRDFLib/rdflib#3223\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2025-09-18 - Fix incorrect deskolemization of literals\n[PR \u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3127\"\u003e#3127\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/pull/3127\"\u003eRDFLib/rdflib#3127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2025-09-18 - notation3.py: don't normalize float representation\n[PR \u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3020\"\u003e#3020\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/pull/3020\"\u003eRDFLib/rdflib#3020\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2025-09-18 - [7.x] notation3.py: don't normalize float representation\n[PR \u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3221\"\u003e#3221\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/pull/3221\"\u003eRDFLib/rdflib#3221\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2025-09-18 - Merge 7-maintenance branch into 7.x\n[PR \u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3222\"\u003e#3222\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/pull/3222\"\u003eRDFLib/rdflib#3222\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2025-09-17 - Allow lxml 6\n[PR \u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3219\"\u003e#3219\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/pull/3219\"\u003eRDFLib/rdflib#3219\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2025-09-16 - ci: fix firejail command for poetry 2.1.0\n[PR \u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3218\"\u003e#3218\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/pull/3218\"\u003eRDFLib/rdflib#3218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2025-09-16 - chore: address dependabot security vulnerabilities\n[PR \u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3210\"\u003e#3210\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/pull/3210\"\u003eRDFLib/rdflib#3210\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2025-09-09 - Merge 7-maintenance changes into main\n[PR \u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3202\"\u003e#3202\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/pull/3202\"\u003eRDFLib/rdflib#3202\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2025-09-08 - feat: canonicalization with longturtle serializer now optional\n[PR \u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3197\"\u003e#3197\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/pull/3197\"\u003eRDFLib/rdflib#3197\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2025-09-03 - Specify \u003ccode\u003eOptional\u003c/code\u003e parameters in \u003ccode\u003eGraph.triples_choices\u003c/code\u003e\n[PR \u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3075\"\u003e#3075\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/pull/3075\"\u003eRDFLib/rdflib#3075\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2025-08-29 - Fix failing webtest\n[PR \u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3194\"\u003e#3194\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/pull/3194\"\u003eRDFLib/rdflib#3194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2025-08-29 - Revert \u0026quot;remove old hacks against 2to3 (\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3076\"\u003e#3076\u003c/a\u003e)\u0026quot;\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RDFLib/rdflib/commit/3b67ea708580e60fa0e5ce1f3a9e190c66f84428\"\u003e\u003ccode\u003e3b67ea7\u003c/code\u003e\u003c/a\u003e build: prep 7.3.0 (\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3277\"\u003e#3277\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RDFLib/rdflib/commit/634638fa31e450a2c7ff010f6c7a3dfcd4870383\"\u003e\u003ccode\u003e634638f\u003c/code\u003e\u003c/a\u003e feat: add Dataset \u003cstrong\u003eiadd\u003c/strong\u003e support (\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3268\"\u003e#3268\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RDFLib/rdflib/commit/72287e45ad1a9801a85d262f20657c23e8831209\"\u003e\u003ccode\u003e72287e4\u003c/code\u003e\u003c/a\u003e fix: RecursiveSerializer- outputs undeclared prefix for predicates that conta...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RDFLib/rdflib/commit/2a902e512123d1b9a8035fa1652aa3d0a0a918a4\"\u003e\u003ccode\u003e2a902e5\u003c/code\u003e\u003c/a\u003e fix: allow static type checkers to infer term's \u003cstrong\u003enew\u003c/strong\u003e type (\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3266\"\u003e#3266\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RDFLib/rdflib/commit/01de9bbd3a295a07ef8d00dc1ee9591f8aaeb411\"\u003e\u003ccode\u003e01de9bb\u003c/code\u003e\u003c/a\u003e fix: SPARQL Update inserts into the default graph (\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3265\"\u003e#3265\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RDFLib/rdflib/commit/2796fee74cf22b2debf5bff019bd0a929af8cee3\"\u003e\u003ccode\u003e2796fee\u003c/code\u003e\u003c/a\u003e patch for reevaluation in sparql modify between update loops. with test (\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3261\"\u003e#3261\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RDFLib/rdflib/commit/d5774efffab6d28e3805a0beb740ad5c287c34aa\"\u003e\u003ccode\u003ed5774ef\u003c/code\u003e\u003c/a\u003e chore: add deprecation notice to Dataset methods and attributes (\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3264\"\u003e#3264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RDFLib/rdflib/commit/0f3237d6765bcd98eafbf1282175bbb6eac9c1fa\"\u003e\u003ccode\u003e0f3237d\u003c/code\u003e\u003c/a\u003e fix: Dataset.parse now returns Self (\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3263\"\u003e#3263\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RDFLib/rdflib/commit/1a20cd94c24816860cff6372b64ecc7f7ffd0b91\"\u003e\u003ccode\u003e1a20cd9\u003c/code\u003e\u003c/a\u003e fix: dataset nquads serialization including RDFLib internal default graph ide...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RDFLib/rdflib/commit/32b6b88e9a267c3b517e0a36bf49c3f77535dca9\"\u003e\u003ccode\u003e32b6b88\u003c/code\u003e\u003c/a\u003e sparqls optionals clause can now bind variables. with test. issue 2957 (\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3247\"\u003e#3247\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/RDFLib/rdflib/compare/7.0.0...7.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `holidays` from 0.43 to 0.83\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vacanza/holidays/releases\"\u003eholidays's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.83\u003c/h2\u003e\n\u003ch1\u003eVersion 0.83\u003c/h1\u003e\n\u003cp\u003eReleased October 20, 2025\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e_add_observed\u003c/code\u003e/\u003ccode\u003e_move_holiday\u003c/code\u003e's \u003ccode\u003eforce_observed\u003c/code\u003e support (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2986\"\u003e#2986\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIntroduce \u003ccode\u003eHolidayBase::_is_weekday\u003c/code\u003e method (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2999\"\u003e#2999\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor \u003ccode\u003eHolidaySum::__init__\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/3013\"\u003e#3013\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Western Sahara holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/3003\"\u003e#3003\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Denmark holidays: add \u003ccode\u003eth\u003c/code\u003e l10n support, refactor test cases (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/3011\"\u003e#3011\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Islamic holidays calculation (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2981\"\u003e#2981\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Netherlands holidays: add \u003ccode\u003eth\u003c/code\u003e l10n, refactor test cases (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/3006\"\u003e#3006\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Slovakia holidays: additional holidays moved to \u003ccode\u003eWORKDAY\u003c/code\u003e for 2026 (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/3005\"\u003e#3005\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Slovakia holidays: move \u0026quot;Struggle for Freedom and Democracy Day\u0026quot; to \u003ccode\u003eWORKDAY\u003c/code\u003e category for 2025 onwards (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/3004\"\u003e#3004\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Switzerland holidays: add Zurich's \u003ccode\u003eHALF_DAY\u003c/code\u003e, \u003ccode\u003eOPTIONAL\u003c/code\u003e holidays, \u003ccode\u003eth\u003c/code\u003e l10n support (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2984\"\u003e#2984\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate badges (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2990\"\u003e#2990\u003c/a\u003e by \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate ruff configuration: add \u003ccode\u003eflake8-boolean-trap\u003c/code\u003e (FBT) errors check (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/3007\"\u003e#3007\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInline single-use variables, update .py files formatting (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/3014\"\u003e#3014\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSwitch to Python 3.14 (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2997\"\u003e#2997\u003c/a\u003e by \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/vacanza/holidays/compare/v0.82...v0.83\"\u003ehttps://github.com/vacanza/holidays/compare/v0.82...v0.83\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.82\u003c/h2\u003e\n\u003ch1\u003eVersion 0.82\u003c/h1\u003e\n\u003cp\u003eReleased October 6, 2025\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd variable weekend support (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2945\"\u003e#2945\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor Chile holidays: reduce l10n string duplication (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2934\"\u003e#2934\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor Cuba holidays: reduce l10n string duplication (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2935\"\u003e#2935\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor Eastern holidays groups (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2966\"\u003e#2966\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor Hungary holidays: reduce l10n string duplication (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2936\"\u003e#2936\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor Japan holidays: reduce l10n string duplication, \u003ccode\u003een_US\u003c/code\u003e typo fixed (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2937\"\u003e#2937\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor Portugal holidays: consolidate holidays code (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2943\"\u003e#2943\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor South Africa holidays: move \u003ccode\u003estart_year\u003c/code\u003e to 1911, capitalization fixes (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2942\"\u003e#2942\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor \u003ccode\u003etest_utils.py\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2970\"\u003e#2970\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor iCal exporter (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2977\"\u003e#2977\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor imports in certain countries: use \u003ccode\u003eTYPE_CHECKING\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2949\"\u003e#2949\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Antarctica holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2962\"\u003e#2962\u003c/a\u003e by \u003ca href=\"https://github.com/Aaqilyousuf\"\u003e\u003ccode\u003e@​Aaqilyousuf\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Myanmar holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2944\"\u003e#2944\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e, ...\n\n_Description has been truncated_","html_url":"https://github.com/autocode07/Arelle__Arelle.aa0c3a3b/pull/2","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/autocode07%2FArelle__Arelle.aa0c3a3b/issues/2","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/2/packages"}},{"old_version":"1.31.2","new_version":"1.31.5","update_type":"patch","path":null,"pr_created_at":"2025-10-20T16:54:40.000Z","version_change":"1.31.2 → 1.31.5","issue":{"uuid":"3533188081","node_id":"PR_kwDOPHGkIc6uq-tJ","number":14,"state":"closed","title":"Bump the python-dependencies group across 1 directory with 28 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-02-09T20:10:54.000Z","author_association":null,"state_reason":null,"created_at":"2025-10-20T16:54:40.000Z","updated_at":"2026-02-09T20:10:56.000Z","time_to_close":9688574,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"python-dependencies","update_count":28,"packages":[{"name":"ixbrl-viewer","old_version":"1.4.68","new_version":"1.4.77","repository_url":"https://github.com/Arelle/ixbrl-viewer"},{"name":"boto3","old_version":"1.39.2","new_version":"1.40.55","repository_url":"https://github.com/boto/boto3"},{"name":"pytest","old_version":"8.4.1","new_version":"8.4.2","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"certifi","old_version":"2025.6.15","new_version":"2025.10.5","repository_url":"https://github.com/certifi/python-certifi"},{"name":"filelock","old_version":"3.18.0","new_version":"3.19.1","repository_url":"https://github.com/tox-dev/py-filelock"},{"name":"jsonschema","old_version":"4.24.0","new_version":"4.25.1","repository_url":"https://github.com/python-jsonschema/jsonschema"},{"name":"pyparsing","old_version":"3.2.3","new_version":"3.2.5","repository_url":"https://github.com/pyparsing/pyparsing"},{"name":"regex","old_version":"2024.11.6","new_version":"2025.9.18","repository_url":"https://github.com/mrabarnett/mrab-regex"},{"name":"typing-extensions","old_version":"4.14.0","new_version":"4.15.0","repository_url":"https://github.com/python/typing_extensions"},{"name":"cheroot","old_version":"10.0.1","new_version":"11.0.0","repository_url":"https://github.com/cherrypy/cheroot"},{"name":"holidays","old_version":"0.75","new_version":"0.82","repository_url":"https://github.com/vacanza/holidays"},{"name":"tornado","old_version":"6.5.1","new_version":"6.5.2","repository_url":"https://github.com/tornadoweb/tornado"},{"name":"pg8000","old_version":"1.31.2","new_version":"1.31.5","repository_url":"https://github.com/tlocke/pg8000"},{"name":"pymysql","old_version":"1.1.1","new_version":"1.1.2","repository_url":"https://github.com/PyMySQL/PyMySQL"},{"name":"pyodbc","old_version":"5.2.0","new_version":"5.3.0","repository_url":"https://github.com/mkleehammer/pyodbc"},{"name":"rdflib","old_version":"7.1.4","new_version":"7.2.1","repository_url":"https://github.com/RDFLib/rdflib"},{"name":"pywin32","old_version":"310","new_version":"311","repository_url":"https://github.com/mhammond/pywin32"},{"name":"mypy","old_version":"1.16.1","new_version":"1.18.2","repository_url":"https://github.com/python/mypy"},{"name":"boto3-stubs","old_version":"1.39.2","new_version":"1.40.55","repository_url":"https://github.com/youtype/mypy_boto3_builder"},{"name":"types-pymysql","old_version":"1.1.0.20250516","new_version":"1.1.0.20250916","repository_url":"https://github.com/typeshed-internal/stub_uploader"},{"name":"types-openpyxl","old_version":"3.1.5.20250602","new_version":"3.1.5.20250919","repository_url":"https://github.com/typeshed-internal/stub_uploader"},{"name":"types-python-dateutil","old_version":"2.9.0.20250516","new_version":"2.9.0.20251008","repository_url":"https://github.com/typeshed-internal/stub_uploader"},{"name":"types-pytz","old_version":"2025.2.0.20250516","new_version":"2025.2.0.20250809","repository_url":"https://github.com/typeshed-internal/stub_uploader"},{"name":"types-regex","old_version":"2024.11.6.20250403","new_version":"2025.9.18.20250921","repository_url":"https://github.com/typeshed-internal/stub_uploader"},{"name":"types-simplejson","old_version":"3.20.0.20250326","new_version":"3.20.0.20250822","repository_url":"https://github.com/typeshed-internal/stub_uploader"},{"name":"types-ujson","old_version":"5.10.0.20250326","new_version":"5.10.0.20250822","repository_url":"https://github.com/typeshed-internal/stub_uploader"},{"name":"types-waitress","old_version":"3.0.1.20241117","new_version":"3.0.1.20250801","repository_url":"https://github.com/typeshed-internal/stub_uploader"},{"name":"furo","old_version":"2024.8.6","new_version":"2025.9.25","repository_url":"https://github.com/pradyunsg/furo"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-dependencies group with 28 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [ixbrl-viewer](https://github.com/Arelle/ixbrl-viewer) | `1.4.68` | `1.4.77` |\n| [boto3](https://github.com/boto/boto3) | `1.39.2` | `1.40.55` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.4.1` | `8.4.2` |\n| [certifi](https://github.com/certifi/python-certifi) | `2025.6.15` | `2025.10.5` |\n| [filelock](https://github.com/tox-dev/py-filelock) | `3.18.0` | `3.19.1` |\n| [jsonschema](https://github.com/python-jsonschema/jsonschema) | `4.24.0` | `4.25.1` |\n| [pyparsing](https://github.com/pyparsing/pyparsing) | `3.2.3` | `3.2.5` |\n| [regex](https://github.com/mrabarnett/mrab-regex) | `2024.11.6` | `2025.9.18` |\n| [typing-extensions](https://github.com/python/typing_extensions) | `4.14.0` | `4.15.0` |\n| [cheroot](https://github.com/cherrypy/cheroot) | `10.0.1` | `11.0.0` |\n| [holidays](https://github.com/vacanza/holidays) | `0.75` | `0.82` |\n| [tornado](https://github.com/tornadoweb/tornado) | `6.5.1` | `6.5.2` |\n| [pg8000](https://github.com/tlocke/pg8000) | `1.31.2` | `1.31.5` |\n| [pymysql](https://github.com/PyMySQL/PyMySQL) | `1.1.1` | `1.1.2` |\n| [pyodbc](https://github.com/mkleehammer/pyodbc) | `5.2.0` | `5.3.0` |\n| [rdflib](https://github.com/RDFLib/rdflib) | `7.1.4` | `7.2.1` |\n| [pywin32](https://github.com/mhammond/pywin32) | `310` | `311` |\n| [mypy](https://github.com/python/mypy) | `1.16.1` | `1.18.2` |\n| [boto3-stubs](https://github.com/youtype/mypy_boto3_builder) | `1.39.2` | `1.40.55` |\n| [types-pymysql](https://github.com/typeshed-internal/stub_uploader) | `1.1.0.20250516` | `1.1.0.20250916` |\n| [types-openpyxl](https://github.com/typeshed-internal/stub_uploader) | `3.1.5.20250602` | `3.1.5.20250919` |\n| [types-python-dateutil](https://github.com/typeshed-internal/stub_uploader) | `2.9.0.20250516` | `2.9.0.20251008` |\n| [types-pytz](https://github.com/typeshed-internal/stub_uploader) | `2025.2.0.20250516` | `2025.2.0.20250809` |\n| [types-regex](https://github.com/typeshed-internal/stub_uploader) | `2024.11.6.20250403` | `2025.9.18.20250921` |\n| [types-simplejson](https://github.com/typeshed-internal/stub_uploader) | `3.20.0.20250326` | `3.20.0.20250822` |\n| [types-ujson](https://github.com/typeshed-internal/stub_uploader) | `5.10.0.20250326` | `5.10.0.20250822` |\n| [types-waitress](https://github.com/typeshed-internal/stub_uploader) | `3.0.1.20241117` | `3.0.1.20250801` |\n| [furo](https://github.com/pradyunsg/furo) | `2024.8.6` | `2025.9.25` |\n\n\nUpdates `ixbrl-viewer` from 1.4.68 to 1.4.77\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Arelle/ixbrl-viewer/releases\"\u003eixbrl-viewer's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.4.77\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSort dimensions when displayed in Fact Properties (\u003ca href=\"https://redirect.github.com/Arelle/ixbrl-viewer/issues/945\"\u003e#945\u003c/a\u003e) \u003ca href=\"https://github.com/strr\"\u003e\u003ccode\u003e@​strr\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.4.76\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eWhen fetching the config file, make the callback easier to understand and include the URL in its log message (\u003ca href=\"https://redirect.github.com/Arelle/ixbrl-viewer/issues/944\"\u003e#944\u003c/a\u003e) \u003ca href=\"https://github.com/strr\"\u003e\u003ccode\u003e@​strr\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e⬆️ Dependencies\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cul\u003e\n\u003cli\u003eBump the npm-dependencies group with 20 updates (\u003ca href=\"https://redirect.github.com/Arelle/ixbrl-viewer/issues/942\"\u003e#942\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump stylelint-config-standard from 39.0.0 to 39.0.1 in the stylelint group (\u003ca href=\"https://redirect.github.com/Arelle/ixbrl-viewer/issues/943\"\u003e#943\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump softprops/action-gh-release from 2.3.4 to 2.4.1 in the github-action-dependencies group (\u003ca href=\"https://redirect.github.com/Arelle/ixbrl-viewer/issues/941\"\u003e#941\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump stylelint from 16.24.0 to 16.25.0 in the stylelint group (\u003ca href=\"https://redirect.github.com/Arelle/ixbrl-viewer/issues/940\"\u003e#940\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the npm-dependencies group with 24 updates (\u003ca href=\"https://redirect.github.com/Arelle/ixbrl-viewer/issues/939\"\u003e#939\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump softprops/action-gh-release from 2.3.3 to 2.3.4 in the github-action-dependencies group (\u003ca href=\"https://redirect.github.com/Arelle/ixbrl-viewer/issues/938\"\u003e#938\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the jest group with 40 updates (\u003ca href=\"https://redirect.github.com/Arelle/ixbrl-viewer/issues/937\"\u003e#937\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the npm-dependencies group with 17 updates (\u003ca href=\"https://redirect.github.com/Arelle/ixbrl-viewer/issues/936\"\u003e#936\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump furo from 2025.7.19 to 2025.9.25 in the pip-dependencies group (\u003ca href=\"https://redirect.github.com/Arelle/ixbrl-viewer/issues/935\"\u003e#935\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the npm-dependencies group with 19 updates (\u003ca href=\"https://redirect.github.com/Arelle/ixbrl-viewer/issues/934\"\u003e#934\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump mypy from 1.18.1 to 1.18.2 in the pip-dependencies group (\u003ca href=\"https://redirect.github.com/Arelle/ixbrl-viewer/issues/933\"\u003e#933\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003e1.4.75\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch2\u003e⬆️ Dependencies\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cul\u003e\n\u003cli\u003eBump error-ex from 1.3.2 to 1.3.3 in the npm-dependencies group across 1 directory (\u003ca href=\"https://redirect.github.com/Arelle/ixbrl-viewer/issues/930\"\u003e#930\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump pytest from 8.4.1 to 8.4.2 in the pip-dependencies group (\u003ca href=\"https://redirect.github.com/Arelle/ixbrl-viewer/issues/925\"\u003e#925\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the github-action-dependencies group with 3 updates (\u003ca href=\"https://redirect.github.com/Arelle/ixbrl-viewer/issues/926\"\u003e#926\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the npm-dependencies group with 23 updates (\u003ca href=\"https://redirect.github.com/Arelle/ixbrl-viewer/issues/927\"\u003e#927\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the jest group with 28 updates (\u003ca href=\"https://redirect.github.com/Arelle/ixbrl-viewer/issues/928\"\u003e#928\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump stylelint from 16.23.1 to 16.24.0 in the stylelint group (\u003ca href=\"https://redirect.github.com/Arelle/ixbrl-viewer/issues/929\"\u003e#929\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the npm-dependencies group across 1 directory with 6 updates (\u003ca href=\"https://redirect.github.com/Arelle/ixbrl-viewer/issues/924\"\u003e#924\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the npm-dependencies group with 11 updates (\u003ca href=\"https://redirect.github.com/Arelle/ixbrl-viewer/issues/921\"\u003e#921\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the jest group with 34 updates (\u003ca href=\"https://redirect.github.com/Arelle/ixbrl-viewer/issues/922\"\u003e#922\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump typing-extensions from 4.14.1 to 4.15.0 in the pip-dependencies group (\u003ca href=\"https://redirect.github.com/Arelle/ixbrl-viewer/issues/920\"\u003e#920\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003e1.4.74\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch2\u003e⬆️ Dependencies\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Arelle/ixbrl-viewer/commit/ceb09984fe82798b90a4ca894fd0d375eb04dd5a\"\u003e\u003ccode\u003eceb0998\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Arelle/ixbrl-viewer/issues/945\"\u003e#945\u003c/a\u003e from strr/sort-aspects\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Arelle/ixbrl-viewer/commit/1118ecc98c29e08a1eb7d60b0df9f405aca3f874\"\u003e\u003ccode\u003e1118ecc\u003c/code\u003e\u003c/a\u003e Fix docstring on Fact aspects()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Arelle/ixbrl-viewer/commit/334d2ba1a11aceee2de7de82af6bcbe1c366922c\"\u003e\u003ccode\u003e334d2ba\u003c/code\u003e\u003c/a\u003e Sort aspects so that taxonomy dimensions are displayed in a consistent order ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Arelle/ixbrl-viewer/commit/b09f9e93f9bdee4ed86c725875ffff054f7057d9\"\u003e\u003ccode\u003eb09f9e9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Arelle/ixbrl-viewer/issues/944\"\u003e#944\u003c/a\u003e from strr/strr/config-fetch-simplify\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Arelle/ixbrl-viewer/commit/6bfca7bcd3e2ec010bebfac45b17059086fca837\"\u003e\u003ccode\u003e6bfca7b\u003c/code\u003e\u003c/a\u003e When fetching the config file, make the callback easier to understand\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Arelle/ixbrl-viewer/commit/19e8eec3f8a223741612907cec2d02033740bfd5\"\u003e\u003ccode\u003e19e8eec\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Arelle/ixbrl-viewer/issues/942\"\u003e#942\u003c/a\u003e from Arelle/dependabot/npm_and_yarn/npm-dependencies-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Arelle/ixbrl-viewer/commit/7fba79c03ee11a71016e9a961c74d59a8b7f520d\"\u003e\u003ccode\u003e7fba79c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Arelle/ixbrl-viewer/issues/943\"\u003e#943\u003c/a\u003e from Arelle/dependabot/npm_and_yarn/stylelint-dac218c75b\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Arelle/ixbrl-viewer/commit/1565a43093db9a0c1ca2508eed713fa194c997c7\"\u003e\u003ccode\u003e1565a43\u003c/code\u003e\u003c/a\u003e Bump stylelint-config-standard in the stylelint group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Arelle/ixbrl-viewer/commit/dd59016d77590e6c4d6ec04ab4a29808593bf8a7\"\u003e\u003ccode\u003edd59016\u003c/code\u003e\u003c/a\u003e Bump the npm-dependencies group with 20 updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Arelle/ixbrl-viewer/commit/4cf26cf689b578d9bc15a8ba5bfa4370d198c177\"\u003e\u003ccode\u003e4cf26cf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Arelle/ixbrl-viewer/issues/941\"\u003e#941\u003c/a\u003e from Arelle/dependabot/github_actions/github-action-d...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Arelle/ixbrl-viewer/compare/1.4.68...1.4.77\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `boto3` from 1.39.2 to 1.40.55\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/eb5f82773991f715b62dc38f6801d76d1035a868\"\u003e\u003ccode\u003eeb5f827\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.55'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/52a3496b66a6ff66755c4315c55f22b07826e758\"\u003e\u003ccode\u003e52a3496\u003c/code\u003e\u003c/a\u003e Bumping version to 1.40.55\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/0c90e25258ee214b06e96f3b458a6e0d843a990a\"\u003e\u003ccode\u003e0c90e25\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/2f92c15bdda649d95fce1d865c65f81dfab5f3f4\"\u003e\u003ccode\u003e2f92c15\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.54'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/eaf0158a0a0b80633d2e6a5c58bf78c1fbfb4bd1\"\u003e\u003ccode\u003eeaf0158\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.54' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/574a0d474790a8c548f7b8618b29a874fffe10e6\"\u003e\u003ccode\u003e574a0d4\u003c/code\u003e\u003c/a\u003e Bumping version to 1.40.54\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/1ada209aa81b0919af8c7df09c04efa7b4bfa626\"\u003e\u003ccode\u003e1ada209\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/9a9288aae8f60bc20679b57291fd642af33f4102\"\u003e\u003ccode\u003e9a9288a\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.53'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/7d581c32f273a4835fe8fc67917e856f2bb2a1c3\"\u003e\u003ccode\u003e7d581c3\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.53' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/312bc51267cbf62136b2f37543e88aa46f770506\"\u003e\u003ccode\u003e312bc51\u003c/code\u003e\u003c/a\u003e Bumping version to 1.40.53\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/boto/boto3/compare/1.39.2...1.40.55\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest` from 8.4.1 to 8.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest/releases\"\u003epytest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.4.2\u003c/h2\u003e\n\u003ch1\u003epytest 8.4.2 (2025-09-03)\u003c/h1\u003e\n\u003ch2\u003eBug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13478\"\u003e#13478\u003c/a\u003e: Fixed a crash when using \u003ccode\u003econsole_output_style\u003c/code\u003e{.interpreted-text role=\u0026quot;confval\u0026quot;} with \u003ccode\u003etimes\u003c/code\u003e and a module is skipped.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13530\"\u003e#13530\u003c/a\u003e: Fixed a crash when using \u003ccode\u003epytest.approx\u003c/code\u003e{.interpreted-text role=\u0026quot;func\u0026quot;} and \u003ccode\u003edecimal.Decimal\u003c/code\u003e{.interpreted-text role=\u0026quot;class\u0026quot;} instances with the \u003ccode\u003edecimal.FloatOperation\u003c/code\u003e{.interpreted-text role=\u0026quot;class\u0026quot;} trap set.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13549\"\u003e#13549\u003c/a\u003e: No longer evaluate type annotations in Python \u003ccode\u003e3.14\u003c/code\u003e when inspecting function signatures.\u003c/p\u003e\n\u003cp\u003eThis prevents crashes during module collection when modules do not explicitly use \u003ccode\u003efrom __future__ import annotations\u003c/code\u003e and import types for annotations within a \u003ccode\u003eif TYPE_CHECKING:\u003c/code\u003e block.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13559\"\u003e#13559\u003c/a\u003e: Added missing [int]{.title-ref} and [float]{.title-ref} variants to the [Literal]{.title-ref} type annotation of the [type]{.title-ref} parameter in \u003ccode\u003epytest.Parser.addini\u003c/code\u003e{.interpreted-text role=\u0026quot;meth\u0026quot;}.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13563\"\u003e#13563\u003c/a\u003e: \u003ccode\u003epytest.approx\u003c/code\u003e{.interpreted-text role=\u0026quot;func\u0026quot;} now only imports \u003ccode\u003enumpy\u003c/code\u003e if NumPy is already in \u003ccode\u003esys.modules\u003c/code\u003e. This fixes unconditional import behavior introduced in [8.4.0]{.title-ref}.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImproved documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13577\"\u003e#13577\u003c/a\u003e: Clarify that \u003ccode\u003epytest_generate_tests\u003c/code\u003e is discovered in test modules/classes; other hooks must be in \u003ccode\u003econftest.py\u003c/code\u003e or plugins.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributor-facing changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13480\"\u003e#13480\u003c/a\u003e: Self-testing: fixed a few test failures when run with \u003ccode\u003e-Wdefault\u003c/code\u003e or a similar override.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13547\"\u003e#13547\u003c/a\u003e: Self-testing: corrected expected message for \u003ccode\u003etest_doctest_unexpected_exception\u003c/code\u003e in Python \u003ccode\u003e3.14\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13684\"\u003e#13684\u003c/a\u003e: Make pytest's own testsuite insensitive to the presence of the \u003ccode\u003eCI\u003c/code\u003e environment variable -- by \u003ccode\u003eogrisel\u003c/code\u003e{.interpreted-text role=\u0026quot;user\u0026quot;}.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/bfae4224fd554d3d7f2c277a4cc092b6ec6af3ae\"\u003e\u003ccode\u003ebfae422\u003c/code\u003e\u003c/a\u003e Prepare release version 8.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/89905381a163be30ae87d62e5f750e902d750c5f\"\u003e\u003ccode\u003e8990538\u003c/code\u003e\u003c/a\u003e Fix passenv CI in tox ini and make tests insensitive to the presence of the C...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/ca676bfe005aebcb12f4146d1b0f1d2772e2cd5d\"\u003e\u003ccode\u003eca676bf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13687\"\u003e#13687\u003c/a\u003e from pytest-dev/patchback/backports/8.4.x/e63f6e51c...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/975a60a63ce385a44655596e254c1899feaa53e4\"\u003e\u003ccode\u003e975a60a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13686\"\u003e#13686\u003c/a\u003e from pytest-dev/patchback/backports/8.4.x/12bde8af6...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/7723ce84b87ab08f86ddafcb342acc28ba5ec99d\"\u003e\u003ccode\u003e7723ce8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13683\"\u003e#13683\u003c/a\u003e from even-even/fix_Exeption_to_Exception_in_errorMe...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/b7f05680d1301e0969b30bcb3c4b27433c9ee2b7\"\u003e\u003ccode\u003eb7f0568\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13685\"\u003e#13685\u003c/a\u003e from CoretexShadow/fix/docs-pytest-generate-tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/2c94c4a6948ba53440818389298157fa5d5f94cd\"\u003e\u003ccode\u003e2c94c4a\u003c/code\u003e\u003c/a\u003e add missing colon (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13640\"\u003e#13640\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13641\"\u003e#13641\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/c3d7684bc01c8c48d05145a30c5211ca8656c68c\"\u003e\u003ccode\u003ec3d7684\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13606\"\u003e#13606\u003c/a\u003e from pytest-dev/patchback/backports/8.4.x/5f9938563...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/dc6e3be2ddc75a149b6d102d9b7c82ee47a00cfa\"\u003e\u003ccode\u003edc6e3be\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13605\"\u003e#13605\u003c/a\u003e from The-Compiler/training-update-2025-07\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/f87289c36c8dbe7740e3020f5546b6f8b0861ff0\"\u003e\u003ccode\u003ef87289c\u003c/code\u003e\u003c/a\u003e Fix crash with \u003ccode\u003etimes\u003c/code\u003e output style and skipped module (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13573\"\u003e#13573\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13579\"\u003e#13579\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest/compare/8.4.1...8.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `certifi` from 2025.6.15 to 2025.10.5\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/fb14ac49a976b1695d84b1ac1307276a20b3aac9\"\u003e\u003ccode\u003efb14ac4\u003c/code\u003e\u003c/a\u003e 2025.10.05 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/371\"\u003e#371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/2c7c7ee6b76a118191b685a4cc028d4241f22eb7\"\u003e\u003ccode\u003e2c7c7ee\u003c/code\u003e\u003c/a\u003e Add Python 3.14 classifier in setup.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/1a5cb7b3771bba256755f88b3dcf3ac13f064622\"\u003e\u003ccode\u003e1a5cb7b\u003c/code\u003e\u003c/a\u003e Bump actions/setup-python from 5.6.0 to 6.0.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/367\"\u003e#367\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/dea59605ef2b266c2e0e67938e8c8535a04b1211\"\u003e\u003ccode\u003edea5960\u003c/code\u003e\u003c/a\u003e Bump pypa/gh-action-pypi-publish from 1.12.4 to 1.13.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/366\"\u003e#366\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/83566b7c993eef772facdaff59c7bba105675329\"\u003e\u003ccode\u003e83566b7\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4.2.2 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/ca2e121bdb304fd01f802d3b1ee6a65684f569f2\"\u003e\u003ccode\u003eca2e121\u003c/code\u003e\u003c/a\u003e Bump actions/download-artifact from 4.3.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/a97d9ad8f87c382378dddc0b0b33b9770932404e\"\u003e\u003ccode\u003ea97d9ad\u003c/code\u003e\u003c/a\u003e 2025.08.03 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/362\"\u003e#362\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/ddd90c6d726f174c1e5820379dac0f2a8fc723a1\"\u003e\u003ccode\u003eddd90c6\u003c/code\u003e\u003c/a\u003e 2025.07.14 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/359\"\u003e#359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/d905221c916d51077f5c8071a0f7aa2df2a37c52\"\u003e\u003ccode\u003ed905221\u003c/code\u003e\u003c/a\u003e 2025.07.09 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/358\"\u003e#358\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/certifi/python-certifi/compare/2025.06.15...2025.10.05\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `filelock` from 3.18.0 to 3.19.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tox-dev/py-filelock/releases\"\u003efilelock's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.19.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eadd 3.14t (free threading) to matrix by \u003ca href=\"https://github.com/paultiq\"\u003e\u003ccode\u003e@​paultiq\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/433\"\u003etox-dev/filelock#433\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIncrease test coverage by \u003ca href=\"https://github.com/paultiq\"\u003e\u003ccode\u003e@​paultiq\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/434\"\u003etox-dev/filelock#434\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/paultiq\"\u003e\u003ccode\u003e@​paultiq\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/433\"\u003etox-dev/filelock#433\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tox-dev/filelock/compare/3.19.0...3.19.1\"\u003ehttps://github.com/tox-dev/filelock/compare/3.19.0...3.19.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.19.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for 3.14 by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/432\"\u003etox-dev/filelock#432\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tox-dev/filelock/compare/3.18.0...3.19.0\"\u003ehttps://github.com/tox-dev/filelock/compare/3.18.0...3.19.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/8d1009f08a6a64624fad91d1079062ef31b8c2b4\"\u003e\u003ccode\u003e8d1009f\u003c/code\u003e\u003c/a\u003e Update release.yaml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/66a428e97a874b44b0310072f6c974226f55a472\"\u003e\u003ccode\u003e66a428e\u003c/code\u003e\u003c/a\u003e Increase test coverage (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/434\"\u003e#434\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/0dfc86eebd2c76ae959a409bcbc3112cc1ec5890\"\u003e\u003ccode\u003e0dfc86e\u003c/code\u003e\u003c/a\u003e add 3.14 to matrix (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/433\"\u003e#433\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/0c54837e318ebe8a692b529722430cb38134bf7c\"\u003e\u003ccode\u003e0c54837\u003c/code\u003e\u003c/a\u003e Add support for 3.14 (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/432\"\u003e#432\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/77d02f5ada3a1a92167b1beee35a7815cbde0fcf\"\u003e\u003ccode\u003e77d02f5\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5 (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/430\"\u003e#430\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/bc972b33bf253bb9f08db32b19ffd4119a74706e\"\u003e\u003ccode\u003ebc972b3\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/429\"\u003e#429\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/78d02cb5ff42b22a56ad1a36755361a6b4601765\"\u003e\u003ccode\u003e78d02cb\u003c/code\u003e\u003c/a\u003e Bump actions/download-artifact from 4 to 5 (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/428\"\u003e#428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/18cdb5d1c78a7a459463480303e9820f33cdf041\"\u003e\u003ccode\u003e18cdb5d\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/427\"\u003e#427\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/b198a096d2bae58596479497d18a82bbeec515c8\"\u003e\u003ccode\u003eb198a09\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/426\"\u003e#426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/6b097e76de603d9be6a24c5058b6fe53ef003afd\"\u003e\u003ccode\u003e6b097e7\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/425\"\u003e#425\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tox-dev/py-filelock/compare/3.18.0...3.19.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jsonschema` from 4.24.0 to 4.25.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-jsonschema/jsonschema/releases\"\u003ejsonschema's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.25.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidator\u003c/code\u003e protocol init to match runtime by \u003ca href=\"https://github.com/sirosen\"\u003e\u003ccode\u003e@​sirosen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1396\"\u003epython-jsonschema/jsonschema#1396\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/python-jsonschema/jsonschema/compare/v4.25.0...v4.25.1\"\u003ehttps://github.com/python-jsonschema/jsonschema/compare/v4.25.0...v4.25.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.25.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for the \u003ccode\u003eiri\u003c/code\u003e and \u003ccode\u003eiri-reference\u003c/code\u003e formats to the \u003ccode\u003eformat-nongpl\u003c/code\u003e extra by \u003ca href=\"https://github.com/jkowalleck\"\u003e\u003ccode\u003e@​jkowalleck\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1388\"\u003epython-jsonschema/jsonschema#1388\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/jkowalleck\"\u003e\u003ccode\u003e@​jkowalleck\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1388\"\u003epython-jsonschema/jsonschema#1388\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/python-jsonschema/jsonschema/compare/v4.24.1...v4.25.0\"\u003ehttps://github.com/python-jsonschema/jsonschema/compare/v4.24.1...v4.25.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.24.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUnambiguously quote and escape properties in JSON path rendering by \u003ca href=\"https://github.com/kurtmckee\"\u003e\u003ccode\u003e@​kurtmckee\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1390\"\u003epython-jsonschema/jsonschema#1390\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop python\u0026lt;3.9 backports by \u003ca href=\"https://github.com/hackowitz-af\"\u003e\u003ccode\u003e@​hackowitz-af\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1367\"\u003epython-jsonschema/jsonschema#1367\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/hackowitz-af\"\u003e\u003ccode\u003e@​hackowitz-af\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1367\"\u003epython-jsonschema/jsonschema#1367\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kurtmckee\"\u003e\u003ccode\u003e@​kurtmckee\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1390\"\u003epython-jsonschema/jsonschema#1390\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/python-jsonschema/jsonschema/compare/v4.24.0...v4.24.1\"\u003ehttps://github.com/python-jsonschema/jsonschema/compare/v4.24.0...v4.24.1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-jsonschema/jsonschema/blob/main/CHANGELOG.rst\"\u003ejsonschema's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev4.25.1\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix an incorrect required argument in the \u003ccode\u003eValidator\u003c/code\u003e protocol's type annotations (\u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1396\"\u003e#1396\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev4.25.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for the \u003ccode\u003eiri\u003c/code\u003e and \u003ccode\u003eiri-reference\u003c/code\u003e formats to the \u003ccode\u003eformat-nongpl\u003c/code\u003e extra via the MIT-licensed \u003ccode\u003erfc3987-syntax\u003c/code\u003e.\nThey were alread supported by the \u003ccode\u003eformat\u003c/code\u003e extra. (\u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1388\"\u003e#1388\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev4.24.1\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eProperly escape segments in \u003ccode\u003eValidationError.json_path\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/139\"\u003e#139\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/331c38425519b69118d22ebe467ad230fb83a010\"\u003e\u003ccode\u003e331c384\u003c/code\u003e\u003c/a\u003e Add the fix to the changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/c1ec0a645e913e83de95995f6efbbd358676abf6\"\u003e\u003ccode\u003ec1ec0a6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1398\"\u003e#1398\u003c/a\u003e from python-jsonschema/dependabot/github_actions/ast...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/8e7d594faff13f8f663b306a0d86bea0ce5de6cb\"\u003e\u003ccode\u003e8e7d594\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1399\"\u003e#1399\u003c/a\u003e from python-jsonschema/dependabot/github_actions/act...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/460f4fae42664773160f56ccc843a4fcea34f7cf\"\u003e\u003ccode\u003e460f4fa\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1396\"\u003e#1396\u003c/a\u003e from sirosen/improve-protocol-init-signature\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/1e58409b71a9696b7bf9938ae8a3a48ef95ab29e\"\u003e\u003ccode\u003e1e58409\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] auto fixes from pre-commit.com hooks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/64bc2171624ef201bdbf35e47780348ce30935c5\"\u003e\u003ccode\u003e64bc217\u003c/code\u003e\u003c/a\u003e Add a typing test for the Validator protocol\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/6c25741bff889477680f9b0d1aa967ae35c38f43\"\u003e\u003ccode\u003e6c25741\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/bf603d59117f840916709fc87c6625df43d1fe72\"\u003e\u003ccode\u003ebf603d5\u003c/code\u003e\u003c/a\u003e Bump astral-sh/setup-uv from 6.4.3 to 6.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/a916d8f8253baa11bacc60f0868f0bab1e42d526\"\u003e\u003ccode\u003ea916d8f\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eValidator\u003c/code\u003e protocol init to match runtime\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/de60f18bd97395a52a11b561eb62963e0ffe9e71\"\u003e\u003ccode\u003ede60f18\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1397\"\u003e#1397\u003c/a\u003e from python-jsonschema/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-jsonschema/jsonschema/compare/v4.24.0...v4.25.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyparsing` from 3.2.3 to 3.2.5\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyparsing/pyparsing/blob/master/CHANGES\"\u003epyparsing's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.2.5 - September, 2025\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eJINX! Well, 3.2.4 had a bug for \u003ccode\u003eWord\u003c/code\u003e expressions that include a space\ncharacter, if that expression was then copied, either directly with .copy() or\nby adding a results name, or included in another construct (like \u003ccode\u003eDelimitedList\u003c/code\u003e)\nthat makes a copy internally. Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/618\"\u003e#618\u003c/a\u003e, reported by mstinberg, among others -\nthanks, and sorry for the inconvenience.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.2.5 - September, 2025\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eJINX! Well, 3.2.4 had a bug for \u003ccode\u003eWord\u003c/code\u003e expressions that include a space\ncharacter, if that expression was then copied, either directly with .copy() or\nby adding a results name, or including in another construct (like \u003ccode\u003eDelimitedList\u003c/code\u003e)\nthat makes a copy internally. Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/618\"\u003e#618\u003c/a\u003e, reported by mstinberg, among others -\nthanks, and sorry for the inconvenience.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.2.4 - September, 2025\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eBarring any catastrophic bugs in this release, this will be the last release in\nthe 3.2.x line. The next release, 3.3.0, will begin emitting \u003ccode\u003eDeprecationWarnings\u003c/code\u003e\nwhen the pre-PEP8 methods are used (see header notes above for more information,\nincluding available automation for converting any existing code using\npyparsing with the old names).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed bug when using a copy of a \u003ccode\u003eWord\u003c/code\u003e expression (either by using the explicit\n\u003ccode\u003ecopy()\u003c/code\u003e method, or attaching a results name), and setting a new expression name,\na raised \u003ccode\u003eParseException\u003c/code\u003e still used the original expression name. Also affected\n\u003ccode\u003eRegex\u003c/code\u003e expressions with \u003ccode\u003eas_match\u003c/code\u003e or \u003ccode\u003eas_group_list\u003c/code\u003e = True. Reported by\nWaqas Ilyas, in Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/612\"\u003e#612\u003c/a\u003e - good catch!\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed type annotation for \u003ccode\u003ereplace_with\u003c/code\u003e, to accept \u003ccode\u003eAny\u003c/code\u003e type. Fixes Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/602\"\u003e#602\u003c/a\u003e,\nreported by esquonk.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded locking around potential race condition in \u003ccode\u003eParserElement.reset_cache\u003c/code\u003e, as\nwell as other cache-related methods. Fixes Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/604\"\u003e#604\u003c/a\u003e, reported by CarlosDescalziIM.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSubstantial update to docstrings and doc generation in preparation for 3.3.0,\ngreat effort by FeRD, thanks!\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNotable addition by FeRD to convert docstring examples to work with doctest! This\nwas long overdue, thanks so much!\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/dbbd53ad1cd0ab31ae2a8fee5a64a718788b63fb\"\u003e\u003ccode\u003edbbd53a\u003c/code\u003e\u003c/a\u003e More unit tests and some comments for traceability to Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/618\"\u003e#618\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/f5bdb2deff92859e068937f2ae502136b38ad16f\"\u003e\u003ccode\u003ef5bdb2d\u003c/code\u003e\u003c/a\u003e Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/618\"\u003e#618\u003c/a\u003e - fix reference to re_match attribute in copy of Word object to fi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/8c61893d362b21d66fa3646c073295235ef166fd\"\u003e\u003ccode\u003e8c61893\u003c/code\u003e\u003c/a\u003e Prep for 3.2.5 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/57923cd6a651d81c72b4e60b2baa02fbedf217ba\"\u003e\u003ccode\u003e57923cd\u003c/code\u003e\u003c/a\u003e Enable matplotlib unit tests for Python 3.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/fad1505f8ab91cc897f3067868e500257130e1a4\"\u003e\u003ccode\u003efad1505\u003c/code\u003e\u003c/a\u003e Update CHANGES file with thanks to FeRD for making the docstring examples doc...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/6622151cb440e85de9880ca6b7f3652e0962e315\"\u003e\u003ccode\u003e6622151\u003c/code\u003e\u003c/a\u003e Update tox.ini to add doctest testing for all Python versions 3.10 and later\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/e6ed66bdcd6da3ef63f4396565d860467efb5252\"\u003e\u003ccode\u003ee6ed66b\u003c/code\u003e\u003c/a\u003e Change doctest for LineStart to reflect latest implementation of \u0026quot;is this tok...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/23092da6569c97f30605ff2fe818fc15b3d12567\"\u003e\u003ccode\u003e23092da\u003c/code\u003e\u003c/a\u003e Doctests for pyparsing.exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/0bae3cdcc9274dbbcde5daabba739d3b1ddb49fc\"\u003e\u003ccode\u003e0bae3cd\u003c/code\u003e\u003c/a\u003e Doctests for pyparsing.common\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/98ec165d1a66247dbeffcf692643765648fb230f\"\u003e\u003ccode\u003e98ec165\u003c/code\u003e\u003c/a\u003e Docs: Add doctest-wrtiting documentation\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyparsing/pyparsing/compare/3.2.3...3.2.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `regex` from 2024.11.6 to 2025.9.18\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mrabarnett/mrab-regex/blob/hg/changelog.txt\"\u003eregex's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eVersion: 2025.9.20\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eEnable free-threading support in cibuildwheel in another place.\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.9.19\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eEnable free-threading support in cibuildwheel.\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.9.18\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eGit issue 565: Support the free-threaded build of CPython 3.13\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.9.1\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eGit PR 585: Fix AttributeError: 'AnyAll' object has no attribute '_key'\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.8.29\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eGit issue 584: AttributeError: 'AnyAll' object has no attribute 'positive'\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.7.34\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eGit issue 575: Issues with ASCII/Unicode modifiers\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.7.33\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eUpdated main.yml and pyproject.toml.\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.7.32\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eGit issue 580: Regression in v2025.7.31: \\P{L} no longer matches in simple patterns\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.7.31\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eFurther updates to main.yml.\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.7.30\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eUpdated main.yml and pyproject.toml.\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.7.29\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eGit issue 572: Inline ASCII modifier doesn't seem to affect anything\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.5.19\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eChanged how main.yml skips unwanted Arch builds.\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.5.18\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/mrabarnett/mrab-regex/commit/db5c9c636e68a44e27d623e11af1c08229ec4963\"\u003e\u003ccode\u003edb5c9c6\u003c/code\u003e\u003c/a\u003e Git issue 565: Support the free-threaded build of CPython 3.13\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/49e3881e9fceb225b0f82d43f1ef09688ec30da3\"\u003e\u003ccode\u003e49e3881\u003c/code\u003e\u003c/a\u003e Git PR 585: Fix AttributeError: 'AnyAll' object has no attribute '_key'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/183a653894f56ad9bc6ca767b795c0439518e2c1\"\u003e\u003ccode\u003e183a653\u003c/code\u003e\u003c/a\u003e Git issue 584: AttributeError: 'AnyAll' object has no attribute 'positive'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/23ca191dd8d259a42bc3dcae092e4eafce48652d\"\u003e\u003ccode\u003e23ca191\u003c/code\u003e\u003c/a\u003e Git issue 575: Issues with ASCII/Unicode modifiers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/88fee8529b5d41846bfdc144f46d2510c547d169\"\u003e\u003ccode\u003e88fee85\u003c/code\u003e\u003c/a\u003e Updated main.yml and pyproject.toml.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/7ebda8c03230f31e28666790a96c40a650fd1b94\"\u003e\u003ccode\u003e7ebda8c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mrabarnett/mrab-regex/issues/582\"\u003e#582\u003c/a\u003e from facelessuser/bugfix/setuptools\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/26d6efc9bf050190d32c1e8b972acc600d4f2edf\"\u003e\u003ccode\u003e26d6efc\u003c/code\u003e\u003c/a\u003e Setup failure scenario\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/a4a6d9443b11beb42d3440df91c76644ce45615c\"\u003e\u003ccode\u003ea4a6d94\u003c/code\u003e\u003c/a\u003e Git issue 580: Regression in v2025.7.31: \\P{L} no longer matches in simple pa...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/becb0d456d90541fa1266e19999b8005b401fb89\"\u003e\u003ccode\u003ebecb0d4\u003c/code\u003e\u003c/a\u003e Updated version and added changes to changelog.txt.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/457bcd38a53fcc695d7f219ff19607f39a7e08e7\"\u003e\u003ccode\u003e457bcd3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mrabarnett/mrab-regex/issues/577\"\u003e#577\u003c/a\u003e from facelessuser/bugfix/linux\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mrabarnett/mrab-regex/compare/2024.11.6...2025.9.18\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `typing-extensions` from 4.14.0 to 4.15.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/typing_extensions/releases\"\u003etyping-extensions's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.15.0\u003c/h2\u003e\n\u003cp\u003eNo user-facing changes since 4.15.0rc1.\u003c/p\u003e\n\u003cp\u003eNew features since 4.14.1:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd the \u003ccode\u003e@typing_extensions.disjoint_base\u003c/code\u003e decorator, as specified\nin PEP 800. Patch by Jelle Zijlstra.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etyping_extensions.type_repr\u003c/code\u003e, a backport of\n\u003ca href=\"https://docs.python.org/3.14/library/annotationlib.html#annotationlib.type_repr\"\u003e\u003ccode\u003eannotationlib.type_repr\u003c/code\u003e\u003c/a\u003e,\nintroduced in Python 3.14 (CPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/124551\"\u003e#124551\u003c/a\u003e,\noriginally by Jelle Zijlstra). Patch by Semyon Moroz.\u003c/li\u003e\n\u003cli\u003eFix behavior of type params in \u003ccode\u003etyping_extensions.evaluate_forward_ref\u003c/code\u003e. Backport of\nCPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/137227\"\u003e#137227\u003c/a\u003e by Jelle Zijlstra.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.15.0rc1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd the \u003ccode\u003e@typing_extensions.disjoint_base\u003c/code\u003e decorator, as specified\nin PEP 800. Patch by Jelle Zijlstra.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etyping_extensions.type_repr\u003c/code\u003e, a backport of\n\u003ca href=\"https://docs.python.org/3.14/library/annotationlib.html#annotationlib.type_repr\"\u003e\u003ccode\u003eannotationlib.type_repr\u003c/code\u003e\u003c/a\u003e,\nintroduced in Python 3.14 (CPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/124551\"\u003e#124551\u003c/a\u003e,\noriginally by Jelle Zijlstra). Patch by Semyon Moroz.\u003c/li\u003e\n\u003cli\u003eFix behavior of type params in \u003ccode\u003etyping_extensions.evaluate_forward_ref\u003c/code\u003e. Backport of\nCPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/137227\"\u003e#137227\u003c/a\u003e by Jelle Zijlstra.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.14.1\u003c/h2\u003e\n\u003ch1\u003eRelease 4.14.1 (July 4, 2025)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix usage of \u003ccode\u003etyping_extensions.TypedDict\u003c/code\u003e nested inside other types\n(e.g., \u003ccode\u003etyping.Type[typing_extensions.TypedDict]\u003c/code\u003e). This is not allowed by the\ntype system but worked on older versions, so we maintain 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/python/typing_extensions/blob/main/CHANGELOG.md\"\u003etyping-extensions's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eRelease 4.15.0 (August 25, 2025)\u003c/h1\u003e\n\u003cp\u003eNo user-facing changes since 4.15.0rc1.\u003c/p\u003e\n\u003ch1\u003eRelease 4.15.0rc1 (August 18, 2025)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd the \u003ccode\u003e@typing_extensions.disjoint_base\u003c/code\u003e decorator, as specified\nin PEP 800. Patch by Jelle Zijlstra.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etyping_extensions.type_repr\u003c/code\u003e, a backport of\n\u003ca href=\"https://docs.python.org/3.14/library/annotationlib.html#annotationlib.type_repr\"\u003e\u003ccode\u003eannotationlib.type_repr\u003c/code\u003e\u003c/a\u003e,\nintroduced in Python 3.14 (CPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/124551\"\u003e#124551\u003c/a\u003e,\noriginally by Jelle Zijlstra). Patch by Semyon Moroz.\u003c/li\u003e\n\u003cli\u003eFix behavior of type params in \u003ccode\u003etyping_extensions.evaluate_forward_ref\u003c/code\u003e. Backport of\nCPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/137227\"\u003e#137227\u003c/a\u003e by Jelle Zijlstra.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eRelease 4.14.1 (July 4, 2025)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix usage of \u003ccode\u003etyping_extensions.TypedDict\u003c/code\u003e nested inside other types\n(e.g., \u003ccode\u003etyping.Type[typing_extensions.TypedDict]\u003c/code\u003e). This is not allowed by the\ntype system but worked on older versions, so we maintain 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/python/typing_extensions/commit/9d1637e264b5c1a6b7acee3e907015f89b20c2c9\"\u003e\u003ccode\u003e9d1637e\u003c/code\u003e\u003c/a\u003e Prepare release 4.15.0 (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/658\"\u003e#658\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/4bd67c5be5d9443c7d33c314d02a56ee125eb88d\"\u003e\u003ccode\u003e4bd67c5\u003c/code\u003e\u003c/a\u003e Coverage: exclude some noise (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/656\"\u003e#656\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/e589a26da73b075c5276bae40b86db1af0144f84\"\u003e\u003ccode\u003ee589a26\u003c/code\u003e\u003c/a\u003e Coverage: add detailed report to job summary (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/655\"\u003e#655\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/67d37fed1298e050f74d5acc95b2621bd37837ad\"\u003e\u003ccode\u003e67d37fe\u003c/code\u003e\u003c/a\u003e Coverage: Implement fail_under (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/654\"\u003e#654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/e9ae26f5286edee9262727755ecb9ad16e999192\"\u003e\u003ccode\u003ee9ae26f\u003c/code\u003e\u003c/a\u003e Don't delete previous coverage comment (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/653\"\u003e#653\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/ac80bb728a3006fc88ef7373b92f0c25cfcc7895\"\u003e\u003ccode\u003eac80bb7\u003c/code\u003e\u003c/a\u003e Add Coverage workflow (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/623\"\u003e#623\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/abaaafd98c1cc7e5baf098ec287a3d22cb339670\"\u003e\u003ccode\u003eabaaafd\u003c/code\u003e\u003c/a\u003e Prepare release 4.15.0rc1 (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/650\"\u003e#650\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/98104053ea8d49bcdd247804e5fa9f73136acbd4\"\u003e\u003ccode\u003e9810405\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003e@disjoint_base\u003c/code\u003e (PEP 800) (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/634\"\u003e#634\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/7ee9e05fd484d06899ce56e80f5e1aa4c760fc03\"\u003e\u003ccode\u003e7ee9e05\u003c/code\u003e\u003c/a\u003e Backport type_params fix from CPython (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/646\"\u003e#646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/1e8eb9c06ef51b3a1e1f05303a16feca13f5ed98\"\u003e\u003ccode\u003e1e8eb9c\u003c/code\u003e\u003c/a\u003e Do not refer to PEP 705 as being experimental (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/648\"\u003e#648\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python/typing_extensions/compare/4.14.0...4.15.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cheroot` from 10.0.1 to 11.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/cherrypy/cheroot/releases\"\u003echeroot's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev11.0.0\u003c/h2\u003e\n\u003ch2\u003e📝 Release notes\u003c/h2\u003e\n\u003cp\u003e📦 PyPI page: \u003ca href=\"https://pypi.org/project/cheroot/11.0.0\"\u003ehttps://pypi.org/project/cheroot/11.0.0\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e🌱 v11.0.0 is marked as a stable release.\u003c/p\u003e\n\u003cp\u003e🔗 This release has been produced by  the following workflow run: \u003ca href=\"https://github.com/cherrypy/cheroot/actions/runs/17894178348\"\u003ehttps://github.com/cherrypy/cheroot/actions/runs/17894178348\u003c/a\u003e\u003c/p\u003e\n\u003ch1\u003ev11.0.0\u003c/h1\u003e\n\u003cp\u003e\u003cem\u003e(2025-09-21)\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eWhen load is too high, Cheroot now responds with a 503 Service\nUnavailable HTTP error. Previously it silently closed the connection.\u003c/p\u003e\n\u003cp\u003e-- by \u003ca href=\"https://github.com/itamarst\"\u003e\u003ccode\u003e@​itamarst\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRelated issues and pull requests on GitHub:\u003c/em\u003e \u003ca href=\"https://redirect.github.com/cherrypy/cheroot/issues/745\"\u003e#745\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRemovals and backward incompatible breaking changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eCheroot dropped support for Python 3.6 and 3.7. It now requires Python\n3.8 or later.\u003c/p\u003e\n\u003cp\u003e-- by \u003ca href=\"https://github.com/jaraco\"\u003e\u003ccode\u003e@​jaraco\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRelated issues and pull requests on GitHub:\u003c/em\u003e \u003ca href=\"https://redirect.github.com/cherrypy/cheroot/issues/565\"\u003e#565\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/cherrypy/cheroot/issues/633\"\u003e#633\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRelated commits on GitHub:\u003c/em\u003e\n\u003ca href=\"https://github.com/cherrypy/cheroot/commit/437863ee\"\u003ehttps://github.com/cherrypy/cheroot/commit/437863ee\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePackaging updates and notes for downstreams\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eDeclared Python 3.12 and Python 3.13 as supported officially -- by\n\u003ca href=\"https://github.com/webknjaz\"\u003e\u003ccode\u003e@​webknjaz\u003c/code\u003e\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRelated issues and pull requests on GitHub:\u003c/em\u003e \u003ca href=\"https://redirect.github.com/cherrypy/cheroot/issues/696\"\u003e#696\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRelated commits on GitHub:\u003c/em\u003e\n\u003ca href=\"https://github.com/cherrypy/cheroot/commit/5db4f634\"\u003ehttps://github.com/cherrypy/cheroot/commit/5db4f634\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe minimum version of the \u003ccode\u003esetuptools-scm\u003c/code\u003e build dependency has been\nset to 7. The Git archives are now produced by it natively, instead of\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/cherrypy/cheroot/blob/main/CHANGES.rst\"\u003echeroot's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev11.0.0\u003c/h1\u003e\n\u003cp\u003e\u003cem\u003e(2025-09-21)\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eWhen load is too high, Cheroot now responds with a 503 Service Unavailable HTTP error.\nPreviously it silently closed the connection.\u003c/p\u003e\n\u003cp\u003e-- by :user:\u003ccode\u003eitamarst\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRelated issues and pull requests on GitHub:\u003c/em\u003e\n:issue:\u003ccode\u003e745\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRemovals and backward incompatible breaking changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eCheroot dropped support for Python 3.6 and 3.7.\nIt now requires Python 3.8 or later.\u003c/p\u003e\n\u003cp\u003e-- by :user:\u003ccode\u003ejaraco\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRelated issues and pull requests on GitHub:\u003c/em\u003e\n:issue:\u003ccode\u003e565\u003c/code\u003e, :issue:\u003ccode\u003e633\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRelated commits on GitHub:\u003c/em\u003e\n:commit:\u003ccode\u003e437863ee\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePackaging updates and notes for downstreams\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eDeclared Python 3.12 and Python 3.13 as supported officially\n-- by :user:\u003ccode\u003ewebknjaz\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRelated issues and pull requests on GitHub:\u003c/em\u003e\n:issue:\u003ccode\u003e696\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRelated commits on GitHub:\u003c/em\u003e\n:commit:\u003ccode\u003e5db4f634\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe minimum version of the \u003ccode\u003esetuptools-scm\u003c/code\u003e build dependency\nhas been set to 7. The Git archives are now produced by it\nnatively, instead of relying on a third party plugin which is\nno longer being used.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cherrypy/cheroot/commit/50b1f1d72c90be6fad4c2a53cf57be6ad98d03cc\"\u003e\u003ccode\u003e50b1f1d\u003c/code\u003e\u003c/a\u003e Generate a change log entry for v11.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cherrypy/cheroot/commit/4e9b36b99f0ac96d1a99c11817587b2a09166432\"\u003e\u003ccode\u003e4e9b36b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/cherrypy/cheroot/issues/759\"\u003e#759\u003c/a\u003e from cherrypy/maintenance/pip-tools-constraint-lockfiles\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cherrypy/cheroot/commit/b4a28ae4b7ac41047f294a19a01b77a6f874841b\"\u003e\u003ccode\u003eb4a28ae\u003c/code\u003e\u003c/a\u003e Update tox-pypy311-pp311-win32-amd64 constraints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cherrypy/cheroot/commit/a9fd2ba845417bd0a42288dd3695f296a7dcf14f\"\u003e\u003ccode\u003ea9fd2ba\u003c/code\u003e\u003c/a\u003e Update tox-pypy311-pp311-linux-x86_64 constraints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cherrypy/cheroot/commit/27a91155b671f56e47e199f794420982ebc9475a\"\u003e\u003ccode\u003e27a9115\u003c/code\u003e\u003c/a\u003e Update tox-pypy311-pp311-linux-aarch64 constraints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cherrypy/cheroot/commit/5fdcdd67817aed949827727376a31f9b2f533106\"\u003e\u003ccode\u003e5fdcdd6\u003c/code\u003e\u003c/a\u003e Update tox-pypy311-pp311-darwin-x86_64 constraints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cherrypy/cheroot/commit/c1cbafca5bf4490b70a50a80d4b5325d0accbb8c\"\u003e\u003ccode\u003ec1cbafc\u003c/code\u003e\u003c/a\u003e Update tox-pypy311-pp311-darwin-arm64 constraints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cherrypy/cheroot/commit/93faa537f8631133f44bd278c69bc817223c7a0a\"\u003e\u003ccode\u003e93faa53\u003c/code\u003e\u003c/a\u003e Update tox-py39-cp39-win32-amd64 constraints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cherrypy/cheroot/commit/36482bb6930628f5598afb2e0aa9fc1717dae6eb\"\u003e\u003ccode\u003e36482bb\u003c/code\u003e\u003c/a\u003e Update tox-py39-cp39-linux-x86_64 constraints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cherrypy/cheroot/commit/a1b2a20ccc095ff0c925b8581985c4f5d915287e\"\u003e\u003ccode\u003ea1b2a20\u003c/code\u003e\u003c/a\u003e Update tox-py39-cp39-linux-aarch64 constraints\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/cherrypy/cheroot/compare/v10.0.1...v11.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `holidays` from 0.75 to 0.82\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vacanza/holidays/releases\"\u003eholidays's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.82\u003c/h2\u003e\n\u003ch1\u003eVersion 0.82\u003c/h1\u003e\n\u003cp\u003eReleased October 6, 2025\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd variable weekend support (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2945\"\u003e#2945\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor Chile holidays: reduce l10n string duplication (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2934\"\u003e#2934\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor Cuba holidays: reduce l10n string duplication (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2935\"\u003e#2935\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor Eastern holidays groups (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2966\"\u003e#2966\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor Hungary holidays: reduce l10n string duplication (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2936\"\u003e#2936\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor Japan holidays: reduce l10n string duplication, \u003ccode\u003een_US\u003c/code\u003e typo fixed (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2937\"\u003e#2937\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor Portugal holidays: consolidate holidays code (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2943\"\u003e#2943\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor South Africa holidays: move \u003ccode\u003estart_year\u003c/code\u003e to 1911, capitalization fixes (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2942\"\u003e#2942\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor \u003ccode\u003etest_utils.py\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2970\"\u003e#2970\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor iCal exporter (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2977\"\u003e#2977\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor imports in certain countries: use \u003ccode\u003eTYPE_CHECKING\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2949\"\u003e#2949\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Antarctica holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2962\"\u003e#2962\u003c/a\u003e by \u003ca href=\"https://github.com/Aaqilyousuf\"\u003e\u003ccode\u003e@​Aaqilyousuf\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Myanmar holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2944\"\u003e#2944\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd North Korea holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2911\"\u003e#2911\u003c/a\u003e by \u003ca href=\"https://github.com/Wasif-Shahzad\"\u003e\u003ccode\u003e@​Wasif-Shahzad\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Spain holidays: add Catalan (\u003ccode\u003eca\u003c/code\u003e) localization (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2960\"\u003e#2960\u003c/a\u003e by \u003ca href=\"https://github.com/Oriol-Romani-BA\"\u003e\u003ccode\u003e@​Oriol-Romani-BA\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix working day test (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2950\"\u003e#2950\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Afghanistan holidays: 2025 exact Islamic holidays observances (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2932\"\u003e#2932\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Algeria holidays: add \u003ccode\u003eCHRISTIAN\u003c/code\u003e, \u003ccode\u003eHEBREW\u003c/code\u003e supported categories (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2928\"\u003e#2928\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Brazil holidays: Republic Constitution Day typo fixed (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2933\"\u003e#2933\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Djibouti holidays: change holiday groups MRO (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2931\"\u003e#2931\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate India holidays: add Ugadi holiday for AP, KA, TS subdivisions (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2953\"\u003e#2953\u003c/a\u003e by \u003ca href=\"https://github.com/Aaqilyousuf\"\u003e\u003ccode\u003e@​Aaqilyousuf\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Myanmar holidays: add \u003ccode\u003eth\u003c/code\u003e l10n support (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2959\"\u003e#2959\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Norway holidays: update subdivision list as per 2024 administrative reform (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2952\"\u003e#2952\u003c/a\u003e by \u003ca href=\"https://github.com/Exerqtor\"\u003e\u003ccode\u003e@​Exerqtor\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Paraguay holidays: typo fixed, 2023-2025 government holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2938\"\u003e#2938\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Serbia holidays: set 2007 as \u003ccode\u003estart_year\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2939\"\u003e#2939\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Sri Lanka holidays: testcase name typo fixed (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2940\"\u003e#2940\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Switzerland holidays: standardize code comment (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2941\"\u003e#2941\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Taiwan holidays: add support for 1998-2000 special weekend pattern (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2948\"\u003e#2948\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Thailand holidays: add support for historical weekend patterns (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2951\"\u003e#2951\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate the United States holidays: add Father's Day and Mother's Day for \u003ccode\u003eUNOFFICIAL\u003c/code\u003e category (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2975\"\u003e#2975\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd no holiday countries (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2969\"\u003e#2969\u003c/a\u003e by \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003elru_cache\u003c/code\u003e with \u003ccode\u003ecache\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2964\"\u003e#2964\u003c/a\u003e by \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eNew Contributors\u003c/strong\u003e:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Aaqilyousuf\"\u003e\u003ccode\u003e@​Aaqilyousuf\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/vacanza/holidays/pull/2953\"\u003evacanza/holidays#2953\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/AryaPhansalkar\"\u003e\u003ccode\u003e@​AryaPhansalkar\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/vacanza/holidays/pull/2971\"\u003evacanza/holidays#2971\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Exerqtor\"\u003e\u003ccode\u003e@​Exerqtor\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/vacanza/holidays/pull/2952\"\u003evacanza/holidays#2952\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Oriol-Romani-BA\"\u003e\u003ccode\u003e@​Oriol-Romani-BA\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/vacanza/holidays/pull/2960\"\u003evacanza/holidays#2960\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/vacanza/holidays/compare/v0.81...v0.82\"\u003ehttps://github.com/vacanza/holidays/compare/v0.81...v0.82\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.81\u003c/h2\u003e\n\u003ch1\u003eVersion 0.81\u003c/h1\u003e\n\u003cp\u003eReleased September 15, 2025\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/vacanza/holidays/blob/dev/CHANGES.md\"\u003eholidays's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eVersion 0.82\u003c/h1\u003e\n\u003cp\u003eReleased October 6, 2025\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd variable weekend support (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2945\"\u003e#2945\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor Chile holidays: reduce l10n string duplication (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2934\"\u003e#2934\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor Cuba holidays: reduce l10n string duplication (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2935\"\u003e#2935\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor Eastern holidays groups (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2966\"\u003e#2966\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor Hungary holidays: reduce l10n string duplication (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2936\"\u003e#2936\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor Japan holidays: reduce l10n string duplication, \u003ccode\u003een_US\u003c/code\u003e typo fixed (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2937\"\u003e#2937\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor Portugal holidays: consolidate holidays code (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2943\"\u003e#2943\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor South Africa holidays: move \u003ccode\u003estart_year\u003c/code\u003e to 1911, capitalization fixes (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2942\"\u003e#2942\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor \u003ccode\u003etest_utils.py\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2970\"\u003e#2970\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor iCal exporter (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2977\"\u003e#2977\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor imports in certain countries: use \u003ccode\u003eTYPE_CHECKING\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2949\"\u003e#2949\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Antarctica holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2962\"\u003e#2962\u003c/a\u003e by \u003ca href=\"https://github.com/Aaqilyousuf\"\u003e\u003ccode\u003e@​Aaqilyousuf\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Myanmar holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2944\"\u003e#2944\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd North Korea holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2911\"\u003e#2911\u003c/a\u003e by \u003ca href=\"https://github.com/Wasif-Shahzad\"\u003e\u003ccode\u003e@​Wasif-Shahzad\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Spain holidays: add Catalan (\u003ccode\u003eca\u003c/code\u003e) localization (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2960\"\u003e#2960\u003c/a\u003e by \u003ca href=\"https://github.com/Oriol-Romani-BA\"\u003e\u003ccode\u003e@​Oriol-Romani-BA\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix working day test (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2950\"\u003e#2950\u003c/a\u003e by \u003ca href=\"https://github.com/K...\n\n_Description has been truncated_","html_url":"https://github.com/lplinkl00/xbrl-hivedome/pull/14","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/lplinkl00%2Fxbrl-hivedome/issues/14","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/14/packages"}},{"old_version":"1.31.4","new_version":"1.31.5","update_type":"patch","path":"/python/agents/data-science","pr_created_at":"2025-10-02T00:12:21.000Z","version_change":"1.31.4 → 1.31.5","issue":{"uuid":"3475562201","node_id":"PR_kwDOP6pP0c6rqhg5","number":4,"state":"open","title":"chore(deps): bump the all-dependencies group in /python/agents/data-science with 9 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-10-02T00:12:21.000Z","updated_at":"2025-10-06T02:41:52.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"all-dependencies","update_count":9,"packages":[{"name":"google-adk","old_version":"1.7.0","new_version":"1.15.1","repository_url":"https://github.com/google/adk-python"},{"name":"sqlglot","old_version":"27.0.0","new_version":"27.20.0","repository_url":"https://github.com/tobymao/sqlglot"},{"name":"regex","old_version":"2024.11.6","new_version":"2025.9.18","repository_url":"https://github.com/mrabarnett/mrab-regex"},{"name":"pydantic","old_version":"2.11.7","new_version":"2.11.9","repository_url":"https://github.com/pydantic/pydantic"},{"name":"pandas","old_version":"2.3.1","new_version":"2.3.3","repository_url":"https://github.com/pandas-dev/pandas"},{"name":"numpy","old_version":"2.3.1","new_version":"2.3.3","repository_url":"https://github.com/numpy/numpy"},{"name":"pg8000","old_version":"1.31.4","new_version":"1.31.5","repository_url":"https://github.com/tlocke/pg8000"},{"name":"pytest","old_version":"8.4.1","new_version":"8.4.2","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"pytest-asyncio","old_version":"1.1.0","new_version":"1.2.0","repository_url":"https://github.com/pytest-dev/pytest-asyncio"}],"path":"/python/agents/data-science","ecosystem":"pip"},"body":"Bumps the all-dependencies group in /python/agents/data-science with 9 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [google-adk](https://github.com/google/adk-python) | `1.7.0` | `1.15.1` |\n| [sqlglot](https://github.com/tobymao/sqlglot) | `27.0.0` | `27.20.0` |\n| [regex](https://github.com/mrabarnett/mrab-regex) | `2024.11.6` | `2025.9.18` |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.11.7` | `2.11.9` |\n| [pandas](https://github.com/pandas-dev/pandas) | `2.3.1` | `2.3.3` |\n| [numpy](https://github.com/numpy/numpy) | `2.3.1` | `2.3.3` |\n| [pg8000](https://github.com/tlocke/pg8000) | `1.31.4` | `1.31.5` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.4.1` | `8.4.2` |\n| [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) | `1.1.0` | `1.2.0` |\n\nUpdates `google-adk` from 1.7.0 to 1.15.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/adk-python/releases\"\u003egoogle-adk's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 1.15.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.15.0...v1.15.1\"\u003e1.15.1\u003c/a\u003e (2025-09-26)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix the deployment failure for Agent Engine (\u003ca href=\"https://github.com/google/adk-python/commit/e172811bc7173b9004572f2a2afc7024145d7713\"\u003ee172811\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 1.15.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.14.1...v1.15.0\"\u003e1.15.0\u003c/a\u003e (2025-09-24)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[Core]\n\u003cul\u003e\n\u003cli\u003eAdding the ContextFilterPlugin (\u003ca href=\"https://github.com/google/adk-python/commit/a06bf278cbc89f521c187ed51b032d82ffdafe2d\"\u003ea06bf27\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdds plugin to save artifacts for issue \u003ca href=\"https://redirect.github.com/google/adk-python/issues/2176\"\u003e#2176\u003c/a\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/657369cffe142ef3745cd5950d0d24a49f42f7fd\"\u003e657369c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpose log probs of candidates in LlmResponse (\u003ca href=\"https://github.com/google/adk-python/commit/f7bd3c111c211e880d7c1954dd4508b952704c68\"\u003ef7bd3c1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e[Context Caching]\n\u003cul\u003e\n\u003cli\u003eSupport context caching (\u003ca href=\"https://github.com/google/adk-python/commit/c66245a3b80192c16cb67ee3194f82c9a7c901e5\"\u003ec66245a\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSupport explicit context caching auto creation and lifecycle management.\u003c/p\u003e\n\u003cp\u003eUsage: \u003ccode\u003eApp(root_agent=..., plugins=..., context_cache_config=...)\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eSupport non-text content in static instruction (\u003ca href=\"https://github.com/google/adk-python/commit/61213ce4d4c10f7ecaf6ddb521672059cee27942\"\u003e61213ce\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport static instructions (\u003ca href=\"https://github.com/google/adk-python/commit/9be9cc2feee92241fd2fbf9dea3a42de5a78e9ce\"\u003e9be9cc2\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSupport static instruction that won't change, put at the beginning of\nthe instruction.\nStatic instruction support inline_data and file_data as contents.\nDynamic instruction moved to the end of LlmRequest, increasing prefix\ncaching matching size.\u003c/p\u003e\n\u003cp\u003eUsage:\n\u003ccode\u003eLlmAgent(model=...,static_instruction =types.Content(parts=...), ... )\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e[Telemetry]\n\u003cul\u003e\n\u003cli\u003eAdd --otel_to_cloud experimental support (\u003ca href=\"https://github.com/google/adk-python/commit/1ae0b82f5602a57ad1ca975ca0b7c85003d1a28a\"\u003e1ae0b82\u003c/a\u003e, \u003ca href=\"https://github.com/google/adk-python/commit/b1312680f4ea9f21c3246a1d24392619643d71f5\"\u003eb131268\u003c/a\u003e, \u003ca href=\"https://github.com/google/adk-python/commit/7870480c63bb4fc08cfb3cabc0e1f0458f0e85bd\"\u003e7870480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd GenAI Instrumentation if --otel_to_cloud is enabled (\u003ca href=\"https://github.com/google/adk-python/commit/cee365a13d0d1b1f2be046c1cc29e24a8d1fdbcc\"\u003ecee365a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport standard OTel env variables for exporter endpoints (\u003ca href=\"https://github.com/google/adk-python/commit/f157b2ee4caf4055e78f4657254e45913895f5de\"\u003ef157b2e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTemporarily disable Cloud Monitoring integration in --otel_to_cloud (\u003ca href=\"https://github.com/google/adk-python/commit/3b80337faf427460e4743e25dbb92578f823513f\"\u003e3b80337\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e[Services]\n\u003cul\u003e\n\u003cli\u003eAdd endpoint to generate memory from session (\u003ca href=\"https://github.com/google/adk-python/commit/25958242db890b4d2aac8612f7f7cfbb561727fa\"\u003e2595824\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e[Tools]\n\u003cul\u003e\n\u003cli\u003eAdd Google Maps Grounding Tool to ADK (\u003ca href=\"https://github.com/google/adk-python/commit/6b493915469ecb42068e24818ab547b0856e4709\"\u003e6b49391\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eMCP:\u003c/strong\u003e Initialize tool_name_prefix in MCPToolse (\u003ca href=\"https://github.com/google/adk-python/commit/86dea5b53ac305367283b7e353b60d0f4515be3b\"\u003e86dea5b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e[Evals]\n\u003cul\u003e\n\u003cli\u003eData model for storing App Details and data model for steps (\u003ca href=\"https://github.com/google/adk-python/commit/01923a9227895906ca8ae32712d65b178e2cd7d5\"\u003e01923a9\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdds Rubric based final response evaluator (\u003ca href=\"https://github.com/google/adk-python/commit/5a485b01cd64cb49735e13ebd5e7fa3da02cd85f\"\u003e5a485b0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePopulate AppDetails to each Invocation (\u003ca href=\"https://github.com/google/adk-python/commit/d48679582de91050ca9c5106402319be9a8ae7e8\"\u003ed486795\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e[Samples]\n\u003cul\u003e\n\u003cli\u003eMake the bigquery sample agent run with ADC out-of-the-box (\u003ca href=\"https://github.com/google/adk-python/commit/10cf37749417856e394e62896231e41b13420f18\"\u003e10cf377\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\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/google/adk-python/blob/main/CHANGELOG.md\"\u003egoogle-adk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.15.0...v1.15.1\"\u003e1.15.1\u003c/a\u003e (2025-09-26)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix the deployment failure for Agent Engine (\u003ca href=\"https://github.com/google/adk-python/commit/e172811bc7173b9004572f2a2afc7024145d7713\"\u003ee172811\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.14.1...v1.15.0\"\u003e1.15.0\u003c/a\u003e (2025-09-24)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[Core]\n\u003cul\u003e\n\u003cli\u003eAdding the ContextFilterPlugin (\u003ca href=\"https://github.com/google/adk-python/commit/a06bf278cbc89f521c187ed51b032d82ffdafe2d\"\u003ea06bf27\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdds plugin to save artifacts for issue \u003ca href=\"https://redirect.github.com/google/adk-python/issues/2176\"\u003e#2176\u003c/a\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/657369cffe142ef3745cd5950d0d24a49f42f7fd\"\u003e657369c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpose log probs of candidates in LlmResponse (\u003ca href=\"https://github.com/google/adk-python/commit/f7bd3c111c211e880d7c1954dd4508b952704c68\"\u003ef7bd3c1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e[Context Caching]\n\u003cul\u003e\n\u003cli\u003eSupport context caching (\u003ca href=\"https://github.com/google/adk-python/commit/c66245a3b80192c16cb67ee3194f82c9a7c901e5\"\u003ec66245a\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSupport explicit context caching auto creation and lifecycle management.\u003c/p\u003e\n\u003cp\u003eUsage: \u003ccode\u003eApp(root_agent=..., plugins=..., context_cache_config=...)\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eSupport non-text content in static instruction (\u003ca href=\"https://github.com/google/adk-python/commit/61213ce4d4c10f7ecaf6ddb521672059cee27942\"\u003e61213ce\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport static instructions (\u003ca href=\"https://github.com/google/adk-python/commit/9be9cc2feee92241fd2fbf9dea3a42de5a78e9ce\"\u003e9be9cc2\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSupport static instruction that won't change, put at the beginning of\nthe instruction.\nStatic instruction support inline_data and file_data as contents.\nDynamic instruction moved to the end of LlmRequest, increasing prefix\ncaching matching size.\u003c/p\u003e\n\u003cp\u003eUsage:\n\u003ccode\u003eLlmAgent(model=...,static_instruction =types.Content(parts=...), ... )\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e[Telemetry]\n\u003cul\u003e\n\u003cli\u003eAdd --otel_to_cloud experimental support (\u003ca href=\"https://github.com/google/adk-python/commit/1ae0b82f5602a57ad1ca975ca0b7c85003d1a28a\"\u003e1ae0b82\u003c/a\u003e, \u003ca href=\"https://github.com/google/adk-python/commit/b1312680f4ea9f21c3246a1d24392619643d71f5\"\u003eb131268\u003c/a\u003e, \u003ca href=\"https://github.com/google/adk-python/commit/7870480c63bb4fc08cfb3cabc0e1f0458f0e85bd\"\u003e7870480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd GenAI Instrumentation if --otel_to_cloud is enabled (\u003ca href=\"https://github.com/google/adk-python/commit/cee365a13d0d1b1f2be046c1cc29e24a8d1fdbcc\"\u003ecee365a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport standard OTel env variables for exporter endpoints (\u003ca href=\"https://github.com/google/adk-python/commit/f157b2ee4caf4055e78f4657254e45913895f5de\"\u003ef157b2e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTemporarily disable Cloud Monitoring integration in --otel_to_cloud (\u003ca href=\"https://github.com/google/adk-python/commit/3b80337faf427460e4743e25dbb92578f823513f\"\u003e3b80337\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e[Services]\n\u003cul\u003e\n\u003cli\u003eAdd endpoint to generate memory from session (\u003ca href=\"https://github.com/google/adk-python/commit/25958242db890b4d2aac8612f7f7cfbb561727fa\"\u003e2595824\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e[Tools]\n\u003cul\u003e\n\u003cli\u003eAdd Google Maps Grounding Tool to ADK (\u003ca href=\"https://github.com/google/adk-python/commit/6b493915469ecb42068e24818ab547b0856e4709\"\u003e6b49391\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eMCP:\u003c/strong\u003e Initialize tool_name_prefix in MCPToolse (\u003ca href=\"https://github.com/google/adk-python/commit/86dea5b53ac305367283b7e353b60d0f4515be3b\"\u003e86dea5b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e[Evals]\n\u003cul\u003e\n\u003cli\u003eData model for storing App Details and data model for steps (\u003ca href=\"https://github.com/google/adk-python/commit/01923a9227895906ca8ae32712d65b178e2cd7d5\"\u003e01923a9\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdds Rubric based final response evaluator (\u003ca href=\"https://github.com/google/adk-python/commit/5a485b01cd64cb49735e13ebd5e7fa3da02cd85f\"\u003e5a485b0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePopulate AppDetails to each Invocation (\u003ca href=\"https://github.com/google/adk-python/commit/d48679582de91050ca9c5106402319be9a8ae7e8\"\u003ed486795\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e[Samples]\n\u003cul\u003e\n\u003cli\u003eMake the bigquery sample agent run with ADC out-of-the-box (\u003ca href=\"https://github.com/google/adk-python/commit/10cf37749417856e394e62896231e41b13420f18\"\u003e10cf377\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClose runners after running eval (\u003ca href=\"https://github.com/google/adk-python/commit/86ee6e3fa3690148d60358fc3dacb0e0ab40942b\"\u003e86ee6e3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFilter out thought parts when saving agent output to state (\u003ca href=\"https://github.com/google/adk-python/commit/632bf8b0bcf18ff4e4505e4e5f4c626510f366a2\"\u003e632bf8b\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/google/adk-python/commit/e172811bc7173b9004572f2a2afc7024145d7713\"\u003e\u003ccode\u003ee172811\u003c/code\u003e\u003c/a\u003e fix: unbreak client closed errors when using vertexai session service\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/da6f1d36537f471e8ba1f368efc2102f59b7bd5a\"\u003e\u003ccode\u003eda6f1d3\u003c/code\u003e\u003c/a\u003e chore: Release ADK 1.15.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/2c752934a84a647dfc80365e48fd9c870f29c0ae\"\u003e\u003ccode\u003e2c75293\u003c/code\u003e\u003c/a\u003e feat: Skip running a workflow agent if it has no sub-agents\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/b2b80e7fa0d9de01dc15cde5026097efd39c3db8\"\u003e\u003ccode\u003eb2b80e7\u003c/code\u003e\u003c/a\u003e feat: Pause invocations on long running function calls for resumable apps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/dd1ffad39460c3cb687909e7beb65b3dda28a1dd\"\u003e\u003ccode\u003edd1ffad\u003c/code\u003e\u003c/a\u003e chore: Update \u003ccode\u003egoogle-genai\u003c/code\u003e version constraint\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/8b081751ed162c8cf51fda7ff1c378871969fc7b\"\u003e\u003ccode\u003e8b08175\u003c/code\u003e\u003c/a\u003e feat: Add core checkpointing primitive for base agent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/b5a65fb4f4c97cae90f570d76960fe725ed16a84\"\u003e\u003ccode\u003eb5a65fb\u003c/code\u003e\u003c/a\u003e chore: Remove the too-detailed edge case descriptions for resumability\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/839d2e43bbcdd8e4b9a9121e9da8bb47688c5db6\"\u003e\u003ccode\u003e839d2e4\u003c/code\u003e\u003c/a\u003e feat: Define an AgentState to be used for resuming agent invocation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/1589fcdd86eb7d632f161f5c88add0cf1241e196\"\u003e\u003ccode\u003e1589fcd\u003c/code\u003e\u003c/a\u003e chore: Replace github HTTP URIs with GCS HTTP URIs in static non-text content...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/e7528aebd400c59885765f8c14ef0aa983bc7b39\"\u003e\u003ccode\u003ee7528ae\u003c/code\u003e\u003c/a\u003e feat(otel): adjust telemetry to follow OTLP 1.37 GenAI semconv\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/adk-python/compare/v1.7.0...v1.15.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sqlglot` from 27.0.0 to 27.20.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tobymao/sqlglot/blob/main/CHANGELOG.md\"\u003esqlglot's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[v27.20.0] - 2025-09-30\u003c/h2\u003e\n\u003ch3\u003e:boom: BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003edue to \u003ca href=\"https://github.com/tobymao/sqlglot/commit/13a30dfa37096df5bfc2c31538325c40a49f7917\"\u003e\u003ccode\u003e13a30df\u003c/code\u003e\u003c/a\u003e - Annotate type for snowflake TRY_BASE64_DECODE_BINARY function \u003cem\u003e(PR \u003ca href=\"https://redirect.github.com/tobymao/sqlglot/pull/5972\"\u003e#5972\u003c/a\u003e by \u003ca href=\"https://github.com/fivetran-amrutabhimsenayachit\"\u003e\u003ccode\u003e@​fivetran-amrutabhimsenayachit\u003c/code\u003e\u003c/a\u003e)\u003c/em\u003e:\u003c/p\u003e\n\u003cp\u003eAnnotate type for snowflake TRY_BASE64_DECODE_BINARY function (\u003ca href=\"https://redirect.github.com/tobymao/sqlglot/issues/5972\"\u003e#5972\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003edue to \u003ca href=\"https://github.com/tobymao/sqlglot/commit/1f5fdd799c047de167a4572f7ac26b7ad92167f2\"\u003e\u003ccode\u003e1f5fdd7\u003c/code\u003e\u003c/a\u003e - Annotate type for snowflake TRY_BASE64_DECODE_STRING function \u003cem\u003e(PR \u003ca href=\"https://redirect.github.com/tobymao/sqlglot/pull/5974\"\u003e#5974\u003c/a\u003e by \u003ca href=\"https://github.com/fivetran-amrutabhimsenayachit\"\u003e\u003ccode\u003e@​fivetran-amrutabhimsenayachit\u003c/code\u003e\u003c/a\u003e)\u003c/em\u003e:\u003c/p\u003e\n\u003cp\u003eAnnotate type for snowflake TRY_BASE64_DECODE_STRING function (\u003ca href=\"https://redirect.github.com/tobymao/sqlglot/issues/5974\"\u003e#5974\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003edue to \u003ca href=\"https://github.com/tobymao/sqlglot/commit/324e82fe1fb11722f91341010602a743b151e055\"\u003e\u003ccode\u003e324e82f\u003c/code\u003e\u003c/a\u003e - Annotate type for snowflake TRY_HEX_DECODE_BINARY function \u003cem\u003e(PR \u003ca href=\"https://redirect.github.com/tobymao/sqlglot/pull/5975\"\u003e#5975\u003c/a\u003e by \u003ca href=\"https://github.com/fivetran-amrutabhimsenayachit\"\u003e\u003ccode\u003e@​fivetran-amrutabhimsenayachit\u003c/code\u003e\u003c/a\u003e)\u003c/em\u003e:\u003c/p\u003e\n\u003cp\u003eAnnotate type for snowflake TRY_HEX_DECODE_BINARY function (\u003ca href=\"https://redirect.github.com/tobymao/sqlglot/issues/5975\"\u003e#5975\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003edue to \u003ca href=\"https://github.com/tobymao/sqlglot/commit/6caf99d556a3357ffaa6c294a9babcd30dd5fac5\"\u003e\u003ccode\u003e6caf99d\u003c/code\u003e\u003c/a\u003e - Annotate type for snowflake TRY_HEX_DECODE_STRING function \u003cem\u003e(PR \u003ca href=\"https://redirect.github.com/tobymao/sqlglot/pull/5976\"\u003e#5976\u003c/a\u003e by \u003ca href=\"https://github.com/fivetran-amrutabhimsenayachit\"\u003e\u003ccode\u003e@​fivetran-amrutabhimsenayachit\u003c/code\u003e\u003c/a\u003e)\u003c/em\u003e:\u003c/p\u003e\n\u003cp\u003eAnnotate type for snowflake TRY_HEX_DECODE_STRING function (\u003ca href=\"https://redirect.github.com/tobymao/sqlglot/issues/5976\"\u003e#5976\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003edue to \u003ca href=\"https://github.com/tobymao/sqlglot/commit/73186a812ce422c108ee81b3de11da6ee9a9e902\"\u003e\u003ccode\u003e73186a8\u003c/code\u003e\u003c/a\u003e - annotate type for Snowflake REGEXP_COUNT function \u003cem\u003e(PR \u003ca href=\"https://redirect.github.com/tobymao/sqlglot/pull/5963\"\u003e#5963\u003c/a\u003e by \u003ca href=\"https://github.com/fivetran-BradfordPaskewitz\"\u003e\u003ccode\u003e@​fivetran-BradfordPaskewitz\u003c/code\u003e\u003c/a\u003e)\u003c/em\u003e:\u003c/p\u003e\n\u003cp\u003eannotate type for Snowflake REGEXP_COUNT function (\u003ca href=\"https://redirect.github.com/tobymao/sqlglot/issues/5963\"\u003e#5963\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003edue to \u003ca href=\"https://github.com/tobymao/sqlglot/commit/c3bdb3cd1af1809ed82be0ae40744d9fffc8ce18\"\u003e\u003ccode\u003ec3bdb3c\u003c/code\u003e\u003c/a\u003e - array start index is 1, support array_flatten, fixes \u003ca href=\"https://redirect.github.com/tobymao/sqlglot/pull/5983\"\u003e#5983\u003c/a\u003e \u003cem\u003e(commit by \u003ca href=\"https://github.com/georgesittas\"\u003e\u003ccode\u003e@​georgesittas\u003c/code\u003e\u003c/a\u003e)\u003c/em\u003e:\u003c/p\u003e\n\u003cp\u003earray start index is 1, support array_flatten, fixes \u003ca href=\"https://redirect.github.com/tobymao/sqlglot/issues/5983\"\u003e#5983\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003edue to \u003ca href=\"https://github.com/tobymao/sqlglot/commit/244fb48fc9c4776f427c08b825d139b1c172fd26\"\u003e\u003ccode\u003e244fb48\u003c/code\u003e\u003c/a\u003e - annotate type for Snowflake SPLIT_PART function \u003cem\u003e(PR \u003ca href=\"https://redirect.github.com/tobymao/sqlglot/pull/5988\"\u003e#5988\u003c/a\u003e by \u003ca href=\"https://github.com/fivetran-BradfordPaskewitz\"\u003e\u003ccode\u003e@​fivetran-BradfordPaskewitz\u003c/code\u003e\u003c/a\u003e)\u003c/em\u003e:\u003c/p\u003e\n\u003cp\u003eannotate type for Snowflake SPLIT_PART function (\u003ca href=\"https://redirect.github.com/tobymao/sqlglot/issues/5988\"\u003e#5988\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003edue to \u003ca href=\"https://github.com/tobymao/sqlglot/commit/0d772e0b9d687b24d49203c05d7a90cc1dce02d5\"\u003e\u003ccode\u003e0d772e0\u003c/code\u003e\u003c/a\u003e - add ast node for \u003ccode\u003eDIRECTORY\u003c/code\u003e source \u003cem\u003e(PR \u003ca href=\"https://redirect.github.com/tobymao/sqlglot/pull/5990\"\u003e#5990\u003c/a\u003e by \u003ca href=\"https://github.com/georgesittas\"\u003e\u003ccode\u003e@​georgesittas\u003c/code\u003e\u003c/a\u003e)\u003c/em\u003e:\u003c/p\u003e\n\u003cp\u003eadd ast node for \u003ccode\u003eDIRECTORY\u003c/code\u003e source (\u003ca href=\"https://redirect.github.com/tobymao/sqlglot/issues/5990\"\u003e#5990\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:sparkles: New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/13a30dfa37096df5bfc2c31538325c40a49f7917\"\u003e\u003ccode\u003e13a30df\u003c/code\u003e\u003c/a\u003e - \u003cstrong\u003eoptimizer\u003c/strong\u003e: Annotate type for snowflake TRY_BASE64_DECODE_BINARY function \u003cem\u003e(PR \u003ca href=\"https://redirect.github.com/tobymao/sqlglot/pull/5972\"\u003e#5972\u003c/a\u003e by \u003ca href=\"https://github.com/fivetran-amrutabhimsenayachit\"\u003e\u003ccode\u003e@​fivetran-amrutabhimsenayachit\u003c/code\u003e\u003c/a\u003e)\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/1f5fdd799c047de167a4572f7ac26b7ad92167f2\"\u003e\u003ccode\u003e1f5fdd7\u003c/code\u003e\u003c/a\u003e - \u003cstrong\u003eoptimizer\u003c/strong\u003e: Annotate type for snowflake TRY_BASE64_DECODE_STRING function \u003cem\u003e(PR \u003ca href=\"https://redirect.github.com/tobymao/sqlglot/pull/5974\"\u003e#5974\u003c/a\u003e by \u003ca href=\"https://github.com/fivetran-amrutabhimsenayachit\"\u003e\u003ccode\u003e@​fivetran-amrutabhimsenayachit\u003c/code\u003e\u003c/a\u003e)\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/324e82fe1fb11722f91341010602a743b151e055\"\u003e\u003ccode\u003e324e82f\u003c/code\u003e\u003c/a\u003e - \u003cstrong\u003eoptimizer\u003c/strong\u003e: Annotate type for snowflake TRY_HEX_DECODE_BINARY function \u003cem\u003e(PR \u003ca href=\"https://redirect.github.com/tobymao/sqlglot/pull/5975\"\u003e#5975\u003c/a\u003e by \u003ca href=\"https://github.com/fivetran-amrutabhimsenayachit\"\u003e\u003ccode\u003e@​fivetran-amrutabhimsenayachit\u003c/code\u003e\u003c/a\u003e)\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/6caf99d556a3357ffaa6c294a9babcd30dd5fac5\"\u003e\u003ccode\u003e6caf99d\u003c/code\u003e\u003c/a\u003e - \u003cstrong\u003eoptimizer\u003c/strong\u003e: Annotate type for snowflake TRY_HEX_DECODE_STRING function \u003cem\u003e(PR \u003ca href=\"https://redirect.github.com/tobymao/sqlglot/pull/5976\"\u003e#5976\u003c/a\u003e by \u003ca href=\"https://github.com/fivetran-amrutabhimsenayachit\"\u003e\u003ccode\u003e@​fivetran-amrutabhimsenayachit\u003c/code\u003e\u003c/a\u003e)\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/73186a812ce422c108ee81b3de11da6ee9a9e902\"\u003e\u003ccode\u003e73186a8\u003c/code\u003e\u003c/a\u003e - \u003cstrong\u003eoptimizer\u003c/strong\u003e: annotate type for Snowflake REGEXP_COUNT function \u003cem\u003e(PR \u003ca href=\"https://redirect.github.com/tobymao/sqlglot/pull/5963\"\u003e#5963\u003c/a\u003e by \u003ca href=\"https://github.com/fivetran-BradfordPaskewitz\"\u003e\u003ccode\u003e@​fivetran-BradfordPaskewitz\u003c/code\u003e\u003c/a\u003e)\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/6124de76fa6d6725e844cd37e09ebfe99469b0ec\"\u003e\u003ccode\u003e6124de7\u003c/code\u003e\u003c/a\u003e - \u003cstrong\u003eoptimizer\u003c/strong\u003e: Annotate type for snowflake SOUNDEX function \u003cem\u003e(PR \u003ca href=\"https://redirect.github.com/tobymao/sqlglot/pull/5986\"\u003e#5986\u003c/a\u003e by \u003ca href=\"https://github.com/fivetran-amrutabhimsenayachit\"\u003e\u003ccode\u003e@​fivetran-amrutabhimsenayachit\u003c/code\u003e\u003c/a\u003e)\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/244fb48fc9c4776f427c08b825d139b1c172fd26\"\u003e\u003ccode\u003e244fb48\u003c/code\u003e\u003c/a\u003e - \u003cstrong\u003eoptimizer\u003c/strong\u003e: annotate type for Snowflake SPLIT_PART function \u003cem\u003e(PR \u003ca href=\"https://redirect.github.com/tobymao/sqlglot/pull/5988\"\u003e#5988\u003c/a\u003e by \u003ca href=\"https://github.com/fivetran-BradfordPaskewitz\"\u003e\u003ccode\u003e@​fivetran-BradfordPaskewitz\u003c/code\u003e\u003c/a\u003e)\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/0d772e0b9d687b24d49203c05d7a90cc1dce02d5\"\u003e\u003ccode\u003e0d772e0\u003c/code\u003e\u003c/a\u003e - \u003cstrong\u003esnowflake\u003c/strong\u003e: add ast node for \u003ccode\u003eDIRECTORY\u003c/code\u003e source \u003cem\u003e(PR \u003ca href=\"https://redirect.github.com/tobymao/sqlglot/pull/5990\"\u003e#5990\u003c/a\u003e by \u003ca href=\"https://github.com/georgesittas\"\u003e\u003ccode\u003e@​georgesittas\u003c/code\u003e\u003c/a\u003e)\u003c/em\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/7a3744f203b93211e5dd97e6730b6bf59d6d96e0\"\u003e\u003ccode\u003e7a3744f\u003c/code\u003e\u003c/a\u003e - \u003cstrong\u003esqlite\u003c/strong\u003e: support \u003ccode\u003eRANGE CURRENT ROW\u003c/code\u003e in window spec \u003cem\u003e(commit by \u003ca href=\"https://github.com/georgesittas\"\u003e\u003ccode\u003e@​georgesittas\u003c/code\u003e\u003c/a\u003e)\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/c3bdb3cd1af1809ed82be0ae40744d9fffc8ce18\"\u003e\u003ccode\u003ec3bdb3c\u003c/code\u003e\u003c/a\u003e - \u003cstrong\u003estarrocks\u003c/strong\u003e: array start index is 1, support array_flatten, fixes \u003ca href=\"https://redirect.github.com/tobymao/sqlglot/pull/5983\"\u003e#5983\u003c/a\u003e \u003cem\u003e(commit by \u003ca href=\"https://github.com/georgesittas\"\u003e\u003ccode\u003e@​georgesittas\u003c/code\u003e\u003c/a\u003e)\u003c/em\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:recycle: Refactors\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/0d772e0b9d687b24d49203c05d7a90cc1dce02d5\"\u003e\u003ccode\u003e0d772e0\u003c/code\u003e\u003c/a\u003e Feat(snowflake)!: add ast node for \u003ccode\u003eDIRECTORY\u003c/code\u003e source (\u003ca href=\"https://redirect.github.com/tobymao/sqlglot/issues/5990\"\u003e#5990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/244fb48fc9c4776f427c08b825d139b1c172fd26\"\u003e\u003ccode\u003e244fb48\u003c/code\u003e\u003c/a\u003e feat(optimizer)!: annotate type for Snowflake SPLIT_PART function (\u003ca href=\"https://redirect.github.com/tobymao/sqlglot/issues/5988\"\u003e#5988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/6124de76fa6d6725e844cd37e09ebfe99469b0ec\"\u003e\u003ccode\u003e6124de7\u003c/code\u003e\u003c/a\u003e feat(optimizer): Annotate type for snowflake SOUNDEX function (\u003ca href=\"https://redirect.github.com/tobymao/sqlglot/issues/5986\"\u003e#5986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/c3bdb3cd1af1809ed82be0ae40744d9fffc8ce18\"\u003e\u003ccode\u003ec3bdb3c\u003c/code\u003e\u003c/a\u003e Fix(starrocks)!: array start index is 1, support array_flatten, fixes \u003ca href=\"https://redirect.github.com/tobymao/sqlglot/issues/5983\"\u003e#5983\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/7a3744f203b93211e5dd97e6730b6bf59d6d96e0\"\u003e\u003ccode\u003e7a3744f\u003c/code\u003e\u003c/a\u003e Fix(sqlite): support \u003ccode\u003eRANGE CURRENT ROW\u003c/code\u003e in window spec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/73186a812ce422c108ee81b3de11da6ee9a9e902\"\u003e\u003ccode\u003e73186a8\u003c/code\u003e\u003c/a\u003e feat(optimizer)!: annotate type for Snowflake REGEXP_COUNT function (\u003ca href=\"https://redirect.github.com/tobymao/sqlglot/issues/5963\"\u003e#5963\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/d425ba26b96b368801f8f486fa375cd75105993d\"\u003e\u003ccode\u003ed425ba2\u003c/code\u003e\u003c/a\u003e refactor: make hash and eq non recursive (\u003ca href=\"https://redirect.github.com/tobymao/sqlglot/issues/5966\"\u003e#5966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/6caf99d556a3357ffaa6c294a9babcd30dd5fac5\"\u003e\u003ccode\u003e6caf99d\u003c/code\u003e\u003c/a\u003e feat(optimizer)!: Annotate type for snowflake TRY_HEX_DECODE_STRING function ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/324e82fe1fb11722f91341010602a743b151e055\"\u003e\u003ccode\u003e324e82f\u003c/code\u003e\u003c/a\u003e feat(optimizer)!: Annotate type for snowflake TRY_HEX_DECODE_BINARY function ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/1f5fdd799c047de167a4572f7ac26b7ad92167f2\"\u003e\u003ccode\u003e1f5fdd7\u003c/code\u003e\u003c/a\u003e feat(optimizer)!: Annotate type for snowflake TRY_BASE64_DECODE_STRING functi...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tobymao/sqlglot/compare/v27.0.0...v27.20.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `regex` from 2024.11.6 to 2025.9.18\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mrabarnett/mrab-regex/blob/hg/changelog.txt\"\u003eregex's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eVersion: 2025.9.20\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eEnable free-threading support in cibuildwheel in another place.\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.9.19\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eEnable free-threading support in cibuildwheel.\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.9.18\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eGit issue 565: Support the free-threaded build of CPython 3.13\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.9.1\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eGit PR 585: Fix AttributeError: 'AnyAll' object has no attribute '_key'\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.8.29\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eGit issue 584: AttributeError: 'AnyAll' object has no attribute 'positive'\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.7.34\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eGit issue 575: Issues with ASCII/Unicode modifiers\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.7.33\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eUpdated main.yml and pyproject.toml.\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.7.32\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eGit issue 580: Regression in v2025.7.31: \\P{L} no longer matches in simple patterns\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.7.31\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eFurther updates to main.yml.\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.7.30\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eUpdated main.yml and pyproject.toml.\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.7.29\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eGit issue 572: Inline ASCII modifier doesn't seem to affect anything\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.5.19\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eChanged how main.yml skips unwanted Arch builds.\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.5.18\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/mrabarnett/mrab-regex/commit/db5c9c636e68a44e27d623e11af1c08229ec4963\"\u003e\u003ccode\u003edb5c9c6\u003c/code\u003e\u003c/a\u003e Git issue 565: Support the free-threaded build of CPython 3.13\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/49e3881e9fceb225b0f82d43f1ef09688ec30da3\"\u003e\u003ccode\u003e49e3881\u003c/code\u003e\u003c/a\u003e Git PR 585: Fix AttributeError: 'AnyAll' object has no attribute '_key'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/183a653894f56ad9bc6ca767b795c0439518e2c1\"\u003e\u003ccode\u003e183a653\u003c/code\u003e\u003c/a\u003e Git issue 584: AttributeError: 'AnyAll' object has no attribute 'positive'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/23ca191dd8d259a42bc3dcae092e4eafce48652d\"\u003e\u003ccode\u003e23ca191\u003c/code\u003e\u003c/a\u003e Git issue 575: Issues with ASCII/Unicode modifiers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/88fee8529b5d41846bfdc144f46d2510c547d169\"\u003e\u003ccode\u003e88fee85\u003c/code\u003e\u003c/a\u003e Updated main.yml and pyproject.toml.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/7ebda8c03230f31e28666790a96c40a650fd1b94\"\u003e\u003ccode\u003e7ebda8c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mrabarnett/mrab-regex/issues/582\"\u003e#582\u003c/a\u003e from facelessuser/bugfix/setuptools\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/26d6efc9bf050190d32c1e8b972acc600d4f2edf\"\u003e\u003ccode\u003e26d6efc\u003c/code\u003e\u003c/a\u003e Setup failure scenario\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/a4a6d9443b11beb42d3440df91c76644ce45615c\"\u003e\u003ccode\u003ea4a6d94\u003c/code\u003e\u003c/a\u003e Git issue 580: Regression in v2025.7.31: \\P{L} no longer matches in simple pa...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/becb0d456d90541fa1266e19999b8005b401fb89\"\u003e\u003ccode\u003ebecb0d4\u003c/code\u003e\u003c/a\u003e Updated version and added changes to changelog.txt.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/457bcd38a53fcc695d7f219ff19607f39a7e08e7\"\u003e\u003ccode\u003e457bcd3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mrabarnett/mrab-regex/issues/577\"\u003e#577\u003c/a\u003e from facelessuser/bugfix/linux\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mrabarnett/mrab-regex/compare/2024.11.6...2025.9.18\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pydantic` from 2.11.7 to 2.11.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/releases\"\u003epydantic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.11.9 2025-09-13\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eBackport v1.10.23 changes by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.11.8...v2.11.9\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.11.8...v2.11.9\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.11.8 2025-09-13\u003c/h2\u003e\n\u003ch2\u003ev2.11.8 (2025-09-13)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix mypy plugin for mypy 1.18 by \u003ca href=\"https://github.com/cdce8p\"\u003e\u003ccode\u003e@​cdce8p\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12209\"\u003e#12209\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.11.7...v2.11.8\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.11.7...v2.11.8\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/blob/v2.11.9/HISTORY.md\"\u003epydantic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.11.9 (2025-09-13)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.11.9\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eBackport v1.10.23 changes by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.11.8 (2025-09-13)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.11.8\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix mypy plugin for mypy 1.18 by \u003ca href=\"https://github.com/cdce8p\"\u003e\u003ccode\u003e@​cdce8p\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12209\"\u003e#12209\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/92310953c146a2ac668a0141be820c083e325f5d\"\u003e\u003ccode\u003e9231095\u003c/code\u003e\u003c/a\u003e Prepare release v2.11.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/f003a89eeaff35ee18f220a2c790d20536e3d0ab\"\u003e\u003ccode\u003ef003a89\u003c/code\u003e\u003c/a\u003e Backport v1.10.23 changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/96b81ddaf93a1f2e19ff1609080c33de10b8d931\"\u003e\u003ccode\u003e96b81dd\u003c/code\u003e\u003c/a\u003e Prepare release v2.11.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/966f377692194b3f1d6d5155ac78052bec0a751d\"\u003e\u003ccode\u003e966f377\u003c/code\u003e\u003c/a\u003e Fix mypy v2 plugin for upcoming \u003ccode\u003e1.18\u003c/code\u003e mypy release\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.11.7...v2.11.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pandas` from 2.3.1 to 2.3.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pandas-dev/pandas/releases\"\u003epandas's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ePandas 2.3.3\u003c/h2\u003e\n\u003cp\u003eWe are pleased to announce the release of pandas 2.3.3.\nThis release includes some improvements and fixes to the future string data type (preview feature for the upcoming pandas 3.0). We recommend that all users upgrade to this version.\u003c/p\u003e\n\u003cp\u003eSee the \u003ca href=\"https://pandas.pydata.org/pandas-docs/version/2.3/whatsnew/v2.3.3.html\"\u003efull whatsnew\u003c/a\u003e for a list of all the changes.\nPandas 2.3.3 supports Python 3.9 and higher, and is the first release to support Python 3.14.\u003c/p\u003e\n\u003cp\u003eThe release will be available on the conda-forge channel:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003econda install pandas --channel conda-forge\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eOr via PyPI:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epython3 -m pip install --upgrade pandas\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003ePlease report any issues with the release on the \u003ca href=\"https://github.com/pandas-dev/pandas/issues\"\u003epandas issue tracker\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThanks to all the contributors who made this release possible.\u003c/p\u003e\n\u003ch2\u003ePandas 2.3.2\u003c/h2\u003e\n\u003cp\u003eWe are pleased to announce the release of pandas 2.3.2.\nThis release includes some improvements and fixes to the future string data type (preview feature for the upcoming pandas 3.0). We recommend that all users upgrade to this version.\u003c/p\u003e\n\u003cp\u003eSee the \u003ca href=\"https://pandas.pydata.org/pandas-docs/version/2.3/whatsnew/v2.3.2.html\"\u003efull whatsnew\u003c/a\u003e for a list of all the changes.\nPandas 2.3.2 supports Python 3.9 and higher.\u003c/p\u003e\n\u003cp\u003eThe release will be available on the conda-forge channel:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003econda install pandas --channel conda-forge\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eOr via PyPI:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epython3 -m pip install --upgrade pandas\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003ePlease report any issues with the release on the \u003ca href=\"https://github.com/pandas-dev/pandas/issues\"\u003epandas issue tracker\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThanks to all the contributors who made this release possible.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/9c8bc3e55188c8aff37207a74f1dd144980b8874\"\u003e\u003ccode\u003e9c8bc3e\u003c/code\u003e\u003c/a\u003e RLS: 2.3.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/6aa788a00bda9b0f004302076dad94df3edeafc7\"\u003e\u003ccode\u003e6aa788a\u003c/code\u003e\u003c/a\u003e [backport 2.3.x] DOC: prepare 2.3.3 whatsnew notes for release (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/62499\"\u003e#62499\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/62508\"\u003e#62508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/b64f0df403d11ac733d9f460f89a5e99c8044ed0\"\u003e\u003ccode\u003eb64f0df\u003c/code\u003e\u003c/a\u003e [backport 2.3.x] BUG: avoid validation error for ufunc with string[python] ar...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/058eb2b0edfc408dae9966ef1f03372f2a3ff04c\"\u003e\u003ccode\u003e058eb2b\u003c/code\u003e\u003c/a\u003e [backport 2.3.x] BUG: String[pyarrow] comparison with mixed object (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/62424\"\u003e#62424\u003c/a\u003e) (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/2ca088daef6a9d9333fea8aedffc7e50d28dfdee\"\u003e\u003ccode\u003e2ca088d\u003c/code\u003e\u003c/a\u003e [backport 2.3.x] DEPR: remove the Period resampling deprecation (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/62480\"\u003e#62480\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/62\"\u003e#62\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/92bf98f623572ed053d48be5818c8503f1b61888\"\u003e\u003ccode\u003e92bf98f\u003c/code\u003e\u003c/a\u003e [backport 2.3.x] BUG: fix .str.isdigit to honor unicode superscript for older...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/e57c7d6a2247316188fba0ba2a0db3c11028d75c\"\u003e\u003ccode\u003ee57c7d6\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/62452\"\u003e#62452\u003c/a\u003e on branch 2.3.x (TST: Adjust tests for numexpr 2.13) (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/62454\"\u003e#62454\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/e0fe9a03c90e560c34a3bbbdd1735a8b64f7b281\"\u003e\u003ccode\u003ee0fe9a0\u003c/code\u003e\u003c/a\u003e Backport to 2.3.x: REGR: from_records not initializing subclasses properly (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/23a1085e641c8e3a5b500e319c5973e4160b9236\"\u003e\u003ccode\u003e23a1085\u003c/code\u003e\u003c/a\u003e BUG: improve future warning for boolean operations with missaligned indexes (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/61136969fb18b438b6660bd5d485d0236dbf4a71\"\u003e\u003ccode\u003e6113696\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/62396\"\u003e#62396\u003c/a\u003e on branch 2.3.x (PKG/DOC: indicate Python 3.14 support in ...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pandas-dev/pandas/compare/v2.3.1...v2.3.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `numpy` from 2.3.1 to 2.3.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/numpy/numpy/releases\"\u003enumpy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.3 (Sep 9, 2025)\u003c/h2\u003e\n\u003ch1\u003eNumPy 2.3.3 Release Notes\u003c/h1\u003e\n\u003cp\u003eThe NumPy 2.3.3 release is a patch release split between a number of maintenance\nupdates and bug fixes. This release supports Python versions 3.11-3.14. Note\nthat the 3.14.0 final is currently expected in Oct, 2025. This release is based\non 3.14.0rc2.\u003c/p\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eA total of 13 people contributed to this release. People with a \u0026quot;+\u0026quot; by their\nnames contributed a patch for the first time.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAleksandr A. Voyt +\u003c/li\u003e\n\u003cli\u003eBernard Roesler +\u003c/li\u003e\n\u003cli\u003eCharles Harris\u003c/li\u003e\n\u003cli\u003eHunter Hogan +\u003c/li\u003e\n\u003cli\u003eJoren Hammudoglu\u003c/li\u003e\n\u003cli\u003eMaanas Arora\u003c/li\u003e\n\u003cli\u003eMatti Picus\u003c/li\u003e\n\u003cli\u003eNathan Goldbaum\u003c/li\u003e\n\u003cli\u003eRaghuveer Devulapalli\u003c/li\u003e\n\u003cli\u003eSanjay Kumar Sakamuri Kamalakar +\u003c/li\u003e\n\u003cli\u003eTobias Markus +\u003c/li\u003e\n\u003cli\u003eWarren Weckesser\u003c/li\u003e\n\u003cli\u003eZebreus +\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePull requests merged\u003c/h2\u003e\n\u003cp\u003eA total of 23 pull requests were merged for this release.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29440\"\u003e#29440\u003c/a\u003e: MAINT: Prepare 2.3.x for further development.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29446\"\u003e#29446\u003c/a\u003e: BUG: Fix test_configtool_pkgconfigdir to resolve PKG_CONFIG_DIR...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29447\"\u003e#29447\u003c/a\u003e: BLD: allow targeting webassembly without emscripten\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29460\"\u003e#29460\u003c/a\u003e: MAINT: Backport write_release.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29473\"\u003e#29473\u003c/a\u003e: MAINT: Bump pypa/cibuildwheel from 3.1.0 to 3.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29500\"\u003e#29500\u003c/a\u003e: BUG: Always return a real dtype from linalg.cond (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/18304\"\u003egh-18304\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29333\"\u003e#29333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29501\"\u003e#29501\u003c/a\u003e: MAINT: Add .file entry to all .s SVML files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29556\"\u003e#29556\u003c/a\u003e: BUG: Casting from one timedelta64 to another didn't handle NAT.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29562\"\u003e#29562\u003c/a\u003e: BLD: update vendored Meson to 1.8.3 [wheel build]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29563\"\u003e#29563\u003c/a\u003e: BUG: Fix metadata not roundtripping when pickling datetime (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29555\"\u003e#29555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29587\"\u003e#29587\u003c/a\u003e: TST: update link and version for Intel SDE download\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29593\"\u003e#29593\u003c/a\u003e: TYP: add \u003ccode\u003esorted\u003c/code\u003e kwarg to \u003ccode\u003eunique\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29672\"\u003e#29672\u003c/a\u003e: MAINT: Update pythoncapi-compat from main.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29673\"\u003e#29673\u003c/a\u003e: MAINT: Update cibuildwheel.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29674\"\u003e#29674\u003c/a\u003e: MAINT: Fix typo in wheels.yml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29683\"\u003e#29683\u003c/a\u003e: BUG, BLD: Correct regex for ppc64 VSX3/VSX4 feature detection\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29684\"\u003e#29684\u003c/a\u003e: TYP: ndarray.fill() takes no keyword arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29685\"\u003e#29685\u003c/a\u003e: BUG: avoid thread-unsafe refcount check in temp elision\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29687\"\u003e#29687\u003c/a\u003e: CI: replace comment-hider action in mypy_primer workflow\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/f2a77a76e08719556527e0819182073fe9b5f1c3\"\u003e\u003ccode\u003ef2a77a7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29702\"\u003e#29702\u003c/a\u003e from charris/prepare-2.3.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/8641006104c02492ced251c707c88611621db9e8\"\u003e\u003ccode\u003e8641006\u003c/code\u003e\u003c/a\u003e REL: Prepare for the NumPy 2.3.3 release [wheel build]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/f024265b1aec949ab7d59a9bb82614fae0701255\"\u003e\u003ccode\u003ef024265\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29701\"\u003e#29701\u003c/a\u003e from charris/backport-29697\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/84f2eedb58c4a7370e0d4865a2b11e0420cdf634\"\u003e\u003ccode\u003e84f2eed\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29700\"\u003e#29700\u003c/a\u003e from charris/backport-29695\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/7cacdbf8855fd6da6a7d116bebd896b393e4f441\"\u003e\u003ccode\u003e7cacdbf\u003c/code\u003e\u003c/a\u003e Update VXE and VXE2 detection regex patterns\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/028c46989fee6f8dfc1192d4f71c277deae0c4f9\"\u003e\u003ccode\u003e028c469\u003c/code\u003e\u003c/a\u003e TYP: appease ruff\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/4b80666b63d7779e2509d0690f68a977528268a9\"\u003e\u003ccode\u003e4b80666\u003c/code\u003e\u003c/a\u003e TYP: fix \u003ccode\u003enp.bool\u003c/code\u003e method declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/f2a6b75df162d9a0904b0dbc07b707020fe9d1d5\"\u003e\u003ccode\u003ef2a6b75\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29691\"\u003e#29691\u003c/a\u003e from charris/backport-29665\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/a707cbf5e36c9316099f6ae471718d98a18170f5\"\u003e\u003ccode\u003ea707cbf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29689\"\u003e#29689\u003c/a\u003e from charris/backport-29662\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/3d66056fa31a89fefb632229eb21f21d63cd8964\"\u003e\u003ccode\u003e3d66056\u003c/code\u003e\u003c/a\u003e BUG: use correct input dtype in flatiter assignment\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/numpy/numpy/compare/v2.3.1...v2.3.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pg8000` from 1.31.4 to 1.31.5\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tlocke/pg8000/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest` from 8.4.1 to 8.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest/releases\"\u003epytest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.4.2\u003c/h2\u003e\n\u003ch1\u003epytest 8.4.2 (2025-09-03)\u003c/h1\u003e\n\u003ch2\u003eBug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13478\"\u003e#13478\u003c/a\u003e: Fixed a crash when using \u003ccode\u003econsole_output_style\u003c/code\u003e{.interpreted-text role=\u0026quot;confval\u0026quot;} with \u003ccode\u003etimes\u003c/code\u003e and a module is skipped.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13530\"\u003e#13530\u003c/a\u003e: Fixed a crash when using \u003ccode\u003epytest.approx\u003c/code\u003e{.interpreted-text role=\u0026quot;func\u0026quot;} and \u003ccode\u003edecimal.Decimal\u003c/code\u003e{.interpreted-text role=\u0026quot;class\u0026quot;} instances with the \u003ccode\u003edecimal.FloatOperation\u003c/code\u003e{.interpreted-text role=\u0026quot;class\u0026quot;} trap set.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13549\"\u003e#13549\u003c/a\u003e: No longer evaluate type annotations in Python \u003ccode\u003e3.14\u003c/code\u003e when inspecting function signatures.\u003c/p\u003e\n\u003cp\u003eThis prevents crashes during module collection when modules do not explicitly use \u003ccode\u003efrom __future__ import annotations\u003c/code\u003e and import types for annotations within a \u003ccode\u003eif TYPE_CHECKING:\u003c/code\u003e block.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13559\"\u003e#13559\u003c/a\u003e: Added missing [int]{.title-ref} and [float]{.title-ref} variants to the [Literal]{.title-ref} type annotation of the [type]{.title-ref} parameter in \u003ccode\u003epytest.Parser.addini\u003c/code\u003e{.interpreted-text role=\u0026quot;meth\u0026quot;}.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13563\"\u003e#13563\u003c/a\u003e: \u003ccode\u003epytest.approx\u003c/code\u003e{.interpreted-text role=\u0026quot;func\u0026quot;} now only imports \u003ccode\u003enumpy\u003c/code\u003e if NumPy is already in \u003ccode\u003esys.modules\u003c/code\u003e. This fixes unconditional import behavior introduced in [8.4.0]{.title-ref}.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImproved documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13577\"\u003e#13577\u003c/a\u003e: Clarify that \u003ccode\u003epytest_generate_tests\u003c/code\u003e is discovered in test modules/classes; other hooks must be in \u003ccode\u003econftest.py\u003c/code\u003e or plugins.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributor-facing changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13480\"\u003e#13480\u003c/a\u003e: Self-testing: fixed a few test failures when run with \u003ccode\u003e-Wdefault\u003c/code\u003e or a similar override.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13547\"\u003e#13547\u003c/a\u003e: Self-testing: corrected expected message for \u003ccode\u003etest_doctest_unexpected_exception\u003c/code\u003e in Python \u003ccode\u003e3.14\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13684\"\u003e#13684\u003c/a\u003e: Make pytest's own testsuite insensitive to the presence of the \u003ccode\u003eCI\u003c/code\u003e environment variable -- by \u003ccode\u003eogrisel\u003c/code\u003e{.interpreted-text role=\u0026quot;user\u0026quot;}.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/bfae4224fd554d3d7f2c277a4cc092b6ec6af3ae\"\u003e\u003ccode\u003ebfae422\u003c/code\u003e\u003c/a\u003e Prepare release version 8.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/89905381a163be30ae87d62e5f750e902d750c5f\"\u003e\u003ccode\u003e8990538\u003c/code\u003e\u003c/a\u003e Fix passenv CI in tox ini and make tests insensitive to the presence of the C...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/ca676bfe005aebcb12f4146d1b0f1d2772e2cd5d\"\u003e\u003ccode\u003eca676bf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13687\"\u003e#13687\u003c/a\u003e from pytest-dev/patchback/backports/8.4.x/e63f6e51c...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/975a60a63ce385a44655596e254c1899feaa53e4\"\u003e\u003ccode\u003e975a60a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13686\"\u003e#13686\u003c/a\u003e from pytest-dev/patchback/backports/8.4.x/12bde8af6...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/7723ce84b87ab08f86ddafcb342acc28ba5ec99d\"\u003e\u003ccode\u003e7723ce8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13683\"\u003e#13683\u003c/a\u003e from even-even/fix_Exeption_to_Exception_in_errorMe...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/b7f05680d1301e0969b30bcb3c4b27433c9ee2b7\"\u003e\u003ccode\u003eb7f0568\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13685\"\u003e#13685\u003c/a\u003e from CoretexShadow/fix/docs-pytest-generate-tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/2c94c4a6948ba53440818389298157fa5d5f94cd\"\u003e\u003ccode\u003e2c94c4a\u003c/code\u003e\u003c/a\u003e add missing colon (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13640\"\u003e#13640\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13641\"\u003e#13641\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/c3d7684bc01c8c48d05145a30c5211ca8656c68c\"\u003e\u003ccode\u003ec3d7684\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13606\"\u003e#13606\u003c/a\u003e from pytest-dev/patchback/backports/8.4.x/5f9938563...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/dc6e3be2ddc75a149b6d102d9b7c82ee47a00cfa\"\u003e\u003ccode\u003edc6e3be\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13605\"\u003e#13605\u003c/a\u003e from The-Compiler/training-update-2025-07\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/f87289c36c8dbe7740e3020f5546b6f8b0861ff0\"\u003e\u003ccode\u003ef87289c\u003c/code\u003e\u003c/a\u003e Fix crash with \u003ccode\u003etimes\u003c/code\u003e output style and skipped module (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13573\"\u003e#13573\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13579\"\u003e#13579\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest/compare/8.4.1...8.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-asyncio` from 1.1.0 to 1.2.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/releases\"\u003epytest-asyncio's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epytest-asyncio 1.2.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/tree/1.2.0\"\u003e1.2.0\u003c/a\u003e - 2025-09-12\u003c/h1\u003e\n\u003ch2\u003eAdded\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e--asyncio-debug\u003c/code\u003e CLI option and \u003ccode\u003easyncio_debug\u003c/code\u003e configuration option to enable asyncio debug mode for the default event loop. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/980\"\u003e#980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA \u003ccode\u003epytest.UsageError\u003c/code\u003e for invalid configuration values of \u003ccode\u003easyncio_default_fixture_loop_scope\u003c/code\u003e and \u003ccode\u003easyncio_default_test_loop_scope\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1189\"\u003e#1189\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCompatibility with the Pyright type checker (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/731\"\u003e#731\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eRuntimeError: There is no current event loop in thread 'MainThread'\u003c/code\u003e when any test unsets the event loop (such as when using \u003ccode\u003easyncio.run\u003c/code\u003e and \u003ccode\u003easyncio.Runner\u003c/code\u003e). (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1177\"\u003e#1177\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDeprecation warning when decorating an asynchronous fixture with \u003ccode\u003e@pytest.fixture\u003c/code\u003e in [strict]{.title-ref} mode. The warning message now refers to the correct package. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1198\"\u003e#1198\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNotes for Downstream Packagers\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump the minimum required version of tox to v4.28. This change is only relevant if you use the \u003ccode\u003etox.ini\u003c/code\u003e file provided by pytest-asyncio to run tests.\u003c/li\u003e\n\u003cli\u003eExtend dependency on typing-extensions\u0026gt;=4.12 from Python\u0026lt;3.10 to Python\u0026lt;3.13.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epytest-asyncio 1.1.1\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/tree/v1.1.1\"\u003ev1.1.1\u003c/a\u003e - 2025-09-12\u003c/h1\u003e\n\u003ch2\u003eNotes for Downstream Packagers\u003c/h2\u003e\n\u003cp\u003e- Addresses a build problem with setuptoos-scm \u0026gt;= 9 caused by invalid setuptools-scm configuration in pytest-asyncio. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1192\"\u003e#1192\u003c/a\u003e)\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/0d3988f5adc16e8b364266c9ecda42a36d5892ff\"\u003e\u003ccode\u003e0d3988f\u003c/code\u003e\u003c/a\u003e ci: Create GitHub release before publishing to PyPI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/07c5a0b3e0bb99c7592ab87ed17a4bb2966fdf6a\"\u003e\u003ccode\u003e07c5a0b\u003c/code\u003e\u003c/a\u003e docs: Include orphaned news fragment in changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/be24582b86375b761534639be6c2941d0b3f116c\"\u003e\u003ccode\u003ebe24582\u003c/code\u003e\u003c/a\u003e chore: Prepare release of v1.2.0.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/7aeb296b9f95e57c371734dcb1d3ece3f7c81727\"\u003e\u003ccode\u003e7aeb296\u003c/code\u003e\u003c/a\u003e docs: Streamline news fragments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/7b8311cf1d2f67931f4fd9bbbe6d9f3b09572ebb\"\u003e\u003ccode\u003e7b8311c\u003c/code\u003e\u003c/a\u003e ci: Fixes a bug that prevented SSH signature from being stripped from release...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/9d4c2bd8770d4073e015213373975f217d3ac8f5\"\u003e\u003ccode\u003e9d4c2bd\u003c/code\u003e\u003c/a\u003e docs: Add changelog entry for Pyright compatibility.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/94f6106ea0c7ee716d7cf85377c653baa9cb7cd9\"\u003e\u003ccode\u003e94f6106\u003c/code\u003e\u003c/a\u003e test: Added tests which assert that the event loop is reinstated if unset by ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/df61991f1805f45ab31ae2d2fb73a54ff25ccd0c\"\u003e\u003ccode\u003edf61991\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/f1f7941691ff506ab553dfd6d00b09e8213eeff7\"\u003e\u003ccode\u003ef1f7941\u003c/code\u003e\u003c/a\u003e Build(deps): Bump pytest from 8.4.1 to 8.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/c77d3d38f7adb41f5f6ea7b002da4e0f480c5c24\"\u003e\u003ccode\u003ec77d3d3\u003c/code\u003e\u003c/a\u003e Build(deps): Bump twine from 6.1.0 to 6.2.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/compare/v1.1.0...v1.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/kanchpat/adk-testing/pull/4","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/kanchpat%2Fadk-testing/issues/4","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/4/packages"}},{"old_version":"1.31.4","new_version":"1.31.5","update_type":"patch","path":"/python/agents/data-science","pr_created_at":"2025-10-01T16:58:55.000Z","version_change":"1.31.4 → 1.31.5","issue":{"uuid":"2878979354","node_id":"PR_kwDOOSaYT86rmb0a","number":436,"state":"closed","title":"chore(deps): bump the all-dependencies group in /python/agents/data-science with 9 updates","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":"2025-10-02T08:38:38.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-10-01T16:58:55.000Z","updated_at":"2025-10-02T08:38:38.000Z","time_to_close":56383,"merged_at":"2025-10-02T08:38:38.000Z","merged_by":"mstyer-google","closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"all-dependencies","update_count":9,"packages":[{"name":"google-adk","old_version":"1.7.0","new_version":"1.15.1","repository_url":"https://github.com/google/adk-python"},{"name":"sqlglot","old_version":"27.0.0","new_version":"27.20.0","repository_url":"https://github.com/tobymao/sqlglot"},{"name":"regex","old_version":"2024.11.6","new_version":"2025.9.18","repository_url":"https://github.com/mrabarnett/mrab-regex"},{"name":"pydantic","old_version":"2.11.7","new_version":"2.11.9","repository_url":"https://github.com/pydantic/pydantic"},{"name":"pandas","old_version":"2.3.1","new_version":"2.3.3","repository_url":"https://github.com/pandas-dev/pandas"},{"name":"numpy","old_version":"2.3.1","new_version":"2.3.3","repository_url":"https://github.com/numpy/numpy"},{"name":"pg8000","old_version":"1.31.4","new_version":"1.31.5","repository_url":"https://github.com/tlocke/pg8000"},{"name":"pytest","old_version":"8.4.1","new_version":"8.4.2","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"pytest-asyncio","old_version":"1.1.0","new_version":"1.2.0","repository_url":"https://github.com/pytest-dev/pytest-asyncio"}],"path":"/python/agents/data-science","ecosystem":"pip"},"body":"Bumps the all-dependencies group in /python/agents/data-science with 9 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [google-adk](https://github.com/google/adk-python) | `1.7.0` | `1.15.1` |\n| [sqlglot](https://github.com/tobymao/sqlglot) | `27.0.0` | `27.20.0` |\n| [regex](https://github.com/mrabarnett/mrab-regex) | `2024.11.6` | `2025.9.18` |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.11.7` | `2.11.9` |\n| [pandas](https://github.com/pandas-dev/pandas) | `2.3.1` | `2.3.3` |\n| [numpy](https://github.com/numpy/numpy) | `2.3.1` | `2.3.3` |\n| [pg8000](https://github.com/tlocke/pg8000) | `1.31.4` | `1.31.5` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.4.1` | `8.4.2` |\n| [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) | `1.1.0` | `1.2.0` |\n\nUpdates `google-adk` from 1.7.0 to 1.15.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/adk-python/releases\"\u003egoogle-adk's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 1.15.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.15.0...v1.15.1\"\u003e1.15.1\u003c/a\u003e (2025-09-26)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix the deployment failure for Agent Engine (\u003ca href=\"https://github.com/google/adk-python/commit/e172811bc7173b9004572f2a2afc7024145d7713\"\u003ee172811\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 1.15.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.14.1...v1.15.0\"\u003e1.15.0\u003c/a\u003e (2025-09-24)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[Core]\n\u003cul\u003e\n\u003cli\u003eAdding the ContextFilterPlugin (\u003ca href=\"https://github.com/google/adk-python/commit/a06bf278cbc89f521c187ed51b032d82ffdafe2d\"\u003ea06bf27\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdds plugin to save artifacts for issue \u003ca href=\"https://redirect.github.com/google/adk-python/issues/2176\"\u003e#2176\u003c/a\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/657369cffe142ef3745cd5950d0d24a49f42f7fd\"\u003e657369c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpose log probs of candidates in LlmResponse (\u003ca href=\"https://github.com/google/adk-python/commit/f7bd3c111c211e880d7c1954dd4508b952704c68\"\u003ef7bd3c1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e[Context Caching]\n\u003cul\u003e\n\u003cli\u003eSupport context caching (\u003ca href=\"https://github.com/google/adk-python/commit/c66245a3b80192c16cb67ee3194f82c9a7c901e5\"\u003ec66245a\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSupport explicit context caching auto creation and lifecycle management.\u003c/p\u003e\n\u003cp\u003eUsage: \u003ccode\u003eApp(root_agent=..., plugins=..., context_cache_config=...)\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eSupport non-text content in static instruction (\u003ca href=\"https://github.com/google/adk-python/commit/61213ce4d4c10f7ecaf6ddb521672059cee27942\"\u003e61213ce\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport static instructions (\u003ca href=\"https://github.com/google/adk-python/commit/9be9cc2feee92241fd2fbf9dea3a42de5a78e9ce\"\u003e9be9cc2\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSupport static instruction that won't change, put at the beginning of\nthe instruction.\nStatic instruction support inline_data and file_data as contents.\nDynamic instruction moved to the end of LlmRequest, increasing prefix\ncaching matching size.\u003c/p\u003e\n\u003cp\u003eUsage:\n\u003ccode\u003eLlmAgent(model=...,static_instruction =types.Content(parts=...), ... )\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e[Telemetry]\n\u003cul\u003e\n\u003cli\u003eAdd --otel_to_cloud experimental support (\u003ca href=\"https://github.com/google/adk-python/commit/1ae0b82f5602a57ad1ca975ca0b7c85003d1a28a\"\u003e1ae0b82\u003c/a\u003e, \u003ca href=\"https://github.com/google/adk-python/commit/b1312680f4ea9f21c3246a1d24392619643d71f5\"\u003eb131268\u003c/a\u003e, \u003ca href=\"https://github.com/google/adk-python/commit/7870480c63bb4fc08cfb3cabc0e1f0458f0e85bd\"\u003e7870480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd GenAI Instrumentation if --otel_to_cloud is enabled (\u003ca href=\"https://github.com/google/adk-python/commit/cee365a13d0d1b1f2be046c1cc29e24a8d1fdbcc\"\u003ecee365a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport standard OTel env variables for exporter endpoints (\u003ca href=\"https://github.com/google/adk-python/commit/f157b2ee4caf4055e78f4657254e45913895f5de\"\u003ef157b2e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTemporarily disable Cloud Monitoring integration in --otel_to_cloud (\u003ca href=\"https://github.com/google/adk-python/commit/3b80337faf427460e4743e25dbb92578f823513f\"\u003e3b80337\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e[Services]\n\u003cul\u003e\n\u003cli\u003eAdd endpoint to generate memory from session (\u003ca href=\"https://github.com/google/adk-python/commit/25958242db890b4d2aac8612f7f7cfbb561727fa\"\u003e2595824\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e[Tools]\n\u003cul\u003e\n\u003cli\u003eAdd Google Maps Grounding Tool to ADK (\u003ca href=\"https://github.com/google/adk-python/commit/6b493915469ecb42068e24818ab547b0856e4709\"\u003e6b49391\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eMCP:\u003c/strong\u003e Initialize tool_name_prefix in MCPToolse (\u003ca href=\"https://github.com/google/adk-python/commit/86dea5b53ac305367283b7e353b60d0f4515be3b\"\u003e86dea5b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e[Evals]\n\u003cul\u003e\n\u003cli\u003eData model for storing App Details and data model for steps (\u003ca href=\"https://github.com/google/adk-python/commit/01923a9227895906ca8ae32712d65b178e2cd7d5\"\u003e01923a9\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdds Rubric based final response evaluator (\u003ca href=\"https://github.com/google/adk-python/commit/5a485b01cd64cb49735e13ebd5e7fa3da02cd85f\"\u003e5a485b0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePopulate AppDetails to each Invocation (\u003ca href=\"https://github.com/google/adk-python/commit/d48679582de91050ca9c5106402319be9a8ae7e8\"\u003ed486795\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e[Samples]\n\u003cul\u003e\n\u003cli\u003eMake the bigquery sample agent run with ADC out-of-the-box (\u003ca href=\"https://github.com/google/adk-python/commit/10cf37749417856e394e62896231e41b13420f18\"\u003e10cf377\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\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/google/adk-python/blob/main/CHANGELOG.md\"\u003egoogle-adk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.15.0...v1.15.1\"\u003e1.15.1\u003c/a\u003e (2025-09-26)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix the deployment failure for Agent Engine (\u003ca href=\"https://github.com/google/adk-python/commit/e172811bc7173b9004572f2a2afc7024145d7713\"\u003ee172811\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.14.1...v1.15.0\"\u003e1.15.0\u003c/a\u003e (2025-09-24)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[Core]\n\u003cul\u003e\n\u003cli\u003eAdding the ContextFilterPlugin (\u003ca href=\"https://github.com/google/adk-python/commit/a06bf278cbc89f521c187ed51b032d82ffdafe2d\"\u003ea06bf27\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdds plugin to save artifacts for issue \u003ca href=\"https://redirect.github.com/google/adk-python/issues/2176\"\u003e#2176\u003c/a\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/657369cffe142ef3745cd5950d0d24a49f42f7fd\"\u003e657369c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpose log probs of candidates in LlmResponse (\u003ca href=\"https://github.com/google/adk-python/commit/f7bd3c111c211e880d7c1954dd4508b952704c68\"\u003ef7bd3c1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e[Context Caching]\n\u003cul\u003e\n\u003cli\u003eSupport context caching (\u003ca href=\"https://github.com/google/adk-python/commit/c66245a3b80192c16cb67ee3194f82c9a7c901e5\"\u003ec66245a\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSupport explicit context caching auto creation and lifecycle management.\u003c/p\u003e\n\u003cp\u003eUsage: \u003ccode\u003eApp(root_agent=..., plugins=..., context_cache_config=...)\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eSupport non-text content in static instruction (\u003ca href=\"https://github.com/google/adk-python/commit/61213ce4d4c10f7ecaf6ddb521672059cee27942\"\u003e61213ce\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport static instructions (\u003ca href=\"https://github.com/google/adk-python/commit/9be9cc2feee92241fd2fbf9dea3a42de5a78e9ce\"\u003e9be9cc2\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSupport static instruction that won't change, put at the beginning of\nthe instruction.\nStatic instruction support inline_data and file_data as contents.\nDynamic instruction moved to the end of LlmRequest, increasing prefix\ncaching matching size.\u003c/p\u003e\n\u003cp\u003eUsage:\n\u003ccode\u003eLlmAgent(model=...,static_instruction =types.Content(parts=...), ... )\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e[Telemetry]\n\u003cul\u003e\n\u003cli\u003eAdd --otel_to_cloud experimental support (\u003ca href=\"https://github.com/google/adk-python/commit/1ae0b82f5602a57ad1ca975ca0b7c85003d1a28a\"\u003e1ae0b82\u003c/a\u003e, \u003ca href=\"https://github.com/google/adk-python/commit/b1312680f4ea9f21c3246a1d24392619643d71f5\"\u003eb131268\u003c/a\u003e, \u003ca href=\"https://github.com/google/adk-python/commit/7870480c63bb4fc08cfb3cabc0e1f0458f0e85bd\"\u003e7870480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd GenAI Instrumentation if --otel_to_cloud is enabled (\u003ca href=\"https://github.com/google/adk-python/commit/cee365a13d0d1b1f2be046c1cc29e24a8d1fdbcc\"\u003ecee365a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport standard OTel env variables for exporter endpoints (\u003ca href=\"https://github.com/google/adk-python/commit/f157b2ee4caf4055e78f4657254e45913895f5de\"\u003ef157b2e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTemporarily disable Cloud Monitoring integration in --otel_to_cloud (\u003ca href=\"https://github.com/google/adk-python/commit/3b80337faf427460e4743e25dbb92578f823513f\"\u003e3b80337\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e[Services]\n\u003cul\u003e\n\u003cli\u003eAdd endpoint to generate memory from session (\u003ca href=\"https://github.com/google/adk-python/commit/25958242db890b4d2aac8612f7f7cfbb561727fa\"\u003e2595824\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e[Tools]\n\u003cul\u003e\n\u003cli\u003eAdd Google Maps Grounding Tool to ADK (\u003ca href=\"https://github.com/google/adk-python/commit/6b493915469ecb42068e24818ab547b0856e4709\"\u003e6b49391\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eMCP:\u003c/strong\u003e Initialize tool_name_prefix in MCPToolse (\u003ca href=\"https://github.com/google/adk-python/commit/86dea5b53ac305367283b7e353b60d0f4515be3b\"\u003e86dea5b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e[Evals]\n\u003cul\u003e\n\u003cli\u003eData model for storing App Details and data model for steps (\u003ca href=\"https://github.com/google/adk-python/commit/01923a9227895906ca8ae32712d65b178e2cd7d5\"\u003e01923a9\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdds Rubric based final response evaluator (\u003ca href=\"https://github.com/google/adk-python/commit/5a485b01cd64cb49735e13ebd5e7fa3da02cd85f\"\u003e5a485b0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePopulate AppDetails to each Invocation (\u003ca href=\"https://github.com/google/adk-python/commit/d48679582de91050ca9c5106402319be9a8ae7e8\"\u003ed486795\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e[Samples]\n\u003cul\u003e\n\u003cli\u003eMake the bigquery sample agent run with ADC out-of-the-box (\u003ca href=\"https://github.com/google/adk-python/commit/10cf37749417856e394e62896231e41b13420f18\"\u003e10cf377\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClose runners after running eval (\u003ca href=\"https://github.com/google/adk-python/commit/86ee6e3fa3690148d60358fc3dacb0e0ab40942b\"\u003e86ee6e3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFilter out thought parts when saving agent output to state (\u003ca href=\"https://github.com/google/adk-python/commit/632bf8b0bcf18ff4e4505e4e5f4c626510f366a2\"\u003e632bf8b\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/google/adk-python/commit/e172811bc7173b9004572f2a2afc7024145d7713\"\u003e\u003ccode\u003ee172811\u003c/code\u003e\u003c/a\u003e fix: unbreak client closed errors when using vertexai session service\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/da6f1d36537f471e8ba1f368efc2102f59b7bd5a\"\u003e\u003ccode\u003eda6f1d3\u003c/code\u003e\u003c/a\u003e chore: Release ADK 1.15.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/2c752934a84a647dfc80365e48fd9c870f29c0ae\"\u003e\u003ccode\u003e2c75293\u003c/code\u003e\u003c/a\u003e feat: Skip running a workflow agent if it has no sub-agents\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/b2b80e7fa0d9de01dc15cde5026097efd39c3db8\"\u003e\u003ccode\u003eb2b80e7\u003c/code\u003e\u003c/a\u003e feat: Pause invocations on long running function calls for resumable apps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/dd1ffad39460c3cb687909e7beb65b3dda28a1dd\"\u003e\u003ccode\u003edd1ffad\u003c/code\u003e\u003c/a\u003e chore: Update \u003ccode\u003egoogle-genai\u003c/code\u003e version constraint\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/8b081751ed162c8cf51fda7ff1c378871969fc7b\"\u003e\u003ccode\u003e8b08175\u003c/code\u003e\u003c/a\u003e feat: Add core checkpointing primitive for base agent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/b5a65fb4f4c97cae90f570d76960fe725ed16a84\"\u003e\u003ccode\u003eb5a65fb\u003c/code\u003e\u003c/a\u003e chore: Remove the too-detailed edge case descriptions for resumability\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/839d2e43bbcdd8e4b9a9121e9da8bb47688c5db6\"\u003e\u003ccode\u003e839d2e4\u003c/code\u003e\u003c/a\u003e feat: Define an AgentState to be used for resuming agent invocation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/1589fcdd86eb7d632f161f5c88add0cf1241e196\"\u003e\u003ccode\u003e1589fcd\u003c/code\u003e\u003c/a\u003e chore: Replace github HTTP URIs with GCS HTTP URIs in static non-text content...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/e7528aebd400c59885765f8c14ef0aa983bc7b39\"\u003e\u003ccode\u003ee7528ae\u003c/code\u003e\u003c/a\u003e feat(otel): adjust telemetry to follow OTLP 1.37 GenAI semconv\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/adk-python/compare/v1.7.0...v1.15.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sqlglot` from 27.0.0 to 27.20.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tobymao/sqlglot/blob/main/CHANGELOG.md\"\u003esqlglot's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[v27.20.0] - 2025-09-30\u003c/h2\u003e\n\u003ch3\u003e:boom: BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003edue to \u003ca href=\"https://github.com/tobymao/sqlglot/commit/13a30dfa37096df5bfc2c31538325c40a49f7917\"\u003e\u003ccode\u003e13a30df\u003c/code\u003e\u003c/a\u003e - Annotate type for snowflake TRY_BASE64_DECODE_BINARY function \u003cem\u003e(PR \u003ca href=\"https://redirect.github.com/tobymao/sqlglot/pull/5972\"\u003e#5972\u003c/a\u003e by \u003ca href=\"https://github.com/fivetran-amrutabhimsenayachit\"\u003e\u003ccode\u003e@​fivetran-amrutabhimsenayachit\u003c/code\u003e\u003c/a\u003e)\u003c/em\u003e:\u003c/p\u003e\n\u003cp\u003eAnnotate type for snowflake TRY_BASE64_DECODE_BINARY function (\u003ca href=\"https://redirect.github.com/tobymao/sqlglot/issues/5972\"\u003e#5972\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003edue to \u003ca href=\"https://github.com/tobymao/sqlglot/commit/1f5fdd799c047de167a4572f7ac26b7ad92167f2\"\u003e\u003ccode\u003e1f5fdd7\u003c/code\u003e\u003c/a\u003e - Annotate type for snowflake TRY_BASE64_DECODE_STRING function \u003cem\u003e(PR \u003ca href=\"https://redirect.github.com/tobymao/sqlglot/pull/5974\"\u003e#5974\u003c/a\u003e by \u003ca href=\"https://github.com/fivetran-amrutabhimsenayachit\"\u003e\u003ccode\u003e@​fivetran-amrutabhimsenayachit\u003c/code\u003e\u003c/a\u003e)\u003c/em\u003e:\u003c/p\u003e\n\u003cp\u003eAnnotate type for snowflake TRY_BASE64_DECODE_STRING function (\u003ca href=\"https://redirect.github.com/tobymao/sqlglot/issues/5974\"\u003e#5974\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003edue to \u003ca href=\"https://github.com/tobymao/sqlglot/commit/324e82fe1fb11722f91341010602a743b151e055\"\u003e\u003ccode\u003e324e82f\u003c/code\u003e\u003c/a\u003e - Annotate type for snowflake TRY_HEX_DECODE_BINARY function \u003cem\u003e(PR \u003ca href=\"https://redirect.github.com/tobymao/sqlglot/pull/5975\"\u003e#5975\u003c/a\u003e by \u003ca href=\"https://github.com/fivetran-amrutabhimsenayachit\"\u003e\u003ccode\u003e@​fivetran-amrutabhimsenayachit\u003c/code\u003e\u003c/a\u003e)\u003c/em\u003e:\u003c/p\u003e\n\u003cp\u003eAnnotate type for snowflake TRY_HEX_DECODE_BINARY function (\u003ca href=\"https://redirect.github.com/tobymao/sqlglot/issues/5975\"\u003e#5975\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003edue to \u003ca href=\"https://github.com/tobymao/sqlglot/commit/6caf99d556a3357ffaa6c294a9babcd30dd5fac5\"\u003e\u003ccode\u003e6caf99d\u003c/code\u003e\u003c/a\u003e - Annotate type for snowflake TRY_HEX_DECODE_STRING function \u003cem\u003e(PR \u003ca href=\"https://redirect.github.com/tobymao/sqlglot/pull/5976\"\u003e#5976\u003c/a\u003e by \u003ca href=\"https://github.com/fivetran-amrutabhimsenayachit\"\u003e\u003ccode\u003e@​fivetran-amrutabhimsenayachit\u003c/code\u003e\u003c/a\u003e)\u003c/em\u003e:\u003c/p\u003e\n\u003cp\u003eAnnotate type for snowflake TRY_HEX_DECODE_STRING function (\u003ca href=\"https://redirect.github.com/tobymao/sqlglot/issues/5976\"\u003e#5976\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003edue to \u003ca href=\"https://github.com/tobymao/sqlglot/commit/73186a812ce422c108ee81b3de11da6ee9a9e902\"\u003e\u003ccode\u003e73186a8\u003c/code\u003e\u003c/a\u003e - annotate type for Snowflake REGEXP_COUNT function \u003cem\u003e(PR \u003ca href=\"https://redirect.github.com/tobymao/sqlglot/pull/5963\"\u003e#5963\u003c/a\u003e by \u003ca href=\"https://github.com/fivetran-BradfordPaskewitz\"\u003e\u003ccode\u003e@​fivetran-BradfordPaskewitz\u003c/code\u003e\u003c/a\u003e)\u003c/em\u003e:\u003c/p\u003e\n\u003cp\u003eannotate type for Snowflake REGEXP_COUNT function (\u003ca href=\"https://redirect.github.com/tobymao/sqlglot/issues/5963\"\u003e#5963\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003edue to \u003ca href=\"https://github.com/tobymao/sqlglot/commit/c3bdb3cd1af1809ed82be0ae40744d9fffc8ce18\"\u003e\u003ccode\u003ec3bdb3c\u003c/code\u003e\u003c/a\u003e - array start index is 1, support array_flatten, fixes \u003ca href=\"https://redirect.github.com/tobymao/sqlglot/pull/5983\"\u003e#5983\u003c/a\u003e \u003cem\u003e(commit by \u003ca href=\"https://github.com/georgesittas\"\u003e\u003ccode\u003e@​georgesittas\u003c/code\u003e\u003c/a\u003e)\u003c/em\u003e:\u003c/p\u003e\n\u003cp\u003earray start index is 1, support array_flatten, fixes \u003ca href=\"https://redirect.github.com/tobymao/sqlglot/issues/5983\"\u003e#5983\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003edue to \u003ca href=\"https://github.com/tobymao/sqlglot/commit/244fb48fc9c4776f427c08b825d139b1c172fd26\"\u003e\u003ccode\u003e244fb48\u003c/code\u003e\u003c/a\u003e - annotate type for Snowflake SPLIT_PART function \u003cem\u003e(PR \u003ca href=\"https://redirect.github.com/tobymao/sqlglot/pull/5988\"\u003e#5988\u003c/a\u003e by \u003ca href=\"https://github.com/fivetran-BradfordPaskewitz\"\u003e\u003ccode\u003e@​fivetran-BradfordPaskewitz\u003c/code\u003e\u003c/a\u003e)\u003c/em\u003e:\u003c/p\u003e\n\u003cp\u003eannotate type for Snowflake SPLIT_PART function (\u003ca href=\"https://redirect.github.com/tobymao/sqlglot/issues/5988\"\u003e#5988\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003edue to \u003ca href=\"https://github.com/tobymao/sqlglot/commit/0d772e0b9d687b24d49203c05d7a90cc1dce02d5\"\u003e\u003ccode\u003e0d772e0\u003c/code\u003e\u003c/a\u003e - add ast node for \u003ccode\u003eDIRECTORY\u003c/code\u003e source \u003cem\u003e(PR \u003ca href=\"https://redirect.github.com/tobymao/sqlglot/pull/5990\"\u003e#5990\u003c/a\u003e by \u003ca href=\"https://github.com/georgesittas\"\u003e\u003ccode\u003e@​georgesittas\u003c/code\u003e\u003c/a\u003e)\u003c/em\u003e:\u003c/p\u003e\n\u003cp\u003eadd ast node for \u003ccode\u003eDIRECTORY\u003c/code\u003e source (\u003ca href=\"https://redirect.github.com/tobymao/sqlglot/issues/5990\"\u003e#5990\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:sparkles: New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/13a30dfa37096df5bfc2c31538325c40a49f7917\"\u003e\u003ccode\u003e13a30df\u003c/code\u003e\u003c/a\u003e - \u003cstrong\u003eoptimizer\u003c/strong\u003e: Annotate type for snowflake TRY_BASE64_DECODE_BINARY function \u003cem\u003e(PR \u003ca href=\"https://redirect.github.com/tobymao/sqlglot/pull/5972\"\u003e#5972\u003c/a\u003e by \u003ca href=\"https://github.com/fivetran-amrutabhimsenayachit\"\u003e\u003ccode\u003e@​fivetran-amrutabhimsenayachit\u003c/code\u003e\u003c/a\u003e)\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/1f5fdd799c047de167a4572f7ac26b7ad92167f2\"\u003e\u003ccode\u003e1f5fdd7\u003c/code\u003e\u003c/a\u003e - \u003cstrong\u003eoptimizer\u003c/strong\u003e: Annotate type for snowflake TRY_BASE64_DECODE_STRING function \u003cem\u003e(PR \u003ca href=\"https://redirect.github.com/tobymao/sqlglot/pull/5974\"\u003e#5974\u003c/a\u003e by \u003ca href=\"https://github.com/fivetran-amrutabhimsenayachit\"\u003e\u003ccode\u003e@​fivetran-amrutabhimsenayachit\u003c/code\u003e\u003c/a\u003e)\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/324e82fe1fb11722f91341010602a743b151e055\"\u003e\u003ccode\u003e324e82f\u003c/code\u003e\u003c/a\u003e - \u003cstrong\u003eoptimizer\u003c/strong\u003e: Annotate type for snowflake TRY_HEX_DECODE_BINARY function \u003cem\u003e(PR \u003ca href=\"https://redirect.github.com/tobymao/sqlglot/pull/5975\"\u003e#5975\u003c/a\u003e by \u003ca href=\"https://github.com/fivetran-amrutabhimsenayachit\"\u003e\u003ccode\u003e@​fivetran-amrutabhimsenayachit\u003c/code\u003e\u003c/a\u003e)\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/6caf99d556a3357ffaa6c294a9babcd30dd5fac5\"\u003e\u003ccode\u003e6caf99d\u003c/code\u003e\u003c/a\u003e - \u003cstrong\u003eoptimizer\u003c/strong\u003e: Annotate type for snowflake TRY_HEX_DECODE_STRING function \u003cem\u003e(PR \u003ca href=\"https://redirect.github.com/tobymao/sqlglot/pull/5976\"\u003e#5976\u003c/a\u003e by \u003ca href=\"https://github.com/fivetran-amrutabhimsenayachit\"\u003e\u003ccode\u003e@​fivetran-amrutabhimsenayachit\u003c/code\u003e\u003c/a\u003e)\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/73186a812ce422c108ee81b3de11da6ee9a9e902\"\u003e\u003ccode\u003e73186a8\u003c/code\u003e\u003c/a\u003e - \u003cstrong\u003eoptimizer\u003c/strong\u003e: annotate type for Snowflake REGEXP_COUNT function \u003cem\u003e(PR \u003ca href=\"https://redirect.github.com/tobymao/sqlglot/pull/5963\"\u003e#5963\u003c/a\u003e by \u003ca href=\"https://github.com/fivetran-BradfordPaskewitz\"\u003e\u003ccode\u003e@​fivetran-BradfordPaskewitz\u003c/code\u003e\u003c/a\u003e)\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/6124de76fa6d6725e844cd37e09ebfe99469b0ec\"\u003e\u003ccode\u003e6124de7\u003c/code\u003e\u003c/a\u003e - \u003cstrong\u003eoptimizer\u003c/strong\u003e: Annotate type for snowflake SOUNDEX function \u003cem\u003e(PR \u003ca href=\"https://redirect.github.com/tobymao/sqlglot/pull/5986\"\u003e#5986\u003c/a\u003e by \u003ca href=\"https://github.com/fivetran-amrutabhimsenayachit\"\u003e\u003ccode\u003e@​fivetran-amrutabhimsenayachit\u003c/code\u003e\u003c/a\u003e)\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/244fb48fc9c4776f427c08b825d139b1c172fd26\"\u003e\u003ccode\u003e244fb48\u003c/code\u003e\u003c/a\u003e - \u003cstrong\u003eoptimizer\u003c/strong\u003e: annotate type for Snowflake SPLIT_PART function \u003cem\u003e(PR \u003ca href=\"https://redirect.github.com/tobymao/sqlglot/pull/5988\"\u003e#5988\u003c/a\u003e by \u003ca href=\"https://github.com/fivetran-BradfordPaskewitz\"\u003e\u003ccode\u003e@​fivetran-BradfordPaskewitz\u003c/code\u003e\u003c/a\u003e)\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/0d772e0b9d687b24d49203c05d7a90cc1dce02d5\"\u003e\u003ccode\u003e0d772e0\u003c/code\u003e\u003c/a\u003e - \u003cstrong\u003esnowflake\u003c/strong\u003e: add ast node for \u003ccode\u003eDIRECTORY\u003c/code\u003e source \u003cem\u003e(PR \u003ca href=\"https://redirect.github.com/tobymao/sqlglot/pull/5990\"\u003e#5990\u003c/a\u003e by \u003ca href=\"https://github.com/georgesittas\"\u003e\u003ccode\u003e@​georgesittas\u003c/code\u003e\u003c/a\u003e)\u003c/em\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/7a3744f203b93211e5dd97e6730b6bf59d6d96e0\"\u003e\u003ccode\u003e7a3744f\u003c/code\u003e\u003c/a\u003e - \u003cstrong\u003esqlite\u003c/strong\u003e: support \u003ccode\u003eRANGE CURRENT ROW\u003c/code\u003e in window spec \u003cem\u003e(commit by \u003ca href=\"https://github.com/georgesittas\"\u003e\u003ccode\u003e@​georgesittas\u003c/code\u003e\u003c/a\u003e)\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/c3bdb3cd1af1809ed82be0ae40744d9fffc8ce18\"\u003e\u003ccode\u003ec3bdb3c\u003c/code\u003e\u003c/a\u003e - \u003cstrong\u003estarrocks\u003c/strong\u003e: array start index is 1, support array_flatten, fixes \u003ca href=\"https://redirect.github.com/tobymao/sqlglot/pull/5983\"\u003e#5983\u003c/a\u003e \u003cem\u003e(commit by \u003ca href=\"https://github.com/georgesittas\"\u003e\u003ccode\u003e@​georgesittas\u003c/code\u003e\u003c/a\u003e)\u003c/em\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:recycle: Refactors\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/0d772e0b9d687b24d49203c05d7a90cc1dce02d5\"\u003e\u003ccode\u003e0d772e0\u003c/code\u003e\u003c/a\u003e Feat(snowflake)!: add ast node for \u003ccode\u003eDIRECTORY\u003c/code\u003e source (\u003ca href=\"https://redirect.github.com/tobymao/sqlglot/issues/5990\"\u003e#5990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/244fb48fc9c4776f427c08b825d139b1c172fd26\"\u003e\u003ccode\u003e244fb48\u003c/code\u003e\u003c/a\u003e feat(optimizer)!: annotate type for Snowflake SPLIT_PART function (\u003ca href=\"https://redirect.github.com/tobymao/sqlglot/issues/5988\"\u003e#5988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/6124de76fa6d6725e844cd37e09ebfe99469b0ec\"\u003e\u003ccode\u003e6124de7\u003c/code\u003e\u003c/a\u003e feat(optimizer): Annotate type for snowflake SOUNDEX function (\u003ca href=\"https://redirect.github.com/tobymao/sqlglot/issues/5986\"\u003e#5986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/c3bdb3cd1af1809ed82be0ae40744d9fffc8ce18\"\u003e\u003ccode\u003ec3bdb3c\u003c/code\u003e\u003c/a\u003e Fix(starrocks)!: array start index is 1, support array_flatten, fixes \u003ca href=\"https://redirect.github.com/tobymao/sqlglot/issues/5983\"\u003e#5983\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/7a3744f203b93211e5dd97e6730b6bf59d6d96e0\"\u003e\u003ccode\u003e7a3744f\u003c/code\u003e\u003c/a\u003e Fix(sqlite): support \u003ccode\u003eRANGE CURRENT ROW\u003c/code\u003e in window spec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/73186a812ce422c108ee81b3de11da6ee9a9e902\"\u003e\u003ccode\u003e73186a8\u003c/code\u003e\u003c/a\u003e feat(optimizer)!: annotate type for Snowflake REGEXP_COUNT function (\u003ca href=\"https://redirect.github.com/tobymao/sqlglot/issues/5963\"\u003e#5963\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/d425ba26b96b368801f8f486fa375cd75105993d\"\u003e\u003ccode\u003ed425ba2\u003c/code\u003e\u003c/a\u003e refactor: make hash and eq non recursive (\u003ca href=\"https://redirect.github.com/tobymao/sqlglot/issues/5966\"\u003e#5966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/6caf99d556a3357ffaa6c294a9babcd30dd5fac5\"\u003e\u003ccode\u003e6caf99d\u003c/code\u003e\u003c/a\u003e feat(optimizer)!: Annotate type for snowflake TRY_HEX_DECODE_STRING function ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/324e82fe1fb11722f91341010602a743b151e055\"\u003e\u003ccode\u003e324e82f\u003c/code\u003e\u003c/a\u003e feat(optimizer)!: Annotate type for snowflake TRY_HEX_DECODE_BINARY function ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tobymao/sqlglot/commit/1f5fdd799c047de167a4572f7ac26b7ad92167f2\"\u003e\u003ccode\u003e1f5fdd7\u003c/code\u003e\u003c/a\u003e feat(optimizer)!: Annotate type for snowflake TRY_BASE64_DECODE_STRING functi...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tobymao/sqlglot/compare/v27.0.0...v27.20.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `regex` from 2024.11.6 to 2025.9.18\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mrabarnett/mrab-regex/blob/hg/changelog.txt\"\u003eregex's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eVersion: 2025.9.20\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eEnable free-threading support in cibuildwheel in another place.\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.9.19\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eEnable free-threading support in cibuildwheel.\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.9.18\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eGit issue 565: Support the free-threaded build of CPython 3.13\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.9.1\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eGit PR 585: Fix AttributeError: 'AnyAll' object has no attribute '_key'\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.8.29\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eGit issue 584: AttributeError: 'AnyAll' object has no attribute 'positive'\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.7.34\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eGit issue 575: Issues with ASCII/Unicode modifiers\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.7.33\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eUpdated main.yml and pyproject.toml.\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.7.32\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eGit issue 580: Regression in v2025.7.31: \\P{L} no longer matches in simple patterns\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.7.31\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eFurther updates to main.yml.\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.7.30\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eUpdated main.yml and pyproject.toml.\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.7.29\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eGit issue 572: Inline ASCII modifier doesn't seem to affect anything\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.5.19\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eChanged how main.yml skips unwanted Arch builds.\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.5.18\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/mrabarnett/mrab-regex/commit/db5c9c636e68a44e27d623e11af1c08229ec4963\"\u003e\u003ccode\u003edb5c9c6\u003c/code\u003e\u003c/a\u003e Git issue 565: Support the free-threaded build of CPython 3.13\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/49e3881e9fceb225b0f82d43f1ef09688ec30da3\"\u003e\u003ccode\u003e49e3881\u003c/code\u003e\u003c/a\u003e Git PR 585: Fix AttributeError: 'AnyAll' object has no attribute '_key'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/183a653894f56ad9bc6ca767b795c0439518e2c1\"\u003e\u003ccode\u003e183a653\u003c/code\u003e\u003c/a\u003e Git issue 584: AttributeError: 'AnyAll' object has no attribute 'positive'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/23ca191dd8d259a42bc3dcae092e4eafce48652d\"\u003e\u003ccode\u003e23ca191\u003c/code\u003e\u003c/a\u003e Git issue 575: Issues with ASCII/Unicode modifiers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/88fee8529b5d41846bfdc144f46d2510c547d169\"\u003e\u003ccode\u003e88fee85\u003c/code\u003e\u003c/a\u003e Updated main.yml and pyproject.toml.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/7ebda8c03230f31e28666790a96c40a650fd1b94\"\u003e\u003ccode\u003e7ebda8c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mrabarnett/mrab-regex/issues/582\"\u003e#582\u003c/a\u003e from facelessuser/bugfix/setuptools\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/26d6efc9bf050190d32c1e8b972acc600d4f2edf\"\u003e\u003ccode\u003e26d6efc\u003c/code\u003e\u003c/a\u003e Setup failure scenario\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/a4a6d9443b11beb42d3440df91c76644ce45615c\"\u003e\u003ccode\u003ea4a6d94\u003c/code\u003e\u003c/a\u003e Git issue 580: Regression in v2025.7.31: \\P{L} no longer matches in simple pa...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/becb0d456d90541fa1266e19999b8005b401fb89\"\u003e\u003ccode\u003ebecb0d4\u003c/code\u003e\u003c/a\u003e Updated version and added changes to changelog.txt.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/457bcd38a53fcc695d7f219ff19607f39a7e08e7\"\u003e\u003ccode\u003e457bcd3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mrabarnett/mrab-regex/issues/577\"\u003e#577\u003c/a\u003e from facelessuser/bugfix/linux\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mrabarnett/mrab-regex/compare/2024.11.6...2025.9.18\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pydantic` from 2.11.7 to 2.11.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/releases\"\u003epydantic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.11.9 2025-09-13\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eBackport v1.10.23 changes by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.11.8...v2.11.9\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.11.8...v2.11.9\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.11.8 2025-09-13\u003c/h2\u003e\n\u003ch2\u003ev2.11.8 (2025-09-13)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix mypy plugin for mypy 1.18 by \u003ca href=\"https://github.com/cdce8p\"\u003e\u003ccode\u003e@​cdce8p\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12209\"\u003e#12209\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.11.7...v2.11.8\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.11.7...v2.11.8\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/blob/v2.11.9/HISTORY.md\"\u003epydantic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.11.9 (2025-09-13)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.11.9\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eBackport v1.10.23 changes by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.11.8 (2025-09-13)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.11.8\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix mypy plugin for mypy 1.18 by \u003ca href=\"https://github.com/cdce8p\"\u003e\u003ccode\u003e@​cdce8p\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12209\"\u003e#12209\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/92310953c146a2ac668a0141be820c083e325f5d\"\u003e\u003ccode\u003e9231095\u003c/code\u003e\u003c/a\u003e Prepare release v2.11.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/f003a89eeaff35ee18f220a2c790d20536e3d0ab\"\u003e\u003ccode\u003ef003a89\u003c/code\u003e\u003c/a\u003e Backport v1.10.23 changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/96b81ddaf93a1f2e19ff1609080c33de10b8d931\"\u003e\u003ccode\u003e96b81dd\u003c/code\u003e\u003c/a\u003e Prepare release v2.11.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/966f377692194b3f1d6d5155ac78052bec0a751d\"\u003e\u003ccode\u003e966f377\u003c/code\u003e\u003c/a\u003e Fix mypy v2 plugin for upcoming \u003ccode\u003e1.18\u003c/code\u003e mypy release\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.11.7...v2.11.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pandas` from 2.3.1 to 2.3.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pandas-dev/pandas/releases\"\u003epandas's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ePandas 2.3.3\u003c/h2\u003e\n\u003cp\u003eWe are pleased to announce the release of pandas 2.3.3.\nThis release includes some improvements and fixes to the future string data type (preview feature for the upcoming pandas 3.0). We recommend that all users upgrade to this version.\u003c/p\u003e\n\u003cp\u003eSee the \u003ca href=\"https://pandas.pydata.org/pandas-docs/version/2.3/whatsnew/v2.3.3.html\"\u003efull whatsnew\u003c/a\u003e for a list of all the changes.\nPandas 2.3.3 supports Python 3.9 and higher, and is the first release to support Python 3.14.\u003c/p\u003e\n\u003cp\u003eThe release will be available on the conda-forge channel:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003econda install pandas --channel conda-forge\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eOr via PyPI:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epython3 -m pip install --upgrade pandas\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003ePlease report any issues with the release on the \u003ca href=\"https://github.com/pandas-dev/pandas/issues\"\u003epandas issue tracker\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThanks to all the contributors who made this release possible.\u003c/p\u003e\n\u003ch2\u003ePandas 2.3.2\u003c/h2\u003e\n\u003cp\u003eWe are pleased to announce the release of pandas 2.3.2.\nThis release includes some improvements and fixes to the future string data type (preview feature for the upcoming pandas 3.0). We recommend that all users upgrade to this version.\u003c/p\u003e\n\u003cp\u003eSee the \u003ca href=\"https://pandas.pydata.org/pandas-docs/version/2.3/whatsnew/v2.3.2.html\"\u003efull whatsnew\u003c/a\u003e for a list of all the changes.\nPandas 2.3.2 supports Python 3.9 and higher.\u003c/p\u003e\n\u003cp\u003eThe release will be available on the conda-forge channel:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003econda install pandas --channel conda-forge\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eOr via PyPI:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epython3 -m pip install --upgrade pandas\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003ePlease report any issues with the release on the \u003ca href=\"https://github.com/pandas-dev/pandas/issues\"\u003epandas issue tracker\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThanks to all the contributors who made this release possible.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/9c8bc3e55188c8aff37207a74f1dd144980b8874\"\u003e\u003ccode\u003e9c8bc3e\u003c/code\u003e\u003c/a\u003e RLS: 2.3.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/6aa788a00bda9b0f004302076dad94df3edeafc7\"\u003e\u003ccode\u003e6aa788a\u003c/code\u003e\u003c/a\u003e [backport 2.3.x] DOC: prepare 2.3.3 whatsnew notes for release (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/62499\"\u003e#62499\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/62508\"\u003e#62508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/b64f0df403d11ac733d9f460f89a5e99c8044ed0\"\u003e\u003ccode\u003eb64f0df\u003c/code\u003e\u003c/a\u003e [backport 2.3.x] BUG: avoid validation error for ufunc with string[python] ar...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/058eb2b0edfc408dae9966ef1f03372f2a3ff04c\"\u003e\u003ccode\u003e058eb2b\u003c/code\u003e\u003c/a\u003e [backport 2.3.x] BUG: String[pyarrow] comparison with mixed object (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/62424\"\u003e#62424\u003c/a\u003e) (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/2ca088daef6a9d9333fea8aedffc7e50d28dfdee\"\u003e\u003ccode\u003e2ca088d\u003c/code\u003e\u003c/a\u003e [backport 2.3.x] DEPR: remove the Period resampling deprecation (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/62480\"\u003e#62480\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/62\"\u003e#62\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/92bf98f623572ed053d48be5818c8503f1b61888\"\u003e\u003ccode\u003e92bf98f\u003c/code\u003e\u003c/a\u003e [backport 2.3.x] BUG: fix .str.isdigit to honor unicode superscript for older...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/e57c7d6a2247316188fba0ba2a0db3c11028d75c\"\u003e\u003ccode\u003ee57c7d6\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/62452\"\u003e#62452\u003c/a\u003e on branch 2.3.x (TST: Adjust tests for numexpr 2.13) (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/62454\"\u003e#62454\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/e0fe9a03c90e560c34a3bbbdd1735a8b64f7b281\"\u003e\u003ccode\u003ee0fe9a0\u003c/code\u003e\u003c/a\u003e Backport to 2.3.x: REGR: from_records not initializing subclasses properly (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/23a1085e641c8e3a5b500e319c5973e4160b9236\"\u003e\u003ccode\u003e23a1085\u003c/code\u003e\u003c/a\u003e BUG: improve future warning for boolean operations with missaligned indexes (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/61136969fb18b438b6660bd5d485d0236dbf4a71\"\u003e\u003ccode\u003e6113696\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/62396\"\u003e#62396\u003c/a\u003e on branch 2.3.x (PKG/DOC: indicate Python 3.14 support in ...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pandas-dev/pandas/compare/v2.3.1...v2.3.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `numpy` from 2.3.1 to 2.3.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/numpy/numpy/releases\"\u003enumpy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.3 (Sep 9, 2025)\u003c/h2\u003e\n\u003ch1\u003eNumPy 2.3.3 Release Notes\u003c/h1\u003e\n\u003cp\u003eThe NumPy 2.3.3 release is a patch release split between a number of maintenance\nupdates and bug fixes. This release supports Python versions 3.11-3.14. Note\nthat the 3.14.0 final is currently expected in Oct, 2025. This release is based\non 3.14.0rc2.\u003c/p\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eA total of 13 people contributed to this release. People with a \u0026quot;+\u0026quot; by their\nnames contributed a patch for the first time.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAleksandr A. Voyt +\u003c/li\u003e\n\u003cli\u003eBernard Roesler +\u003c/li\u003e\n\u003cli\u003eCharles Harris\u003c/li\u003e\n\u003cli\u003eHunter Hogan +\u003c/li\u003e\n\u003cli\u003eJoren Hammudoglu\u003c/li\u003e\n\u003cli\u003eMaanas Arora\u003c/li\u003e\n\u003cli\u003eMatti Picus\u003c/li\u003e\n\u003cli\u003eNathan Goldbaum\u003c/li\u003e\n\u003cli\u003eRaghuveer Devulapalli\u003c/li\u003e\n\u003cli\u003eSanjay Kumar Sakamuri Kamalakar +\u003c/li\u003e\n\u003cli\u003eTobias Markus +\u003c/li\u003e\n\u003cli\u003eWarren Weckesser\u003c/li\u003e\n\u003cli\u003eZebreus +\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePull requests merged\u003c/h2\u003e\n\u003cp\u003eA total of 23 pull requests were merged for this release.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29440\"\u003e#29440\u003c/a\u003e: MAINT: Prepare 2.3.x for further development.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29446\"\u003e#29446\u003c/a\u003e: BUG: Fix test_configtool_pkgconfigdir to resolve PKG_CONFIG_DIR...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29447\"\u003e#29447\u003c/a\u003e: BLD: allow targeting webassembly without emscripten\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29460\"\u003e#29460\u003c/a\u003e: MAINT: Backport write_release.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29473\"\u003e#29473\u003c/a\u003e: MAINT: Bump pypa/cibuildwheel from 3.1.0 to 3.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29500\"\u003e#29500\u003c/a\u003e: BUG: Always return a real dtype from linalg.cond (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/18304\"\u003egh-18304\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29333\"\u003e#29333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29501\"\u003e#29501\u003c/a\u003e: MAINT: Add .file entry to all .s SVML files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29556\"\u003e#29556\u003c/a\u003e: BUG: Casting from one timedelta64 to another didn't handle NAT.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29562\"\u003e#29562\u003c/a\u003e: BLD: update vendored Meson to 1.8.3 [wheel build]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29563\"\u003e#29563\u003c/a\u003e: BUG: Fix metadata not roundtripping when pickling datetime (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29555\"\u003e#29555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29587\"\u003e#29587\u003c/a\u003e: TST: update link and version for Intel SDE download\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29593\"\u003e#29593\u003c/a\u003e: TYP: add \u003ccode\u003esorted\u003c/code\u003e kwarg to \u003ccode\u003eunique\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29672\"\u003e#29672\u003c/a\u003e: MAINT: Update pythoncapi-compat from main.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29673\"\u003e#29673\u003c/a\u003e: MAINT: Update cibuildwheel.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29674\"\u003e#29674\u003c/a\u003e: MAINT: Fix typo in wheels.yml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29683\"\u003e#29683\u003c/a\u003e: BUG, BLD: Correct regex for ppc64 VSX3/VSX4 feature detection\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29684\"\u003e#29684\u003c/a\u003e: TYP: ndarray.fill() takes no keyword arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29685\"\u003e#29685\u003c/a\u003e: BUG: avoid thread-unsafe refcount check in temp elision\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29687\"\u003e#29687\u003c/a\u003e: CI: replace comment-hider action in mypy_primer workflow\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/f2a77a76e08719556527e0819182073fe9b5f1c3\"\u003e\u003ccode\u003ef2a77a7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29702\"\u003e#29702\u003c/a\u003e from charris/prepare-2.3.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/8641006104c02492ced251c707c88611621db9e8\"\u003e\u003ccode\u003e8641006\u003c/code\u003e\u003c/a\u003e REL: Prepare for the NumPy 2.3.3 release [wheel build]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/f024265b1aec949ab7d59a9bb82614fae0701255\"\u003e\u003ccode\u003ef024265\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29701\"\u003e#29701\u003c/a\u003e from charris/backport-29697\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/84f2eedb58c4a7370e0d4865a2b11e0420cdf634\"\u003e\u003ccode\u003e84f2eed\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29700\"\u003e#29700\u003c/a\u003e from charris/backport-29695\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/7cacdbf8855fd6da6a7d116bebd896b393e4f441\"\u003e\u003ccode\u003e7cacdbf\u003c/code\u003e\u003c/a\u003e Update VXE and VXE2 detection regex patterns\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/028c46989fee6f8dfc1192d4f71c277deae0c4f9\"\u003e\u003ccode\u003e028c469\u003c/code\u003e\u003c/a\u003e TYP: appease ruff\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/4b80666b63d7779e2509d0690f68a977528268a9\"\u003e\u003ccode\u003e4b80666\u003c/code\u003e\u003c/a\u003e TYP: fix \u003ccode\u003enp.bool\u003c/code\u003e method declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/f2a6b75df162d9a0904b0dbc07b707020fe9d1d5\"\u003e\u003ccode\u003ef2a6b75\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29691\"\u003e#29691\u003c/a\u003e from charris/backport-29665\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/a707cbf5e36c9316099f6ae471718d98a18170f5\"\u003e\u003ccode\u003ea707cbf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29689\"\u003e#29689\u003c/a\u003e from charris/backport-29662\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/3d66056fa31a89fefb632229eb21f21d63cd8964\"\u003e\u003ccode\u003e3d66056\u003c/code\u003e\u003c/a\u003e BUG: use correct input dtype in flatiter assignment\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/numpy/numpy/compare/v2.3.1...v2.3.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pg8000` from 1.31.4 to 1.31.5\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tlocke/pg8000/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest` from 8.4.1 to 8.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest/releases\"\u003epytest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.4.2\u003c/h2\u003e\n\u003ch1\u003epytest 8.4.2 (2025-09-03)\u003c/h1\u003e\n\u003ch2\u003eBug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13478\"\u003e#13478\u003c/a\u003e: Fixed a crash when using \u003ccode\u003econsole_output_style\u003c/code\u003e{.interpreted-text role=\u0026quot;confval\u0026quot;} with \u003ccode\u003etimes\u003c/code\u003e and a module is skipped.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13530\"\u003e#13530\u003c/a\u003e: Fixed a crash when using \u003ccode\u003epytest.approx\u003c/code\u003e{.interpreted-text role=\u0026quot;func\u0026quot;} and \u003ccode\u003edecimal.Decimal\u003c/code\u003e{.interpreted-text role=\u0026quot;class\u0026quot;} instances with the \u003ccode\u003edecimal.FloatOperation\u003c/code\u003e{.interpreted-text role=\u0026quot;class\u0026quot;} trap set.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13549\"\u003e#13549\u003c/a\u003e: No longer evaluate type annotations in Python \u003ccode\u003e3.14\u003c/code\u003e when inspecting function signatures.\u003c/p\u003e\n\u003cp\u003eThis prevents crashes during module collection when modules do not explicitly use \u003ccode\u003efrom __future__ import annotations\u003c/code\u003e and import types for annotations within a \u003ccode\u003eif TYPE_CHECKING:\u003c/code\u003e block.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13559\"\u003e#13559\u003c/a\u003e: Added missing [int]{.title-ref} and [float]{.title-ref} variants to the [Literal]{.title-ref} type annotation of the [type]{.title-ref} parameter in \u003ccode\u003epytest.Parser.addini\u003c/code\u003e{.interpreted-text role=\u0026quot;meth\u0026quot;}.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13563\"\u003e#13563\u003c/a\u003e: \u003ccode\u003epytest.approx\u003c/code\u003e{.interpreted-text role=\u0026quot;func\u0026quot;} now only imports \u003ccode\u003enumpy\u003c/code\u003e if NumPy is already in \u003ccode\u003esys.modules\u003c/code\u003e. This fixes unconditional import behavior introduced in [8.4.0]{.title-ref}.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImproved documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13577\"\u003e#13577\u003c/a\u003e: Clarify that \u003ccode\u003epytest_generate_tests\u003c/code\u003e is discovered in test modules/classes; other hooks must be in \u003ccode\u003econftest.py\u003c/code\u003e or plugins.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributor-facing changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13480\"\u003e#13480\u003c/a\u003e: Self-testing: fixed a few test failures when run with \u003ccode\u003e-Wdefault\u003c/code\u003e or a similar override.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13547\"\u003e#13547\u003c/a\u003e: Self-testing: corrected expected message for \u003ccode\u003etest_doctest_unexpected_exception\u003c/code\u003e in Python \u003ccode\u003e3.14\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13684\"\u003e#13684\u003c/a\u003e: Make pytest's own testsuite insensitive to the presence of the \u003ccode\u003eCI\u003c/code\u003e environment variable -- by \u003ccode\u003eogrisel\u003c/code\u003e{.interpreted-text role=\u0026quot;user\u0026quot;}.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/bfae4224fd554d3d7f2c277a4cc092b6ec6af3ae\"\u003e\u003ccode\u003ebfae422\u003c/code\u003e\u003c/a\u003e Prepare release version 8.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/89905381a163be30ae87d62e5f750e902d750c5f\"\u003e\u003ccode\u003e8990538\u003c/code\u003e\u003c/a\u003e Fix passenv CI in tox ini and make tests insensitive to the presence of the C...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/ca676bfe005aebcb12f4146d1b0f1d2772e2cd5d\"\u003e\u003ccode\u003eca676bf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13687\"\u003e#13687\u003c/a\u003e from pytest-dev/patchback/backports/8.4.x/e63f6e51c...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/975a60a63ce385a44655596e254c1899feaa53e4\"\u003e\u003ccode\u003e975a60a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13686\"\u003e#13686\u003c/a\u003e from pytest-dev/patchback/backports/8.4.x/12bde8af6...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/7723ce84b87ab08f86ddafcb342acc28ba5ec99d\"\u003e\u003ccode\u003e7723ce8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13683\"\u003e#13683\u003c/a\u003e from even-even/fix_Exeption_to_Exception_in_errorMe...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/b7f05680d1301e0969b30bcb3c4b27433c9ee2b7\"\u003e\u003ccode\u003eb7f0568\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13685\"\u003e#13685\u003c/a\u003e from CoretexShadow/fix/docs-pytest-generate-tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/2c94c4a6948ba53440818389298157fa5d5f94cd\"\u003e\u003ccode\u003e2c94c4a\u003c/code\u003e\u003c/a\u003e add missing colon (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13640\"\u003e#13640\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13641\"\u003e#13641\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/c3d7684bc01c8c48d05145a30c5211ca8656c68c\"\u003e\u003ccode\u003ec3d7684\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13606\"\u003e#13606\u003c/a\u003e from pytest-dev/patchback/backports/8.4.x/5f9938563...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/dc6e3be2ddc75a149b6d102d9b7c82ee47a00cfa\"\u003e\u003ccode\u003edc6e3be\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13605\"\u003e#13605\u003c/a\u003e from The-Compiler/training-update-2025-07\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/f87289c36c8dbe7740e3020f5546b6f8b0861ff0\"\u003e\u003ccode\u003ef87289c\u003c/code\u003e\u003c/a\u003e Fix crash with \u003ccode\u003etimes\u003c/code\u003e output style and skipped module (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13573\"\u003e#13573\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13579\"\u003e#13579\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest/compare/8.4.1...8.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-asyncio` from 1.1.0 to 1.2.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/releases\"\u003epytest-asyncio's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epytest-asyncio 1.2.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/tree/1.2.0\"\u003e1.2.0\u003c/a\u003e - 2025-09-12\u003c/h1\u003e\n\u003ch2\u003eAdded\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e--asyncio-debug\u003c/code\u003e CLI option and \u003ccode\u003easyncio_debug\u003c/code\u003e configuration option to enable asyncio debug mode for the default event loop. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/980\"\u003e#980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA \u003ccode\u003epytest.UsageError\u003c/code\u003e for invalid configuration values of \u003ccode\u003easyncio_default_fixture_loop_scope\u003c/code\u003e and \u003ccode\u003easyncio_default_test_loop_scope\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1189\"\u003e#1189\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCompatibility with the Pyright type checker (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/731\"\u003e#731\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eRuntimeError: There is no current event loop in thread 'MainThread'\u003c/code\u003e when any test unsets the event loop (such as when using \u003ccode\u003easyncio.run\u003c/code\u003e and \u003ccode\u003easyncio.Runner\u003c/code\u003e). (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1177\"\u003e#1177\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDeprecation warning when decorating an asynchronous fixture with \u003ccode\u003e@pytest.fixture\u003c/code\u003e in [strict]{.title-ref} mode. The warning message now refers to the correct package. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1198\"\u003e#1198\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNotes for Downstream Packagers\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump the minimum required version of tox to v4.28. This change is only relevant if you use the \u003ccode\u003etox.ini\u003c/code\u003e file provided by pytest-asyncio to run tests.\u003c/li\u003e\n\u003cli\u003eExtend dependency on typing-extensions\u0026gt;=4.12 from Python\u0026lt;3.10 to Python\u0026lt;3.13.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epytest-asyncio 1.1.1\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/tree/v1.1.1\"\u003ev1.1.1\u003c/a\u003e - 2025-09-12\u003c/h1\u003e\n\u003ch2\u003eNotes for Downstream Packagers\u003c/h2\u003e\n\u003cp\u003e- Addresses a build problem with setuptoos-scm \u0026gt;= 9 caused by invalid setuptools-scm configuration in pytest-asyncio. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1192\"\u003e#1192\u003c/a\u003e)\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/0d3988f5adc16e8b364266c9ecda42a36d5892ff\"\u003e\u003ccode\u003e0d3988f\u003c/code\u003e\u003c/a\u003e ci: Create GitHub release before publishing to PyPI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/07c5a0b3e0bb99c7592ab87ed17a4bb2966fdf6a\"\u003e\u003ccode\u003e07c5a0b\u003c/code\u003e\u003c/a\u003e docs: Include orphaned news fragment in changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/be24582b86375b761534639be6c2941d0b3f116c\"\u003e\u003ccode\u003ebe24582\u003c/code\u003e\u003c/a\u003e chore: Prepare release of v1.2.0.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/7aeb296b9f95e57c371734dcb1d3ece3f7c81727\"\u003e\u003ccode\u003e7aeb296\u003c/code\u003e\u003c/a\u003e docs: Streamline news fragments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/7b8311cf1d2f67931f4fd9bbbe6d9f3b09572ebb\"\u003e\u003ccode\u003e7b8311c\u003c/code\u003e\u003c/a\u003e ci: Fixes a bug that prevented SSH signature from being stripped from release...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/9d4c2bd8770d4073e015213373975f217d3ac8f5\"\u003e\u003ccode\u003e9d4c2bd\u003c/code\u003e\u003c/a\u003e docs: Add changelog entry for Pyright compatibility.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/94f6106ea0c7ee716d7cf85377c653baa9cb7cd9\"\u003e\u003ccode\u003e94f6106\u003c/code\u003e\u003c/a\u003e test: Added tests which assert that the event loop is reinstated if unset by ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/df61991f1805f45ab31ae2d2fb73a54ff25ccd0c\"\u003e\u003ccode\u003edf61991\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/f1f7941691ff506ab553dfd6d00b09e8213eeff7\"\u003e\u003ccode\u003ef1f7941\u003c/code\u003e\u003c/a\u003e Build(deps): Bump pytest from 8.4.1 to 8.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/c77d3d38f7adb41f5f6ea7b002da4e0f480c5c24\"\u003e\u003ccode\u003ec77d3d3\u003c/code\u003e\u003c/a\u003e Build(deps): Bump twine from 6.1.0 to 6.2.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/compare/v1.1.0...v1.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/google/adk-samples/pull/436","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/google%2Fadk-samples/issues/436","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/436/packages"}},{"old_version":"1.31.4","new_version":"1.31.5","update_type":"patch","path":null,"pr_created_at":"2025-09-29T13:25:03.000Z","version_change":"1.31.4 → 1.31.5","issue":{"uuid":"2870641997","node_id":"PR_kwDODX3mAs6rGoVN","number":334,"state":"open","title":"Bump the python-dependencies group across 1 directory with 26 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":null,"author_association":"NONE","state_reason":null,"created_at":"2025-09-29T13:25:03.000Z","updated_at":"2025-09-29T13:25:04.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"python-dependencies","update_count":26,"packages":[{"name":"jsonschema","old_version":"4.25.0","new_version":"4.25.1","repository_url":"https://github.com/python-jsonschema/jsonschema"},{"name":"pyparsing","old_version":"3.2.3","new_version":"3.2.5","repository_url":"https://github.com/pyparsing/pyparsing"},{"name":"typing-extensions","old_version":"4.14.1","new_version":"4.15.0","repository_url":"https://github.com/python/typing_extensions"},{"name":"pg8000","old_version":"1.31.4","new_version":"1.31.5","repository_url":"https://github.com/tlocke/pg8000"},{"name":"pymysql","old_version":"1.1.1","new_version":"1.1.2","repository_url":"https://github.com/PyMySQL/PyMySQL"},{"name":"rdflib","old_version":"7.1.4","new_version":"7.2.1","repository_url":"https://github.com/RDFLib/rdflib"},{"name":"holidays","old_version":"0.77","new_version":"0.81","repository_url":"https://github.com/vacanza/holidays"},{"name":"cheroot","old_version":"10.0.1","new_version":"11.0.0","repository_url":"https://github.com/cherrypy/cheroot"},{"name":"tornado","old_version":"6.5.1","new_version":"6.5.2","repository_url":"https://github.com/tornadoweb/tornado"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [jsonschema](https://github.com/python-jsonschema/jsonschema), [pyparsing](https://github.com/pyparsing/pyparsing), [typing-extensions](https://github.com/python/typing_extensions), [pg8000](https://github.com/tlocke/pg8000), [pymysql](https://github.com/PyMySQL/PyMySQL), [rdflib](https://github.com/RDFLib/rdflib), [holidays](https://github.com/vacanza/holidays), [cheroot](https://github.com/cherrypy/cheroot), [tornado](https://github.com/tornadoweb/tornado), [setuptools-scm[toml]](https://github.com/pypa/setuptools-scm), [filelock](https://github.com/tox-dev/py-filelock), [regex](https://github.com/mrabarnett/mrab-regex), [boto3](https://github.com/boto/boto3), [pytest](https://github.com/pytest-dev/pytest), [requests](https://github.com/psf/requests), [ixbrl-viewer](https://github.com/Arelle/ixbrl-viewer), [mypy](https://github.com/python/mypy), [boto3-stubs](https://github.com/youtype/mypy_boto3_builder), [types-pymysql](https://github.com/typeshed-internal/stub_uploader), [types-openpyxl](https://github.com/typeshed-internal/stub_uploader), [types-python-dateutil](https://github.com/typeshed-internal/stub_uploader), [types-pytz](https://github.com/typeshed-internal/stub_uploader), [types-regex](https://github.com/typeshed-internal/stub_uploader), [types-simplejson](https://github.com/typeshed-internal/stub_uploader), [types-ujson](https://github.com/typeshed-internal/stub_uploader) and [furo](https://github.com/pradyunsg/furo) to permit the latest version.\nUpdates `jsonschema` from 4.25.0 to 4.25.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-jsonschema/jsonschema/releases\"\u003ejsonschema's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.25.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidator\u003c/code\u003e protocol init to match runtime by \u003ca href=\"https://github.com/sirosen\"\u003e\u003ccode\u003e@​sirosen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1396\"\u003epython-jsonschema/jsonschema#1396\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/python-jsonschema/jsonschema/compare/v4.25.0...v4.25.1\"\u003ehttps://github.com/python-jsonschema/jsonschema/compare/v4.25.0...v4.25.1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-jsonschema/jsonschema/blob/main/CHANGELOG.rst\"\u003ejsonschema's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev4.25.1\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix an incorrect required argument in the \u003ccode\u003eValidator\u003c/code\u003e protocol's type annotations (\u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1396\"\u003e#1396\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/331c38425519b69118d22ebe467ad230fb83a010\"\u003e\u003ccode\u003e331c384\u003c/code\u003e\u003c/a\u003e Add the fix to the changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/c1ec0a645e913e83de95995f6efbbd358676abf6\"\u003e\u003ccode\u003ec1ec0a6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1398\"\u003e#1398\u003c/a\u003e from python-jsonschema/dependabot/github_actions/ast...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/8e7d594faff13f8f663b306a0d86bea0ce5de6cb\"\u003e\u003ccode\u003e8e7d594\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1399\"\u003e#1399\u003c/a\u003e from python-jsonschema/dependabot/github_actions/act...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/460f4fae42664773160f56ccc843a4fcea34f7cf\"\u003e\u003ccode\u003e460f4fa\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1396\"\u003e#1396\u003c/a\u003e from sirosen/improve-protocol-init-signature\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/1e58409b71a9696b7bf9938ae8a3a48ef95ab29e\"\u003e\u003ccode\u003e1e58409\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] auto fixes from pre-commit.com hooks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/64bc2171624ef201bdbf35e47780348ce30935c5\"\u003e\u003ccode\u003e64bc217\u003c/code\u003e\u003c/a\u003e Add a typing test for the Validator protocol\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/6c25741bff889477680f9b0d1aa967ae35c38f43\"\u003e\u003ccode\u003e6c25741\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/bf603d59117f840916709fc87c6625df43d1fe72\"\u003e\u003ccode\u003ebf603d5\u003c/code\u003e\u003c/a\u003e Bump astral-sh/setup-uv from 6.4.3 to 6.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/a916d8f8253baa11bacc60f0868f0bab1e42d526\"\u003e\u003ccode\u003ea916d8f\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eValidator\u003c/code\u003e protocol init to match runtime\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/de60f18bd97395a52a11b561eb62963e0ffe9e71\"\u003e\u003ccode\u003ede60f18\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1397\"\u003e#1397\u003c/a\u003e from python-jsonschema/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-jsonschema/jsonschema/compare/v4.25.0...v4.25.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyparsing` from 3.2.3 to 3.2.5\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyparsing/pyparsing/blob/master/CHANGES\"\u003epyparsing's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.2.5 - September, 2025\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eJINX! Well, 3.2.4 had a bug for \u003ccode\u003eWord\u003c/code\u003e expressions that include a space\ncharacter, if that expression was then copied, either directly with .copy() or\nby adding a results name, or including in another construct (like \u003ccode\u003eDelimitedList\u003c/code\u003e)\nthat makes a copy internally. Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/618\"\u003e#618\u003c/a\u003e, reported by mstinberg, among others -\nthanks, and sorry for the inconvenience.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.2.4 - September, 2025\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eBarring any catastrophic bugs in this release, this will be the last release in\nthe 3.2.x line. The next release, 3.3.0, will begin emitting \u003ccode\u003eDeprecationWarnings\u003c/code\u003e\nwhen the pre-PEP8 methods are used (see header notes above for more information,\nincluding available automation for converting any existing code using\npyparsing with the old names).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed bug when using a copy of a \u003ccode\u003eWord\u003c/code\u003e expression (either by using the explicit\n\u003ccode\u003ecopy()\u003c/code\u003e method, or attaching a results name), and setting a new expression name,\na raised \u003ccode\u003eParseException\u003c/code\u003e still used the original expression name. Also affected\n\u003ccode\u003eRegex\u003c/code\u003e expressions with \u003ccode\u003eas_match\u003c/code\u003e or \u003ccode\u003eas_group_list\u003c/code\u003e = True. Reported by\nWaqas Ilyas, in Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/612\"\u003e#612\u003c/a\u003e - good catch!\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed type annotation for \u003ccode\u003ereplace_with\u003c/code\u003e, to accept \u003ccode\u003eAny\u003c/code\u003e type. Fixes Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/602\"\u003e#602\u003c/a\u003e,\nreported by esquonk.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded locking around potential race condition in \u003ccode\u003eParserElement.reset_cache\u003c/code\u003e, as\nwell as other cache-related methods. Fixes Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/604\"\u003e#604\u003c/a\u003e, reported by CarlosDescalziIM.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSubstantial update to docstrings and doc generation in preparation for 3.3.0,\ngreat effort by FeRD, thanks!\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNotable addition by FeRD to convert docstring examples to work with doctest! This\nwas long overdue, thanks so much!\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/dbbd53ad1cd0ab31ae2a8fee5a64a718788b63fb\"\u003e\u003ccode\u003edbbd53a\u003c/code\u003e\u003c/a\u003e More unit tests and some comments for traceability to Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/618\"\u003e#618\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/f5bdb2deff92859e068937f2ae502136b38ad16f\"\u003e\u003ccode\u003ef5bdb2d\u003c/code\u003e\u003c/a\u003e Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/618\"\u003e#618\u003c/a\u003e - fix reference to re_match attribute in copy of Word object to fi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/8c61893d362b21d66fa3646c073295235ef166fd\"\u003e\u003ccode\u003e8c61893\u003c/code\u003e\u003c/a\u003e Prep for 3.2.5 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/57923cd6a651d81c72b4e60b2baa02fbedf217ba\"\u003e\u003ccode\u003e57923cd\u003c/code\u003e\u003c/a\u003e Enable matplotlib unit tests for Python 3.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/fad1505f8ab91cc897f3067868e500257130e1a4\"\u003e\u003ccode\u003efad1505\u003c/code\u003e\u003c/a\u003e Update CHANGES file with thanks to FeRD for making the docstring examples doc...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/6622151cb440e85de9880ca6b7f3652e0962e315\"\u003e\u003ccode\u003e6622151\u003c/code\u003e\u003c/a\u003e Update tox.ini to add doctest testing for all Python versions 3.10 and later\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/e6ed66bdcd6da3ef63f4396565d860467efb5252\"\u003e\u003ccode\u003ee6ed66b\u003c/code\u003e\u003c/a\u003e Change doctest for LineStart to reflect latest implementation of \u0026quot;is this tok...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/23092da6569c97f30605ff2fe818fc15b3d12567\"\u003e\u003ccode\u003e23092da\u003c/code\u003e\u003c/a\u003e Doctests for pyparsing.exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/0bae3cdcc9274dbbcde5daabba739d3b1ddb49fc\"\u003e\u003ccode\u003e0bae3cd\u003c/code\u003e\u003c/a\u003e Doctests for pyparsing.common\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/98ec165d1a66247dbeffcf692643765648fb230f\"\u003e\u003ccode\u003e98ec165\u003c/code\u003e\u003c/a\u003e Docs: Add doctest-wrtiting documentation\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyparsing/pyparsing/compare/3.2.3...3.2.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `typing-extensions` from 4.14.1 to 4.15.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/typing_extensions/releases\"\u003etyping-extensions's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.15.0\u003c/h2\u003e\n\u003cp\u003eNo user-facing changes since 4.15.0rc1.\u003c/p\u003e\n\u003cp\u003eNew features since 4.14.1:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd the \u003ccode\u003e@typing_extensions.disjoint_base\u003c/code\u003e decorator, as specified\nin PEP 800. Patch by Jelle Zijlstra.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etyping_extensions.type_repr\u003c/code\u003e, a backport of\n\u003ca href=\"https://docs.python.org/3.14/library/annotationlib.html#annotationlib.type_repr\"\u003e\u003ccode\u003eannotationlib.type_repr\u003c/code\u003e\u003c/a\u003e,\nintroduced in Python 3.14 (CPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/124551\"\u003e#124551\u003c/a\u003e,\noriginally by Jelle Zijlstra). Patch by Semyon Moroz.\u003c/li\u003e\n\u003cli\u003eFix behavior of type params in \u003ccode\u003etyping_extensions.evaluate_forward_ref\u003c/code\u003e. Backport of\nCPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/137227\"\u003e#137227\u003c/a\u003e by Jelle Zijlstra.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.15.0rc1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd the \u003ccode\u003e@typing_extensions.disjoint_base\u003c/code\u003e decorator, as specified\nin PEP 800. Patch by Jelle Zijlstra.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etyping_extensions.type_repr\u003c/code\u003e, a backport of\n\u003ca href=\"https://docs.python.org/3.14/library/annotationlib.html#annotationlib.type_repr\"\u003e\u003ccode\u003eannotationlib.type_repr\u003c/code\u003e\u003c/a\u003e,\nintroduced in Python 3.14 (CPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/124551\"\u003e#124551\u003c/a\u003e,\noriginally by Jelle Zijlstra). Patch by Semyon Moroz.\u003c/li\u003e\n\u003cli\u003eFix behavior of type params in \u003ccode\u003etyping_extensions.evaluate_forward_ref\u003c/code\u003e. Backport of\nCPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/137227\"\u003e#137227\u003c/a\u003e by Jelle Zijlstra.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/typing_extensions/blob/main/CHANGELOG.md\"\u003etyping-extensions's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eRelease 4.15.0 (August 25, 2025)\u003c/h1\u003e\n\u003cp\u003eNo user-facing changes since 4.15.0rc1.\u003c/p\u003e\n\u003ch1\u003eRelease 4.15.0rc1 (August 18, 2025)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd the \u003ccode\u003e@typing_extensions.disjoint_base\u003c/code\u003e decorator, as specified\nin PEP 800. Patch by Jelle Zijlstra.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etyping_extensions.type_repr\u003c/code\u003e, a backport of\n\u003ca href=\"https://docs.python.org/3.14/library/annotationlib.html#annotationlib.type_repr\"\u003e\u003ccode\u003eannotationlib.type_repr\u003c/code\u003e\u003c/a\u003e,\nintroduced in Python 3.14 (CPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/124551\"\u003e#124551\u003c/a\u003e,\noriginally by Jelle Zijlstra). Patch by Semyon Moroz.\u003c/li\u003e\n\u003cli\u003eFix behavior of type params in \u003ccode\u003etyping_extensions.evaluate_forward_ref\u003c/code\u003e. Backport of\nCPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/137227\"\u003e#137227\u003c/a\u003e by Jelle Zijlstra.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/9d1637e264b5c1a6b7acee3e907015f89b20c2c9\"\u003e\u003ccode\u003e9d1637e\u003c/code\u003e\u003c/a\u003e Prepare release 4.15.0 (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/658\"\u003e#658\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/4bd67c5be5d9443c7d33c314d02a56ee125eb88d\"\u003e\u003ccode\u003e4bd67c5\u003c/code\u003e\u003c/a\u003e Coverage: exclude some noise (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/656\"\u003e#656\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/e589a26da73b075c5276bae40b86db1af0144f84\"\u003e\u003ccode\u003ee589a26\u003c/code\u003e\u003c/a\u003e Coverage: add detailed report to job summary (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/655\"\u003e#655\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/67d37fed1298e050f74d5acc95b2621bd37837ad\"\u003e\u003ccode\u003e67d37fe\u003c/code\u003e\u003c/a\u003e Coverage: Implement fail_under (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/654\"\u003e#654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/e9ae26f5286edee9262727755ecb9ad16e999192\"\u003e\u003ccode\u003ee9ae26f\u003c/code\u003e\u003c/a\u003e Don't delete previous coverage comment (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/653\"\u003e#653\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/ac80bb728a3006fc88ef7373b92f0c25cfcc7895\"\u003e\u003ccode\u003eac80bb7\u003c/code\u003e\u003c/a\u003e Add Coverage workflow (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/623\"\u003e#623\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/abaaafd98c1cc7e5baf098ec287a3d22cb339670\"\u003e\u003ccode\u003eabaaafd\u003c/code\u003e\u003c/a\u003e Prepare release 4.15.0rc1 (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/650\"\u003e#650\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/98104053ea8d49bcdd247804e5fa9f73136acbd4\"\u003e\u003ccode\u003e9810405\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003e@disjoint_base\u003c/code\u003e (PEP 800) (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/634\"\u003e#634\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/7ee9e05fd484d06899ce56e80f5e1aa4c760fc03\"\u003e\u003ccode\u003e7ee9e05\u003c/code\u003e\u003c/a\u003e Backport type_params fix from CPython (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/646\"\u003e#646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/1e8eb9c06ef51b3a1e1f05303a16feca13f5ed98\"\u003e\u003ccode\u003e1e8eb9c\u003c/code\u003e\u003c/a\u003e Do not refer to PEP 705 as being experimental (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/648\"\u003e#648\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python/typing_extensions/compare/4.14.1...4.15.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pg8000` from 1.31.4 to 1.31.5\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tlocke/pg8000/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pymysql` from 1.1.1 to 1.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/PyMySQL/PyMySQL/releases\"\u003epymysql's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.1.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent UnboundLocalError on MySQLResult initialization during SystemExit by \u003ca href=\"https://github.com/palm002\"\u003e\u003ccode\u003e@​palm002\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1174\"\u003ePyMySQL/PyMySQL#1174\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eremove mention of runtests.py by \u003ca href=\"https://github.com/cfbolz\"\u003e\u003ccode\u003e@​cfbolz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1182\"\u003ePyMySQL/PyMySQL#1182\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003emake sure to also close \u003ccode\u003econnection._rfile\u003c/code\u003e in \u003ccode\u003eConnection._force_close\u003c/code\u003e by \u003ca href=\"https://github.com/cfbolz\"\u003e\u003ccode\u003e@​cfbolz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1184\"\u003ePyMySQL/PyMySQL#1184\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded MariaDB in readme description (\u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1180\"\u003e#1180\u003c/a\u003e) by \u003ca href=\"https://github.com/theneuralcraftsman\"\u003e\u003ccode\u003e@​theneuralcraftsman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1186\"\u003ePyMySQL/PyMySQL#1186\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update dependency sphinx-rtd-theme to v3 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1189\"\u003ePyMySQL/PyMySQL#1189\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update dependency sphinx to v8 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1179\"\u003ePyMySQL/PyMySQL#1179\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for Python 3.13 by \u003ca href=\"https://github.com/Cycloctane\"\u003e\u003ccode\u003e@​Cycloctane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1190\"\u003ePyMySQL/PyMySQL#1190\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eResolve UTF8 charset case-insensitively by \u003ca href=\"https://github.com/ek247\"\u003e\u003ccode\u003e@​ek247\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1195\"\u003ePyMySQL/PyMySQL#1195\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupdate ci versions by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1196\"\u003ePyMySQL/PyMySQL#1196\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003euse KILL instead of COM_KILL for MySQL 8.4 support by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1197\"\u003ePyMySQL/PyMySQL#1197\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edisable VERIFY_X509_STRICT for Python 3.13 support by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1198\"\u003ePyMySQL/PyMySQL#1198\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update codecov/codecov-action action to v5 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1191\"\u003ePyMySQL/PyMySQL#1191\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd MariaDB to README.md by \u003ca href=\"https://github.com/robertsilen\"\u003e\u003ccode\u003e@​robertsilen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1181\"\u003ePyMySQL/PyMySQL#1181\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: use defer_connect instead of mock by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1199\"\u003ePyMySQL/PyMySQL#1199\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: use astral-sh/ruff-action by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1201\"\u003ePyMySQL/PyMySQL#1201\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix auth_switch_request handling by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1200\"\u003ePyMySQL/PyMySQL#1200\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: update test matrix by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1215\"\u003ePyMySQL/PyMySQL#1215\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: do not drop MySQL 5.7 test for now by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1216\"\u003ePyMySQL/PyMySQL#1216\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupdate README by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1217\"\u003ePyMySQL/PyMySQL#1217\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eprepare v1.1.2 by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1218\"\u003ePyMySQL/PyMySQL#1218\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/palm002\"\u003e\u003ccode\u003e@​palm002\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1174\"\u003ePyMySQL/PyMySQL#1174\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cfbolz\"\u003e\u003ccode\u003e@​cfbolz\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1182\"\u003ePyMySQL/PyMySQL#1182\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theneuralcraftsman\"\u003e\u003ccode\u003e@​theneuralcraftsman\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1186\"\u003ePyMySQL/PyMySQL#1186\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Cycloctane\"\u003e\u003ccode\u003e@​Cycloctane\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1190\"\u003ePyMySQL/PyMySQL#1190\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ek247\"\u003e\u003ccode\u003e@​ek247\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1195\"\u003ePyMySQL/PyMySQL#1195\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/robertsilen\"\u003e\u003ccode\u003e@​robertsilen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1181\"\u003ePyMySQL/PyMySQL#1181\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/PyMySQL/PyMySQL/compare/v1.1.1...v1.1.2\"\u003ehttps://github.com/PyMySQL/PyMySQL/compare/v1.1.1...v1.1.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/PyMySQL/PyMySQL/blob/main/CHANGELOG.md\"\u003epymysql's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.1.2\u003c/h2\u003e\n\u003cp\u003eRelease date: 2025-08-24\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent UnboundLocalError in very rare situation. \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1174\"\u003ePyMySQL/PyMySQL#1174\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClose underlying \u003ccode\u003eSocketIO\u003c/code\u003e soon when Connection is closed for PyPy. \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1183\"\u003ePyMySQL/PyMySQL#1183\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix importing PyMySQL fail on CPython 3.13 when \u003ccode\u003egetpass.getuser()\u003c/code\u003e raises OSEError. \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1190\"\u003ePyMySQL/PyMySQL#1190\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake charset name \u0026quot;utf8\u0026quot; case insensitive. \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1195\"\u003ePyMySQL/PyMySQL#1195\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.kill()\u003c/code\u003e uses \u003ccode\u003eKILL\u003c/code\u003e query instead of \u003ccode\u003eCOM_KILL\u003c/code\u003ecommand to support MySQL 8.4. \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1197\"\u003ePyMySQL/PyMySQL#1197\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix SSL error on CPython 3.13 caused by strict TLS default setting. \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1198\"\u003ePyMySQL/PyMySQL#1198\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix auth switch request handling. \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1200\"\u003ePyMySQL/PyMySQL#1200\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/PyMySQL/PyMySQL/commit/d7bb777e503d82bf2496113f07dd4ab249615efc\"\u003e\u003ccode\u003ed7bb777\u003c/code\u003e\u003c/a\u003e release v1.1.2 (\u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1218\"\u003e#1218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyMySQL/PyMySQL/commit/2559de5a6b01917622fc8986cd3dd8479d7d6e95\"\u003e\u003ccode\u003e2559de5\u003c/code\u003e\u003c/a\u003e update README (\u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1217\"\u003e#1217\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyMySQL/PyMySQL/commit/a388c3a5e274c3b8c03e5f1dcb442b4bb2f9bafd\"\u003e\u003ccode\u003ea388c3a\u003c/code\u003e\u003c/a\u003e ci: do not drop MySQL 5.7 test for now (\u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1216\"\u003e#1216\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyMySQL/PyMySQL/commit/9a3fe442edaca9db6da1809c82dbb6f4192440ee\"\u003e\u003ccode\u003e9a3fe44\u003c/code\u003e\u003c/a\u003e ci: update test matrix (\u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1215\"\u003e#1215\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyMySQL/PyMySQL/commit/bed601f04fb982c7c42c6ff7e56b7f749ac64cc9\"\u003e\u003ccode\u003ebed601f\u003c/code\u003e\u003c/a\u003e Add DeepWiki badge\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyMySQL/PyMySQL/commit/01af30fea0880c3b72e6c7b3b05d66a8c28ced7a\"\u003e\u003ccode\u003e01af30f\u003c/code\u003e\u003c/a\u003e fix auth_switch_request handling (\u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1200\"\u003e#1200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyMySQL/PyMySQL/commit/53efd1ec7f0e854abc62eb875b944f56bca29dd2\"\u003e\u003ccode\u003e53efd1e\u003c/code\u003e\u003c/a\u003e ci: use astral-sh/ruff-action (\u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1201\"\u003e#1201\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyMySQL/PyMySQL/commit/e88b729f8f1ddcf0851e0153188b016d0e9ec00c\"\u003e\u003ccode\u003ee88b729\u003c/code\u003e\u003c/a\u003e remove codeql and codesee actions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyMySQL/PyMySQL/commit/5f6533f883535b76c2d3a776c4746027027106f8\"\u003e\u003ccode\u003e5f6533f\u003c/code\u003e\u003c/a\u003e refactor: use defer_connect instead of mock (\u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1199\"\u003e#1199\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyMySQL/PyMySQL/commit/66ad1eaa47cfde19dfe01900ceb5f6ea51483e95\"\u003e\u003ccode\u003e66ad1ea\u003c/code\u003e\u003c/a\u003e add MariaDB to README.md (\u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1181\"\u003e#1181\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/PyMySQL/PyMySQL/compare/v1.1.1...v1.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rdflib` from 7.1.4 to 7.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/RDFLib/rdflib/releases\"\u003erdflib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2025-09-19 RELEASE 7.2.1\u003c/h2\u003e\n\u003cp\u003eNew features:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCanonicalization is now optional in the longturtle serializer. When serializing with the \u003ccode\u003elongturtle\u003c/code\u003e format, set \u003ccode\u003ecanon=True\u003c/code\u003e to enable canonicalization.\u003c/li\u003e\n\u003cli\u003eGeneral type hints enhancements\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed deskolemization of literals\u003c/li\u003e\n\u003cli\u003eFixed round-tripping of floats in N3 - floating point and scientific notation handling\u003c/li\u003e\n\u003cli\u003eFixed CI validation workflow, including regressions in tests\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eLiteral.toPython\u003c/code\u003e date conversion for gYear/gYearMonth\u003c/li\u003e\n\u003cli\u003eFixed namespace prefixes in longturtle serialization\u003c/li\u003e\n\u003cli\u003eFixed missing dot in RDF patch serialization\u003c/li\u003e\n\u003cli\u003ePrevious RDFLib releases required all downstream projects to specify \u0026lt;4.0.0. This release relaxes this requirement to allow Python 3.8.1 and later.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee the \u003ca href=\"https://github.com/RDFLib/rdflib/blob/main/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for more details.\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/RDFLib/rdflib/blob/main/CHANGELOG.md\"\u003erdflib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2025-09-19 RELEASE 7.2.1\u003c/h2\u003e\n\u003cp\u003eA tiny clean up release.\u003c/p\u003e\n\u003cp\u003eFixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePrevious RDFLib releases required all downstream projects to specify \u0026lt;4.0.0. This release relaxes this requirement to allow Python 3.8.1 and later.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2025-09-19 RELEASE 7.2.0\u003c/h2\u003e\n\u003cp\u003eThis release contains a number of fixes and improvements to RDFLib.\u003c/p\u003e\n\u003cp\u003eNew features:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCanonicalization is now optional in the longturtle serializer. When serializing with the \u003ccode\u003elongturtle\u003c/code\u003e format, set \u003ccode\u003ecanon=True\u003c/code\u003e to enable canonicalization.\u003c/li\u003e\n\u003cli\u003eGeneral type hints enhancements\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed deskolemization of literals\u003c/li\u003e\n\u003cli\u003eFixed round-tripping of floats in N3 - floating point and scientific notation handling\u003c/li\u003e\n\u003cli\u003eFixed CI validation workflow, including regressions in tests\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eLiteral.toPython\u003c/code\u003e date conversion for gYear/gYearMonth\u003c/li\u003e\n\u003cli\u003eFixed namespace prefixes in longturtle serialization\u003c/li\u003e\n\u003cli\u003eFixed missing dot in RDF patch serialization\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ePRs merged:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e2025-09-18 - [7.x] Fix incorrect deskolemization of literals\n[PR \u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3223\"\u003e#3223\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/pull/3223\"\u003eRDFLib/rdflib#3223\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2025-09-18 - Fix incorrect deskolemization of literals\n[PR \u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3127\"\u003e#3127\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/pull/3127\"\u003eRDFLib/rdflib#3127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2025-09-18 - notation3.py: don't normalize float representation\n[PR \u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3020\"\u003e#3020\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/pull/3020\"\u003eRDFLib/rdflib#3020\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2025-09-18 - [7.x] notation3.py: don't normalize float representation\n[PR \u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3221\"\u003e#3221\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/pull/3221\"\u003eRDFLib/rdflib#3221\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2025-09-18 - Merge 7-maintenance branch into 7.x\n[PR \u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3222\"\u003e#3222\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/pull/3222\"\u003eRDFLib/rdflib#3222\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2025-09-17 - Allow lxml 6\n[PR \u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3219\"\u003e#3219\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/pull/3219\"\u003eRDFLib/rdflib#3219\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2025-09-16 - ci: fix firejail command for poetry 2.1.0\n[PR \u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3218\"\u003e#3218\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/pull/3218\"\u003eRDFLib/rdflib#3218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2025-09-16 - chore: address dependabot security vulnerabilities\n[PR \u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3210\"\u003e#3210\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/pull/3210\"\u003eRDFLib/rdflib#3210\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2025-09-09 - Merge 7-maintenance changes into main\n[PR \u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3202\"\u003e#3202\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/pull/3202\"\u003eRDFLib/rdflib#3202\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2025-09-08 - feat: canonicalization with longturtle serializer now optional\n[PR \u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3197\"\u003e#3197\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/pull/3197\"\u003eRDFLib/rdflib#3197\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2025-09-03 - Specify \u003ccode\u003eOptional\u003c/code\u003e parameters in \u003ccode\u003eGraph.triples_choices\u003c/code\u003e\n[PR \u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3075\"\u003e#3075\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/pull/3075\"\u003eRDFLib/rdflib#3075\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2025-08-29 - Fix failing webtest\n[PR \u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3194\"\u003e#3194\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/pull/3194\"\u003eRDFLib/rdflib#3194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2025-08-29 - Revert \u0026quot;remove old hacks against 2to3 (\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3076\"\u003e#3076\u003c/a\u003e)\u0026quot;\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RDFLib/rdflib/commit/856c1af6b59f919d0d1230cb718c72f1415caf23\"\u003e\u003ccode\u003e856c1af\u003c/code\u003e\u003c/a\u003e chore: prep 7.2.1 release (\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3225\"\u003e#3225\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RDFLib/rdflib/commit/19a0ccf014e2661aa04c2efde925f83ca6b54409\"\u003e\u003ccode\u003e19a0ccf\u003c/code\u003e\u003c/a\u003e chore: prep 7.2.0 release (\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3224\"\u003e#3224\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RDFLib/rdflib/commit/f276bd6cc70bfaf3719f7eb9d787e6d794b5a3dd\"\u003e\u003ccode\u003ef276bd6\u003c/code\u003e\u003c/a\u003e Fix incorrect deskolemization of literals (\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3127\"\u003e#3127\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3223\"\u003e#3223\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RDFLib/rdflib/commit/747b8d30e6ca12c12fd895f7ae44685a828ff33a\"\u003e\u003ccode\u003e747b8d3\u003c/code\u003e\u003c/a\u003e [7.x] notation3.py: don't normalize float representation (\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3221\"\u003e#3221\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RDFLib/rdflib/commit/c580c00dbe76b6c6fb201448e4e81887eb88b40b\"\u003e\u003ccode\u003ec580c00\u003c/code\u003e\u003c/a\u003e Merge 7-maintenance branch into 7.x (\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3222\"\u003e#3222\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/RDFLib/rdflib/compare/7.1.4...7.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `holidays` from 0.77 to 0.81\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vacanza/holidays/releases\"\u003eholidays's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.81\u003c/h2\u003e\n\u003ch1\u003eVersion 0.81\u003c/h1\u003e\n\u003cp\u003eReleased September 15, 2025\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Saint Helena, Ascension and Tristan da Cunha holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2820\"\u003e#2820\u003c/a\u003e by \u003ca href=\"https://github.com/Abheelash-Mishra\"\u003e\u003ccode\u003e@​Abheelash-Mishra\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Sudan holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2854\"\u003e#2854\u003c/a\u003e by \u003ca href=\"https://github.com/anshonweb\"\u003e\u003ccode\u003e@​anshonweb\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Chinese Lunisolar calendar: extend Winter Solstice support (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2927\"\u003e#2927\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Philippines holidays: add 2026 holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2912\"\u003e#2912\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Spain holidays: add Dec 3 holiday in Navarre (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2895\"\u003e#2895\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate countries with Eastern holidays: add estimated holidays labels (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2924\"\u003e#2924\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate release notes generator (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2929\"\u003e#2929\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplify N802 suppression for \u003ccode\u003ecommon.py\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2880\"\u003e#2880\u003c/a\u003e by \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/vacanza/holidays/compare/v0.80...v0.81\"\u003ehttps://github.com/vacanza/holidays/compare/v0.80...v0.81\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.80\u003c/h2\u003e\n\u003ch1\u003eVersion 0.80\u003c/h1\u003e\n\u003cp\u003eReleased September 1, 2025\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRefactor Australia holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2828\"\u003e#2828\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor Macau holidays: holiday categories standardization (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2868\"\u003e#2868\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Comoros holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2827\"\u003e#2827\u003c/a\u003e by \u003ca href=\"https://github.com/Prateekshit73\"\u003e\u003ccode\u003e@​Prateekshit73\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/prateekshit-v\"\u003e\u003ccode\u003e@​prateekshit-v\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Eritrea holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2783\"\u003e#2783\u003c/a\u003e by \u003ca href=\"https://github.com/Prateekshit73\"\u003e\u003ccode\u003e@​Prateekshit73\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/prateekshit-v\"\u003e\u003ccode\u003e@​prateekshit-v\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd National Stock Exchange of India (NSE) holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2834\"\u003e#2834\u003c/a\u003e by \u003ca href=\"https://github.com/saheelsapovadia\"\u003e\u003ccode\u003e@​saheelsapovadia\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Rwanda holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2792\"\u003e#2792\u003c/a\u003e by \u003ca href=\"https://github.com/Prateekshit73\"\u003e\u003ccode\u003e@​Prateekshit73\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/prateekshit-v\"\u003e\u003ccode\u003e@​prateekshit-v\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Somalia holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2848\"\u003e#2848\u003c/a\u003e by \u003ca href=\"https://github.com/Prateekshit73\"\u003e\u003ccode\u003e@​Prateekshit73\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/prateekshit-v\"\u003e\u003ccode\u003e@​prateekshit-v\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd South Sudan holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2831\"\u003e#2831\u003c/a\u003e by \u003ca href=\"https://github.com/Prateekshit73\"\u003e\u003ccode\u003e@​Prateekshit73\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/prateekshit-v\"\u003e\u003ccode\u003e@​prateekshit-v\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Tajikistan holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2852\"\u003e#2852\u003c/a\u003e by \u003ca href=\"https://github.com/Wasif-Shahzad\"\u003e\u003ccode\u003e@​Wasif-Shahzad\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Uganda holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2833\"\u003e#2833\u003c/a\u003e by \u003ca href=\"https://github.com/Prateekshit73\"\u003e\u003ccode\u003e@​Prateekshit73\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/prateekshit-v\"\u003e\u003ccode\u003e@​prateekshit-v\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eestimated_label\u003c/code\u003e to all countries with Islamic holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2860\"\u003e#2860\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Hindu Lunisolar calendar (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2871\"\u003e#2871\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Islamic holidays tests (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2849\"\u003e#2849\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eTestAllInSameYear\u003c/code\u003e methods (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2877\"\u003e#2877\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Bosnia and Herzegovina holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2869\"\u003e#2869\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Burundi holidays, add l10n support (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2843\"\u003e#2843\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Canada holidays: add National Day for Truth and Reconciliation in MB (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2829\"\u003e#2829\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Georgia holidays: add August 29, 2025 special holiday (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2863\"\u003e#2863\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Guinea-Bissau holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2859\"\u003e#2859\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Nigeria holidays, add l10n support (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2874\"\u003e#2874\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Singapore holidays: remove duplicate holidays label assignment (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2844\"\u003e#2844\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Tanzania holidays: extend holidays support to 1965 (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2821\"\u003e#2821\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003ecommon::CommonTests\u003c/code\u003e: expand label tests to financial entities (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2876\"\u003e#2876\u003c/a\u003e by \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd .zenodo.json (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2870\"\u003e#2870\u003c/a\u003e by \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ecommon::TestCase::assertHolidayNameCount\u003c/code\u003e method (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2873\"\u003e#2873\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd metadata package version mismatch hint (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2846\"\u003e#2846\u003c/a\u003e by \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd missing docstring for \u003ccode\u003e__init__\u003c/code\u003e method (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2850\"\u003e#2850\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpose entity additional codes (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2879\"\u003e#2879\u003c/a\u003e by \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTest Case Name Standardization (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2853\"\u003e#2853\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vacanza/holidays/blob/dev/CHANGES.md\"\u003eholidays's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eVersion 0.81\u003c/h1\u003e\n\u003cp\u003eReleased September 15, 2025\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Saint Helena, Ascension and Tristan da Cunha holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2820\"\u003e#2820\u003c/a\u003e by \u003ca href=\"https://github.com/Abheelash-Mishra\"\u003e\u003ccode\u003e@​Abheelash-Mishra\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Sudan holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2854\"\u003e#2854\u003c/a\u003e by \u003ca href=\"https://github.com/anshonweb\"\u003e\u003ccode\u003e@​anshonweb\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Chinese Lunisolar calendar: extend Winter Solstice support (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2927\"\u003e#2927\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Philippines holidays: add 2026 holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2912\"\u003e#2912\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Spain holidays: add Dec 3 holiday in Navarre (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2895\"\u003e#2895\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate countries with Eastern holidays: add estimated holidays labels (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2924\"\u003e#2924\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate release notes generator (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2929\"\u003e#2929\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplify N802 suppression for \u003ccode\u003ecommon.py\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2880\"\u003e#2880\u003c/a\u003e by \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eVersion 0.80\u003c/h1\u003e\n\u003cp\u003eReleased September 1, 2025\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRefactor Australia holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2828\"\u003e#2828\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor Macau holidays: holiday categories standardization (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2868\"\u003e#2868\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Comoros holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2827\"\u003e#2827\u003c/a\u003e by \u003ca href=\"https://github.com/Prateekshit73\"\u003e\u003ccode\u003e@​Prateekshit73\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/prateekshit-v\"\u003e\u003ccode\u003e@​prateekshit-v\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Eritrea holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2783\"\u003e#2783\u003c/a\u003e by \u003ca href=\"https://github.com/Prateekshit73\"\u003e\u003ccode\u003e@​Prateekshit73\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/prateekshit-v\"\u003e\u003ccode\u003e@​prateekshit-v\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd National Stock Exchange of India (NSE) holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2834\"\u003e#2834\u003c/a\u003e by \u003ca href=\"https://github.com/saheelsapovadia\"\u003e\u003ccode\u003e@​saheelsapovadia\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Rwanda holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2792\"\u003e#2792\u003c/a\u003e by \u003ca href=\"https://github.com/Prateekshit73\"\u003e\u003ccode\u003e@​Prateekshit73\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/prateekshit-v\"\u003e\u003ccode\u003e@​prateekshit-v\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Somalia holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2848\"\u003e#2848\u003c/a\u003e by \u003ca href=\"https://github.com/Prateekshit73\"\u003e\u003ccode\u003e@​Prateekshit73\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/prateekshit-v\"\u003e\u003ccode\u003e@​prateekshit-v\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd South Sudan holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2831\"\u003e#2831\u003c/a\u003e by \u003ca href=\"https://github.com/Prateekshit73\"\u003e\u003ccode\u003e@​Prateekshit73\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/prateekshit-v\"\u003e\u003ccode\u003e@​prateekshit-v\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Tajikistan holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2852\"\u003e#2852\u003c/a\u003e by \u003ca href=\"https://github.com/Wasif-Shahzad\"\u003e\u003ccode\u003e@​Wasif-Shahzad\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Uganda holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2833\"\u003e#2833\u003c/a\u003e by \u003ca href=\"https://github.com/Prateekshit73\"\u003e\u003ccode\u003e@​Prateekshit73\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/prateekshit-v\"\u003e\u003ccode\u003e@​prateekshit-v\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eestimated_label\u003c/code\u003e to all countries with Islamic holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2860\"\u003e#2860\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Hindu Lunisolar calendar (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2871\"\u003e#2871\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Islamic holidays tests (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2849\"\u003e#2849\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eTestAllInSameYear\u003c/code\u003e methods (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2877\"\u003e#2877\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Bosnia and Herzegovina holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2869\"\u003e#2869\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Burundi holidays, add l10n support (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2843\"\u003e#2843\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Canada holidays: add National Day for Truth and Reconciliation in MB (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2829\"\u003e#2829\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Georgia holidays: add August 29, 2025 special holiday (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2863\"\u003e#2863\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Guinea-Bissau holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2859\"\u003e#2859\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Nigeria holidays, add l10n support (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2874\"\u003e#2874\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Singapore holidays: remove duplicate holidays label assignment (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2844\"\u003e#2844\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Tanzania holidays: extend holidays support to 1965 (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2821\"\u003e#2821\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003ecommon::CommonTests\u003c/code\u003e: expand label tests to financial entities (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2876\"\u003e#2876\u003c/a\u003e by \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd .zenodo.json (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2870\"\u003e#2870\u003c/a\u003e by \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ecommon::TestCase::assertHolidayNameCount\u003c/code\u003e method (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2873\"\u003e#2873\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd metadata package version mismatch hint (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2846\"\u003e#2846\u003c/a\u003e by \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd missing docstring for \u003ccode\u003e__init__\u003c/code\u003e method (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2850\"\u003e#2850\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpose entity additional codes (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2879\"\u003e#2879\u003c/a\u003e by \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTest Case Name Standardization (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2853\"\u003e#2853\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUnify imports (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2845\"\u003e#2845\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse aux repository data for downloads badge (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2832\"\u003e#2832\u003c/a\u003e by \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eVersion 0.79\u003c/h1\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vacanza/holidays/commit/0234c7dea5b46ce3fe28e3ec1a19a1a4a8521017\"\u003e\u003ccode\u003e0234c7d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2930\"\u003e#2930\u003c/a\u003e from vacanza/dev\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vacanza/holidays/commit/f3d765ee6f9a2ab03b2957a77128d90032e13b34\"\u003e\u003ccode\u003ef3d765e\u003c/code\u003e\u003c/a\u003e Finalize v0.81\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vacanza/holidays/commit/ba0d5133a0e62b9c36028852fe096e8ef5c79582\"\u003e\u003ccode\u003eba0d513\u003c/code\u003e\u003c/a\u003e Update release notes generator (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2929\"\u003e#2929\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vacanza/holidays/commit/02603f25f1fd1bc1d360e2c4abcd0b7136e4d33f\"\u003e\u003ccode\u003e02603f2\u003c/code\u003e\u003c/a\u003e Update Chinese Lunisolar calendar: extend Winter Solstice support (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2927\"\u003e#2927\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vacanza/holidays/commit/b1728bf912418000d300e0a9efa71802ba7e005d\"\u003e\u003ccode\u003eb1728bf\u003c/code\u003e\u003c/a\u003e Update countries with Eastern holidays: add estimated holidays labels (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2924\"\u003e#2924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vacanza/holidays/commit/9068084b799e7ff7f88d9810c02f8895714f356f\"\u003e\u003ccode\u003e9068084\u003c/code\u003e\u003c/a\u003e chore: Update snapshots (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2926\"\u003e#2926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vacanza/holidays/commit/342b9a7df4dd53d44f16e16308e71d3615827941\"\u003e\u003ccode\u003e342b9a7\u003c/code\u003e\u003c/a\u003e Add Sudan holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2854\"\u003e#2854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vacanza/holidays/commit/a6840fc9cf24adcfbc732720de18838d4105868a\"\u003e\u003ccode\u003ea6840fc\u003c/code\u003e\u003c/a\u003e Update pre-commit hooks (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2925\"\u003e#2925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vacanza/holidays/commit/0128617d51501ebde0fa7f4b5360b96ab546d3a9\"\u003e\u003ccode\u003e0128617\u003c/code\u003e\u003c/a\u003e Bump actions/setup-python from 5.6.0 to 6.0.0 (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2918\"\u003e#2918\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vacanza/holidays/commit/e2f7410476b88bef4108d7f7bebceb872e37eca9\"\u003e\u003ccode\u003ee2f7410\u003c/code\u003e\u003c/a\u003e Update pre-commit hooks (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2922\"\u003e#2922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vacanza/holidays/compare/v0.77...v0.81\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cheroot` from 10.0.1 to 11.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/cherrypy/cheroot/releases\"\u003echeroot's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev11.0.0\u003c/h2\u003e\n\u003ch2\u003e📝 Release notes\u003c/h2\u003e\n\u003cp\u003e📦 PyPI page: \u003ca href=\"https://pypi.org/project/cheroot/11.0.0\"\u003ehttps://pypi.org/project/cheroot/11.0.0\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e🌱 v11.0.0 is marked as a stable release.\u003c/p\u003e\n\u003cp\u003e🔗 This release has been produced by  the following workflow run: \u003ca href=\"https://github.com/cherrypy/cheroot/actions/runs/17894178348\"\u003ehttps://github.com/cherrypy/cheroot/actions/runs/17894178348\u003c/a\u003e\u003c/p\u003e\n\u003ch1\u003ev11.0.0\u003c/h1\u003e\n\u003cp\u003e\u003cem\u003e(2025-09-21)\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eWhen load is too high, Cheroot now responds with a 503 Service\nUnavailable HTTP error. Previously it silently closed the connection.\u003c/p\u003e\n\u003cp\u003e-- by \u003ca href=\"https://github.com/itamarst\"\u003e\u003ccode\u003e@​itamarst\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRelated issues and pull requests on GitHub:\u003c/em\u003e \u003ca href=\"https://redirect.github.com/cherrypy/cheroot/issues/745\"\u003e#745\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRemovals and backward incompatible breaking changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eCheroot dropped support for Python 3.6 and 3.7. It now requires Python\n3.8 or later.\u003c/p\u003e\n\u003cp\u003e-- by \u003ca href=\"https://github.com/jaraco\"\u003e\u003ccode\u003e@​jaraco\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRelated issues and pull requests on GitHub:\u003c/em\u003e \u003ca href=\"https://redirect.github.com/cherrypy/cheroot/issues/565\"\u003e#565\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/cherrypy/cheroot/issues/633\"\u003e#633\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRelated commits on GitHub:\u003c/em\u003e\n\u003ca href=\"https://github.com/cherrypy/cheroot/commit/437863ee\"\u003ehttps://github.com/cherrypy/cheroot/commit/437863ee\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePackaging updates and notes for downstreams\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eDeclared Python 3.12 and Python 3.13 as supported officially -- by\n\u003ca href=\"https://github.com/webknjaz\"\u003e\u003ccode\u003e@​webknjaz\u003c/code\u003e\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRelated issues and pull requests on GitHub:\u003c/em\u003e \u003ca href=\"https://redirect.github.com/cherrypy/cheroot/issues/696\"\u003e#696\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRelated commits on GitHub:\u003c/em\u003e\n\u003ca href=\"https://github.com/cherrypy/cheroot/commit/5db4f634\"\u003ehttps://github.com/cherrypy/cheroot/commit/5db4f634\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe minimum version of the \u003ccode\u003esetuptools-scm\u003c/code\u003e build dependency has been\nset to 7. The Git archives are now produced by it natively, instead of\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/cherrypy/cheroot/blob/main/CHANGES.rst\"\u003echeroot's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev11.0.0\u003c/h1\u003e\n\u003cp\u003e\u003cem\u003e(2025-09-21)\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eWhen load is too high, Cheroot now responds with a 503 Service Unavailable HTTP error.\nPreviously it silently closed the connection.\u003c/p\u003e\n\u003cp\u003e-- by :user:\u003ccode\u003eitamarst\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRelated issues and pull requests on GitHub:\u003c/em\u003e\n:issue:\u003ccode\u003e745\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRemovals and backward incompatible breaking changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eCheroot dropped support for Python 3.6 and 3.7.\nIt now requires Python 3.8 or later.\u003c/p\u003e\n\u003cp\u003e-- by :user:\u003ccode\u003ejaraco\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRelated issues and pull requests on GitHub:\u003c/em\u003e\n:issue:\u003ccode\u003e565\u003c/code\u003e, :issue:\u003ccode\u003e633\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRelated commits on GitHub:\u003c/em\u003e\n:commit:\u003ccode\u003e437863ee\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePackaging updates and notes for downstreams\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eDeclared Python 3.12 and Python 3.13 as supported officially\n-- by :user:\u003ccode\u003ewebknjaz\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRelated issues and pull requests on GitHub:\u003c/em\u003e\n:issue:\u003ccode\u003e696\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRelated commits on GitHub:\u003c/em\u003e\n:commit:\u003ccode\u003e5db4f634\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe minimum version of the \u003ccode\u003esetuptools-scm\u003c/code\u003e build dependency\nhas been set to 7. The Git archives are now produced by it\nnatively, instead of relying on a third party plugin which is\nno longer being used.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cherrypy/cheroot/commit/50b1f1d72c90be6fad4c2a53cf57be6ad98d03cc\"\u003e\u003ccode\u003e50b1f1d\u003c/code\u003e\u003c/a\u003e Generate a change log entry for v11.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cherrypy/cheroot/commit/4e9b36b99f0ac96d1a99c11817587b2a09166432\"\u003e\u003ccode\u003e4e9b36b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/cherrypy/cheroot/issues/759\"\u003e#759\u003c/a\u003e from cherrypy/maintenance/pip-tools-constraint-lockfiles\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cherrypy/cheroot/commit/b4a28ae4b7ac41047f294a19a01b77a6f874841b\"\u003e\u003ccode\u003eb4a28ae\u003c/code\u003e\u003c/a\u003e Update tox-pypy311-pp311-win32-amd64 constraints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cherrypy/cheroot/commit/a9fd2ba845417bd0a42288dd3695f296a7dcf14f\"\u003e\u003ccode\u003ea9fd2ba\u003c/code\u003e\u003c/a\u003e Update tox-pypy311-pp311-linux-x86_64 constraints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cherrypy/cheroot/commit/27a91155b671f56e47e199f794420982ebc9475a\"\u003e\u003ccode\u003e27a9115\u003c/code\u003e\u003c/a\u003e Update tox-pypy311-pp311-linux-aarch64 constraints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cherrypy/cheroot/commit/5fdcdd67817aed949827727376a31f9b2f533106\"\u003e\u003ccode\u003e5fdcdd6\u003c/code\u003e\u003c/a\u003e Update tox-pypy311-pp311-darwin-x86_64 constraints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cherrypy/cheroot/commit/c1cbafca5bf4490b70a50a80d4b5325d0accbb8c\"\u003e\u003ccode\u003ec1cbafc\u003c/code\u003e\u003c/a\u003e Update tox-pypy311-pp311-darwin-arm64 constraints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cherrypy/cheroot/commit/93faa537f8631133f44bd278c69bc817223c7a0a\"\u003e\u003ccode\u003e93faa53\u003c/code\u003e\u003c/a\u003e Update tox-py39-cp39-win32-amd64 constraints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cherrypy/cheroot/commit/36482bb6930628f5598afb2e0aa9fc1717dae6eb\"\u003e\u003ccode\u003e36482bb\u003c/code\u003e\u003c/a\u003e Update tox-py39-cp39-linux-x86_64 constraints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cherrypy/cheroot/commit/a1b2a20ccc095ff0c925b8581985c4f5d915287e\"\u003e\u003ccode\u003ea1b2a20\u003c/code\u003e\u003c/a\u003e Update tox-py39-cp39-linux-aarch64 constraints\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/cherrypy/cheroot/compare/v10.0.1...v11.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tornado` from 6.5.1 to 6.5.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tornadoweb/tornado/blob/master/docs/releases.rst\"\u003etornado's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eRelease notes\u003c/h1\u003e\n\u003cp\u003e.. toctree::\n:maxdepth: 2\u003c/p\u003e\n\u003cp\u003ereleases/v6.5.2\nreleases/v6.5.1\nreleases/v6.5.0\nreleases/v6.4.2\nreleases/v6.4.1\nreleases/v6.4.0\nreleases/v6.3.3\nreleases/v6.3.2\nreleases/v6.3.1\nreleases/v6.3.0\nreleases/v6.2.0\nreleases/v6.1.0\nreleases/v6.0.4\nreleases/v6.0.3\nreleases/v6.0.2\nreleases/v6.0.1\nreleases/v6.0.0\nreleases/v5.1.1\nreleases/v5.1.0\nreleases/v5.0.2\nreleases/v5.0.1\nreleases/v5.0.0\nreleases/v4.5.3\nreleases/v4.5.2\nreleases/v4.5.1\nreleases/v4.5.0\nreleases/v4.4.3\nreleases/v4.4.2\nreleases/v4.4.1\nreleases/v4.4.0\nreleases/v4.3.0\nreleases/v4.2.1\nreleases/v4.2.0\nreleases/v4.1.0\nreleases/v4.0.2\nreleases/v4.0.1\nreleases/v4.0.0\nreleases/v3.2.2\nreleases/v3.2.1\nreleases/v3.2.0\nreleases/v3.1.1\nreleases/v3.1.0\nreleases/v3.0.2\nreleases/v3.0.1\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/547e6d86972238f1f5333a85f12b17fb33626899\"\u003e\u003ccode\u003e547e6d8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/tornadoweb/tornado/issues/3529\"\u003e#3529\u003c/a\u003e from bdarnell/relnotes-652\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/be9c374b2ea5e3d6c988c7ede8d284a649cfec37\"\u003e\u003ccode\u003ebe9c374\u003c/code\u003e\u003c/a\u003e Release notes for 6.5.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/8cbc4bfa53874a5dfa7b4bc50971d2ee21baf2d2\"\u003e\u003ccode\u003e8cbc4bf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/tornadoweb/tornado/issues/3527\"\u003e#3527\u003c/a\u003e from bdarnell/backports-6.5.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/c0d3e6df84344ec0aea2a9f9257aba76db78ca25\"\u003e\u003ccode\u003ec0d3e6d\u003c/code\u003e\u003c/a\u003e http1connection: Improve error logging for invalid host headers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/4ff5594ffd71c6dc9c82b0f003d63ed543a8e6d3\"\u003e\u003ccode\u003e4ff5594\u003c/code\u003e\u003c/a\u003e httputil: Restore the host argument to HTTPServerRequest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/b16916c8ad5836fd883452620020c8a1ea4addbf\"\u003e\u003ccode\u003eb16916c\u003c/code\u003e\u003c/a\u003e Add overloads to gen.multi() (\u003ca href=\"https://redirect.github.com/tornadoweb/tornado/issues/3515\"\u003e#3515\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/b5d2f3cc5eb20de1b0cf86e9e48e1624e42ce13b\"\u003e\u003ccode\u003eb5d2f3c\u003c/code\u003e\u003c/a\u003e httputil: Remove a debug print left in by mistake\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/38c6f591d49a808e11bc801028611bcee6aa6bba\"\u003e\u003ccode\u003e38c6f59\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/tornadoweb/tornado/issues/3513\"\u003e#3513\u003c/a\u003e from oliver-sanders/3258.fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/3fc1d91bbbc6a11160528fffb11105998479a6ba\"\u003e\u003ccode\u003e3fc1d91\u003c/code\u003e\u003c/a\u003e websocket: Expand testing of next-ping calculation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/56fc23fe20b4f19ac6cfbbb25611ad692e45082b\"\u003e\u003ccode\u003e56fc23f\u003c/code\u003e\u003c/a\u003e websocket_ping: fix ping interval with non-zero timeout and improve docs.\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tornadoweb/tornado/compare/v6.5.1...v6.5.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `setuptools-scm[toml]` to 9.2.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/setuptools-scm/releases\"\u003esetuptools-scm[toml]'s releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev9.2.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ereiterate version inference by \u003ca href=\"https://github.com/RonnyPfannschmidt\"\u003e\u003ccode\u003e@​RonnyPfannschmidt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/pull/1202\"\u003epypa/setuptools-scm#1202\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003esimple activation now requires a extra instead of setting up many pre-existing projects for failure/error\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pypa/setuptools-scm/compare/v9.1.1...v9.2.0\"\u003ehttps://github.com/pypa/setuptools-scm/compare/v9.1.1...v9.2.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/setuptools-scm/blob/main/CHANGELOG.md\"\u003esetuptools-scm[toml]'s changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev9.2.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eadd simplified activation via \u003ccode\u003esetuptools-scm[simple]\u003c/code\u003e extra\u003c/p\u003e\n\u003cp\u003eA new streamlined way to enable version inference without requiring a \u003ccode\u003e[tool.setuptools_scm]\u003c/code\u003e section.\nWhen \u003ccode\u003esetuptools-scm[simple]\u003c/code\u003e is in \u003ccode\u003ebuild-system.requires\u003c/code\u003e and \u003ccode\u003eversion\u003c/code\u003e is in \u003ccode\u003eproject.dynamic\u003c/code\u003e,\nversion inference is automatically enabled with default settings.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eremoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eunchecked simplified activation - too many projects use setups where it would fail\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003echanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erefine activation logic and add unittest for the relevant cases instead of trying to speedrun setuptools\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.1.1 (yanked)\u003c/h2\u003e\n\u003ch3\u003efixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/issues/1194\"\u003e#1194\u003c/a\u003e: correctly handle version keyword when pyproject metadata is missing\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.1.0 (yanked)\u003c/h2\u003e\n\u003ch3\u003efixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003ecomplete reiteration of the decision logic for enabling version inference on setuptools_scm\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eshared logic for the important parts\u003c/li\u003e\n\u003cli\u003eproper deferring based in precedence of finalize options vs version keyword\u003c/li\u003e\n\u003cli\u003eunittestable for the parsing parts and the decision steps\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.0.3 (yanked)\u003c/h2\u003e\n\u003ch3\u003efixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix 1184: verify version is dynamic if the dependency is used as indicator for enabling\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.0.2 (yan...\n\n_Description has been truncated_","html_url":"https://github.com/acsone/Arelle/pull/334","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/acsone%2FArelle/issues/334","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/334/packages"}},{"old_version":"1.31.4","new_version":"1.31.5","update_type":"patch","path":null,"pr_created_at":"2025-09-22T10:30:01.000Z","version_change":"1.31.4 → 1.31.5","issue":{"uuid":"3440247394","node_id":"PR_kwDODX3mAs6pzfNs","number":332,"state":"open","title":"Bump the python-dependencies group across 1 directory with 25 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":"NONE","state_reason":null,"created_at":"2025-09-22T10:30:01.000Z","updated_at":"2025-09-29T11:06:05.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"python-dependencies","update_count":25,"packages":[{"name":"jsonschema","old_version":"4.25.0","new_version":"4.25.1","repository_url":"https://github.com/python-jsonschema/jsonschema"},{"name":"pyparsing","old_version":"3.2.3","new_version":"3.2.5","repository_url":"https://github.com/pyparsing/pyparsing"},{"name":"typing-extensions","old_version":"4.14.1","new_version":"4.15.0","repository_url":"https://github.com/python/typing_extensions"},{"name":"pg8000","old_version":"1.31.4","new_version":"1.31.5","repository_url":"https://github.com/tlocke/pg8000"},{"name":"pymysql","old_version":"1.1.1","new_version":"1.1.2","repository_url":"https://github.com/PyMySQL/PyMySQL"},{"name":"rdflib","old_version":"7.1.4","new_version":"7.2.1","repository_url":"https://github.com/RDFLib/rdflib"},{"name":"holidays","old_version":"0.77","new_version":"0.81","repository_url":"https://github.com/vacanza/holidays"},{"name":"cheroot","old_version":"10.0.1","new_version":"11.0.0","repository_url":"https://github.com/cherrypy/cheroot"},{"name":"tornado","old_version":"6.5.1","new_version":"6.5.2","repository_url":"https://github.com/tornadoweb/tornado"}],"path":null,"ecosystem":"pip"},"body":"[//]: # (dependabot-start)\n⚠️  **Dependabot is rebasing this PR** ⚠️ \n\nRebasing might not happen immediately, so don't worry if this takes some time.\n\nNote: if you make any changes to this PR yourself, they will take precedence over the rebase.\n\n---\n\n[//]: # (dependabot-end)\n\nUpdates the requirements on [jsonschema](https://github.com/python-jsonschema/jsonschema), [pyparsing](https://github.com/pyparsing/pyparsing), [typing-extensions](https://github.com/python/typing_extensions), [pg8000](https://github.com/tlocke/pg8000), [pymysql](https://github.com/PyMySQL/PyMySQL), [rdflib](https://github.com/RDFLib/rdflib), [holidays](https://github.com/vacanza/holidays), [cheroot](https://github.com/cherrypy/cheroot), [tornado](https://github.com/tornadoweb/tornado), [setuptools-scm[toml]](https://github.com/pypa/setuptools-scm), [filelock](https://github.com/tox-dev/py-filelock), [regex](https://github.com/mrabarnett/mrab-regex), [boto3](https://github.com/boto/boto3), [pytest](https://github.com/pytest-dev/pytest), [requests](https://github.com/psf/requests), [mypy](https://github.com/python/mypy), [boto3-stubs](https://github.com/youtype/mypy_boto3_builder), [types-pymysql](https://github.com/typeshed-internal/stub_uploader), [types-openpyxl](https://github.com/typeshed-internal/stub_uploader), [types-python-dateutil](https://github.com/typeshed-internal/stub_uploader), [types-pytz](https://github.com/typeshed-internal/stub_uploader), [types-regex](https://github.com/typeshed-internal/stub_uploader), [types-simplejson](https://github.com/typeshed-internal/stub_uploader), [types-ujson](https://github.com/typeshed-internal/stub_uploader) and [ixbrl-viewer](https://github.com/Arelle/ixbrl-viewer) to permit the latest version.\nUpdates `jsonschema` from 4.25.0 to 4.25.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-jsonschema/jsonschema/releases\"\u003ejsonschema's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.25.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidator\u003c/code\u003e protocol init to match runtime by \u003ca href=\"https://github.com/sirosen\"\u003e\u003ccode\u003e@​sirosen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1396\"\u003epython-jsonschema/jsonschema#1396\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/python-jsonschema/jsonschema/compare/v4.25.0...v4.25.1\"\u003ehttps://github.com/python-jsonschema/jsonschema/compare/v4.25.0...v4.25.1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-jsonschema/jsonschema/blob/main/CHANGELOG.rst\"\u003ejsonschema's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev4.25.1\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix an incorrect required argument in the \u003ccode\u003eValidator\u003c/code\u003e protocol's type annotations (\u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1396\"\u003e#1396\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/331c38425519b69118d22ebe467ad230fb83a010\"\u003e\u003ccode\u003e331c384\u003c/code\u003e\u003c/a\u003e Add the fix to the changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/c1ec0a645e913e83de95995f6efbbd358676abf6\"\u003e\u003ccode\u003ec1ec0a6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1398\"\u003e#1398\u003c/a\u003e from python-jsonschema/dependabot/github_actions/ast...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/8e7d594faff13f8f663b306a0d86bea0ce5de6cb\"\u003e\u003ccode\u003e8e7d594\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1399\"\u003e#1399\u003c/a\u003e from python-jsonschema/dependabot/github_actions/act...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/460f4fae42664773160f56ccc843a4fcea34f7cf\"\u003e\u003ccode\u003e460f4fa\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1396\"\u003e#1396\u003c/a\u003e from sirosen/improve-protocol-init-signature\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/1e58409b71a9696b7bf9938ae8a3a48ef95ab29e\"\u003e\u003ccode\u003e1e58409\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] auto fixes from pre-commit.com hooks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/64bc2171624ef201bdbf35e47780348ce30935c5\"\u003e\u003ccode\u003e64bc217\u003c/code\u003e\u003c/a\u003e Add a typing test for the Validator protocol\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/6c25741bff889477680f9b0d1aa967ae35c38f43\"\u003e\u003ccode\u003e6c25741\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/bf603d59117f840916709fc87c6625df43d1fe72\"\u003e\u003ccode\u003ebf603d5\u003c/code\u003e\u003c/a\u003e Bump astral-sh/setup-uv from 6.4.3 to 6.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/a916d8f8253baa11bacc60f0868f0bab1e42d526\"\u003e\u003ccode\u003ea916d8f\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eValidator\u003c/code\u003e protocol init to match runtime\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/de60f18bd97395a52a11b561eb62963e0ffe9e71\"\u003e\u003ccode\u003ede60f18\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1397\"\u003e#1397\u003c/a\u003e from python-jsonschema/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-jsonschema/jsonschema/compare/v4.25.0...v4.25.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyparsing` from 3.2.3 to 3.2.5\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyparsing/pyparsing/blob/master/CHANGES\"\u003epyparsing's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.2.5 - September, 2025\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eJINX! Well, 3.2.4 had a bug for \u003ccode\u003eWord\u003c/code\u003e expressions that include a space\ncharacter, if that expression was then copied, either directly with .copy() or\nby adding a results name, or including in another construct (like \u003ccode\u003eDelimitedList\u003c/code\u003e)\nthat makes a copy internally. Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/618\"\u003e#618\u003c/a\u003e, reported by mstinberg, among others -\nthanks, and sorry for the inconvenience.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.2.4 - September, 2025\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eBarring any catastrophic bugs in this release, this will be the last release in\nthe 3.2.x line. The next release, 3.3.0, will begin emitting \u003ccode\u003eDeprecationWarnings\u003c/code\u003e\nwhen the pre-PEP8 methods are used (see header notes above for more information,\nincluding available automation for converting any existing code using\npyparsing with the old names).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed bug when using a copy of a \u003ccode\u003eWord\u003c/code\u003e expression (either by using the explicit\n\u003ccode\u003ecopy()\u003c/code\u003e method, or attaching a results name), and setting a new expression name,\na raised \u003ccode\u003eParseException\u003c/code\u003e still used the original expression name. Also affected\n\u003ccode\u003eRegex\u003c/code\u003e expressions with \u003ccode\u003eas_match\u003c/code\u003e or \u003ccode\u003eas_group_list\u003c/code\u003e = True. Reported by\nWaqas Ilyas, in Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/612\"\u003e#612\u003c/a\u003e - good catch!\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed type annotation for \u003ccode\u003ereplace_with\u003c/code\u003e, to accept \u003ccode\u003eAny\u003c/code\u003e type. Fixes Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/602\"\u003e#602\u003c/a\u003e,\nreported by esquonk.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded locking around potential race condition in \u003ccode\u003eParserElement.reset_cache\u003c/code\u003e, as\nwell as other cache-related methods. Fixes Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/604\"\u003e#604\u003c/a\u003e, reported by CarlosDescalziIM.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSubstantial update to docstrings and doc generation in preparation for 3.3.0,\ngreat effort by FeRD, thanks!\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNotable addition by FeRD to convert docstring examples to work with doctest! This\nwas long overdue, thanks so much!\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/dbbd53ad1cd0ab31ae2a8fee5a64a718788b63fb\"\u003e\u003ccode\u003edbbd53a\u003c/code\u003e\u003c/a\u003e More unit tests and some comments for traceability to Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/618\"\u003e#618\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/f5bdb2deff92859e068937f2ae502136b38ad16f\"\u003e\u003ccode\u003ef5bdb2d\u003c/code\u003e\u003c/a\u003e Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/618\"\u003e#618\u003c/a\u003e - fix reference to re_match attribute in copy of Word object to fi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/8c61893d362b21d66fa3646c073295235ef166fd\"\u003e\u003ccode\u003e8c61893\u003c/code\u003e\u003c/a\u003e Prep for 3.2.5 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/57923cd6a651d81c72b4e60b2baa02fbedf217ba\"\u003e\u003ccode\u003e57923cd\u003c/code\u003e\u003c/a\u003e Enable matplotlib unit tests for Python 3.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/fad1505f8ab91cc897f3067868e500257130e1a4\"\u003e\u003ccode\u003efad1505\u003c/code\u003e\u003c/a\u003e Update CHANGES file with thanks to FeRD for making the docstring examples doc...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/6622151cb440e85de9880ca6b7f3652e0962e315\"\u003e\u003ccode\u003e6622151\u003c/code\u003e\u003c/a\u003e Update tox.ini to add doctest testing for all Python versions 3.10 and later\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/e6ed66bdcd6da3ef63f4396565d860467efb5252\"\u003e\u003ccode\u003ee6ed66b\u003c/code\u003e\u003c/a\u003e Change doctest for LineStart to reflect latest implementation of \u0026quot;is this tok...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/23092da6569c97f30605ff2fe818fc15b3d12567\"\u003e\u003ccode\u003e23092da\u003c/code\u003e\u003c/a\u003e Doctests for pyparsing.exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/0bae3cdcc9274dbbcde5daabba739d3b1ddb49fc\"\u003e\u003ccode\u003e0bae3cd\u003c/code\u003e\u003c/a\u003e Doctests for pyparsing.common\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/98ec165d1a66247dbeffcf692643765648fb230f\"\u003e\u003ccode\u003e98ec165\u003c/code\u003e\u003c/a\u003e Docs: Add doctest-wrtiting documentation\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyparsing/pyparsing/compare/3.2.3...3.2.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `typing-extensions` from 4.14.1 to 4.15.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/typing_extensions/releases\"\u003etyping-extensions's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.15.0\u003c/h2\u003e\n\u003cp\u003eNo user-facing changes since 4.15.0rc1.\u003c/p\u003e\n\u003cp\u003eNew features since 4.14.1:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd the \u003ccode\u003e@typing_extensions.disjoint_base\u003c/code\u003e decorator, as specified\nin PEP 800. Patch by Jelle Zijlstra.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etyping_extensions.type_repr\u003c/code\u003e, a backport of\n\u003ca href=\"https://docs.python.org/3.14/library/annotationlib.html#annotationlib.type_repr\"\u003e\u003ccode\u003eannotationlib.type_repr\u003c/code\u003e\u003c/a\u003e,\nintroduced in Python 3.14 (CPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/124551\"\u003e#124551\u003c/a\u003e,\noriginally by Jelle Zijlstra). Patch by Semyon Moroz.\u003c/li\u003e\n\u003cli\u003eFix behavior of type params in \u003ccode\u003etyping_extensions.evaluate_forward_ref\u003c/code\u003e. Backport of\nCPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/137227\"\u003e#137227\u003c/a\u003e by Jelle Zijlstra.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.15.0rc1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd the \u003ccode\u003e@typing_extensions.disjoint_base\u003c/code\u003e decorator, as specified\nin PEP 800. Patch by Jelle Zijlstra.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etyping_extensions.type_repr\u003c/code\u003e, a backport of\n\u003ca href=\"https://docs.python.org/3.14/library/annotationlib.html#annotationlib.type_repr\"\u003e\u003ccode\u003eannotationlib.type_repr\u003c/code\u003e\u003c/a\u003e,\nintroduced in Python 3.14 (CPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/124551\"\u003e#124551\u003c/a\u003e,\noriginally by Jelle Zijlstra). Patch by Semyon Moroz.\u003c/li\u003e\n\u003cli\u003eFix behavior of type params in \u003ccode\u003etyping_extensions.evaluate_forward_ref\u003c/code\u003e. Backport of\nCPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/137227\"\u003e#137227\u003c/a\u003e by Jelle Zijlstra.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/typing_extensions/blob/main/CHANGELOG.md\"\u003etyping-extensions's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eRelease 4.15.0 (August 25, 2025)\u003c/h1\u003e\n\u003cp\u003eNo user-facing changes since 4.15.0rc1.\u003c/p\u003e\n\u003ch1\u003eRelease 4.15.0rc1 (August 18, 2025)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd the \u003ccode\u003e@typing_extensions.disjoint_base\u003c/code\u003e decorator, as specified\nin PEP 800. Patch by Jelle Zijlstra.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etyping_extensions.type_repr\u003c/code\u003e, a backport of\n\u003ca href=\"https://docs.python.org/3.14/library/annotationlib.html#annotationlib.type_repr\"\u003e\u003ccode\u003eannotationlib.type_repr\u003c/code\u003e\u003c/a\u003e,\nintroduced in Python 3.14 (CPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/124551\"\u003e#124551\u003c/a\u003e,\noriginally by Jelle Zijlstra). Patch by Semyon Moroz.\u003c/li\u003e\n\u003cli\u003eFix behavior of type params in \u003ccode\u003etyping_extensions.evaluate_forward_ref\u003c/code\u003e. Backport of\nCPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/137227\"\u003e#137227\u003c/a\u003e by Jelle Zijlstra.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/9d1637e264b5c1a6b7acee3e907015f89b20c2c9\"\u003e\u003ccode\u003e9d1637e\u003c/code\u003e\u003c/a\u003e Prepare release 4.15.0 (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/658\"\u003e#658\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/4bd67c5be5d9443c7d33c314d02a56ee125eb88d\"\u003e\u003ccode\u003e4bd67c5\u003c/code\u003e\u003c/a\u003e Coverage: exclude some noise (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/656\"\u003e#656\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/e589a26da73b075c5276bae40b86db1af0144f84\"\u003e\u003ccode\u003ee589a26\u003c/code\u003e\u003c/a\u003e Coverage: add detailed report to job summary (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/655\"\u003e#655\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/67d37fed1298e050f74d5acc95b2621bd37837ad\"\u003e\u003ccode\u003e67d37fe\u003c/code\u003e\u003c/a\u003e Coverage: Implement fail_under (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/654\"\u003e#654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/e9ae26f5286edee9262727755ecb9ad16e999192\"\u003e\u003ccode\u003ee9ae26f\u003c/code\u003e\u003c/a\u003e Don't delete previous coverage comment (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/653\"\u003e#653\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/ac80bb728a3006fc88ef7373b92f0c25cfcc7895\"\u003e\u003ccode\u003eac80bb7\u003c/code\u003e\u003c/a\u003e Add Coverage workflow (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/623\"\u003e#623\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/abaaafd98c1cc7e5baf098ec287a3d22cb339670\"\u003e\u003ccode\u003eabaaafd\u003c/code\u003e\u003c/a\u003e Prepare release 4.15.0rc1 (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/650\"\u003e#650\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/98104053ea8d49bcdd247804e5fa9f73136acbd4\"\u003e\u003ccode\u003e9810405\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003e@disjoint_base\u003c/code\u003e (PEP 800) (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/634\"\u003e#634\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/7ee9e05fd484d06899ce56e80f5e1aa4c760fc03\"\u003e\u003ccode\u003e7ee9e05\u003c/code\u003e\u003c/a\u003e Backport type_params fix from CPython (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/646\"\u003e#646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/1e8eb9c06ef51b3a1e1f05303a16feca13f5ed98\"\u003e\u003ccode\u003e1e8eb9c\u003c/code\u003e\u003c/a\u003e Do not refer to PEP 705 as being experimental (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/648\"\u003e#648\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python/typing_extensions/compare/4.14.1...4.15.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pg8000` from 1.31.4 to 1.31.5\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tlocke/pg8000/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pymysql` from 1.1.1 to 1.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/PyMySQL/PyMySQL/releases\"\u003epymysql's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.1.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent UnboundLocalError on MySQLResult initialization during SystemExit by \u003ca href=\"https://github.com/palm002\"\u003e\u003ccode\u003e@​palm002\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1174\"\u003ePyMySQL/PyMySQL#1174\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eremove mention of runtests.py by \u003ca href=\"https://github.com/cfbolz\"\u003e\u003ccode\u003e@​cfbolz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1182\"\u003ePyMySQL/PyMySQL#1182\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003emake sure to also close \u003ccode\u003econnection._rfile\u003c/code\u003e in \u003ccode\u003eConnection._force_close\u003c/code\u003e by \u003ca href=\"https://github.com/cfbolz\"\u003e\u003ccode\u003e@​cfbolz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1184\"\u003ePyMySQL/PyMySQL#1184\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded MariaDB in readme description (\u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1180\"\u003e#1180\u003c/a\u003e) by \u003ca href=\"https://github.com/theneuralcraftsman\"\u003e\u003ccode\u003e@​theneuralcraftsman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1186\"\u003ePyMySQL/PyMySQL#1186\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update dependency sphinx-rtd-theme to v3 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1189\"\u003ePyMySQL/PyMySQL#1189\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update dependency sphinx to v8 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1179\"\u003ePyMySQL/PyMySQL#1179\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for Python 3.13 by \u003ca href=\"https://github.com/Cycloctane\"\u003e\u003ccode\u003e@​Cycloctane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1190\"\u003ePyMySQL/PyMySQL#1190\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eResolve UTF8 charset case-insensitively by \u003ca href=\"https://github.com/ek247\"\u003e\u003ccode\u003e@​ek247\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1195\"\u003ePyMySQL/PyMySQL#1195\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupdate ci versions by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1196\"\u003ePyMySQL/PyMySQL#1196\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003euse KILL instead of COM_KILL for MySQL 8.4 support by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1197\"\u003ePyMySQL/PyMySQL#1197\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edisable VERIFY_X509_STRICT for Python 3.13 support by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1198\"\u003ePyMySQL/PyMySQL#1198\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update codecov/codecov-action action to v5 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1191\"\u003ePyMySQL/PyMySQL#1191\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd MariaDB to README.md by \u003ca href=\"https://github.com/robertsilen\"\u003e\u003ccode\u003e@​robertsilen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1181\"\u003ePyMySQL/PyMySQL#1181\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: use defer_connect instead of mock by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1199\"\u003ePyMySQL/PyMySQL#1199\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: use astral-sh/ruff-action by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1201\"\u003ePyMySQL/PyMySQL#1201\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix auth_switch_request handling by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1200\"\u003ePyMySQL/PyMySQL#1200\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: update test matrix by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1215\"\u003ePyMySQL/PyMySQL#1215\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: do not drop MySQL 5.7 test for now by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1216\"\u003ePyMySQL/PyMySQL#1216\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupdate README by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1217\"\u003ePyMySQL/PyMySQL#1217\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eprepare v1.1.2 by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1218\"\u003ePyMySQL/PyMySQL#1218\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/palm002\"\u003e\u003ccode\u003e@​palm002\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1174\"\u003ePyMySQL/PyMySQL#1174\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cfbolz\"\u003e\u003ccode\u003e@​cfbolz\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1182\"\u003ePyMySQL/PyMySQL#1182\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theneuralcraftsman\"\u003e\u003ccode\u003e@​theneuralcraftsman\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1186\"\u003ePyMySQL/PyMySQL#1186\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Cycloctane\"\u003e\u003ccode\u003e@​Cycloctane\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1190\"\u003ePyMySQL/PyMySQL#1190\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ek247\"\u003e\u003ccode\u003e@​ek247\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1195\"\u003ePyMySQL/PyMySQL#1195\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/robertsilen\"\u003e\u003ccode\u003e@​robertsilen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1181\"\u003ePyMySQL/PyMySQL#1181\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/PyMySQL/PyMySQL/compare/v1.1.1...v1.1.2\"\u003ehttps://github.com/PyMySQL/PyMySQL/compare/v1.1.1...v1.1.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/PyMySQL/PyMySQL/blob/main/CHANGELOG.md\"\u003epymysql's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.1.2\u003c/h2\u003e\n\u003cp\u003eRelease date: 2025-08-24\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent UnboundLocalError in very rare situation. \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1174\"\u003ePyMySQL/PyMySQL#1174\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClose underlying \u003ccode\u003eSocketIO\u003c/code\u003e soon when Connection is closed for PyPy. \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1183\"\u003ePyMySQL/PyMySQL#1183\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix importing PyMySQL fail on CPython 3.13 when \u003ccode\u003egetpass.getuser()\u003c/code\u003e raises OSEError. \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1190\"\u003ePyMySQL/PyMySQL#1190\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake charset name \u0026quot;utf8\u0026quot; case insensitive. \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1195\"\u003ePyMySQL/PyMySQL#1195\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.kill()\u003c/code\u003e uses \u003ccode\u003eKILL\u003c/code\u003e query instead of \u003ccode\u003eCOM_KILL\u003c/code\u003ecommand to support MySQL 8.4. \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1197\"\u003ePyMySQL/PyMySQL#1197\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix SSL error on CPython 3.13 caused by strict TLS default setting. \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1198\"\u003ePyMySQL/PyMySQL#1198\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix auth switch request handling. \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1200\"\u003ePyMySQL/PyMySQL#1200\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/PyMySQL/PyMySQL/commit/d7bb777e503d82bf2496113f07dd4ab249615efc\"\u003e\u003ccode\u003ed7bb777\u003c/code\u003e\u003c/a\u003e release v1.1.2 (\u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1218\"\u003e#1218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyMySQL/PyMySQL/commit/2559de5a6b01917622fc8986cd3dd8479d7d6e95\"\u003e\u003ccode\u003e2559de5\u003c/code\u003e\u003c/a\u003e update README (\u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1217\"\u003e#1217\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyMySQL/PyMySQL/commit/a388c3a5e274c3b8c03e5f1dcb442b4bb2f9bafd\"\u003e\u003ccode\u003ea388c3a\u003c/code\u003e\u003c/a\u003e ci: do not drop MySQL 5.7 test for now (\u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1216\"\u003e#1216\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyMySQL/PyMySQL/commit/9a3fe442edaca9db6da1809c82dbb6f4192440ee\"\u003e\u003ccode\u003e9a3fe44\u003c/code\u003e\u003c/a\u003e ci: update test matrix (\u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1215\"\u003e#1215\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyMySQL/PyMySQL/commit/bed601f04fb982c7c42c6ff7e56b7f749ac64cc9\"\u003e\u003ccode\u003ebed601f\u003c/code\u003e\u003c/a\u003e Add DeepWiki badge\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyMySQL/PyMySQL/commit/01af30fea0880c3b72e6c7b3b05d66a8c28ced7a\"\u003e\u003ccode\u003e01af30f\u003c/code\u003e\u003c/a\u003e fix auth_switch_request handling (\u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1200\"\u003e#1200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyMySQL/PyMySQL/commit/53efd1ec7f0e854abc62eb875b944f56bca29dd2\"\u003e\u003ccode\u003e53efd1e\u003c/code\u003e\u003c/a\u003e ci: use astral-sh/ruff-action (\u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1201\"\u003e#1201\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyMySQL/PyMySQL/commit/e88b729f8f1ddcf0851e0153188b016d0e9ec00c\"\u003e\u003ccode\u003ee88b729\u003c/code\u003e\u003c/a\u003e remove codeql and codesee actions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyMySQL/PyMySQL/commit/5f6533f883535b76c2d3a776c4746027027106f8\"\u003e\u003ccode\u003e5f6533f\u003c/code\u003e\u003c/a\u003e refactor: use defer_connect instead of mock (\u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1199\"\u003e#1199\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyMySQL/PyMySQL/commit/66ad1eaa47cfde19dfe01900ceb5f6ea51483e95\"\u003e\u003ccode\u003e66ad1ea\u003c/code\u003e\u003c/a\u003e add MariaDB to README.md (\u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1181\"\u003e#1181\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/PyMySQL/PyMySQL/compare/v1.1.1...v1.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rdflib` from 7.1.4 to 7.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/RDFLib/rdflib/releases\"\u003erdflib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2025-09-19 RELEASE 7.2.1\u003c/h2\u003e\n\u003cp\u003eNew features:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCanonicalization is now optional in the longturtle serializer. When serializing with the \u003ccode\u003elongturtle\u003c/code\u003e format, set \u003ccode\u003ecanon=True\u003c/code\u003e to enable canonicalization.\u003c/li\u003e\n\u003cli\u003eGeneral type hints enhancements\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed deskolemization of literals\u003c/li\u003e\n\u003cli\u003eFixed round-tripping of floats in N3 - floating point and scientific notation handling\u003c/li\u003e\n\u003cli\u003eFixed CI validation workflow, including regressions in tests\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eLiteral.toPython\u003c/code\u003e date conversion for gYear/gYearMonth\u003c/li\u003e\n\u003cli\u003eFixed namespace prefixes in longturtle serialization\u003c/li\u003e\n\u003cli\u003eFixed missing dot in RDF patch serialization\u003c/li\u003e\n\u003cli\u003ePrevious RDFLib releases required all downstream projects to specify \u0026lt;4.0.0. This release relaxes this requirement to allow Python 3.8.1 and later.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee the \u003ca href=\"https://github.com/RDFLib/rdflib/blob/main/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for more details.\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/RDFLib/rdflib/blob/main/CHANGELOG.md\"\u003erdflib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2025-09-19 RELEASE 7.2.1\u003c/h2\u003e\n\u003cp\u003eA tiny clean up release.\u003c/p\u003e\n\u003cp\u003eFixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePrevious RDFLib releases required all downstream projects to specify \u0026lt;4.0.0. This release relaxes this requirement to allow Python 3.8.1 and later.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2025-09-19 RELEASE 7.2.0\u003c/h2\u003e\n\u003cp\u003eThis release contains a number of fixes and improvements to RDFLib.\u003c/p\u003e\n\u003cp\u003eNew features:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCanonicalization is now optional in the longturtle serializer. When serializing with the \u003ccode\u003elongturtle\u003c/code\u003e format, set \u003ccode\u003ecanon=True\u003c/code\u003e to enable canonicalization.\u003c/li\u003e\n\u003cli\u003eGeneral type hints enhancements\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed deskolemization of literals\u003c/li\u003e\n\u003cli\u003eFixed round-tripping of floats in N3 - floating point and scientific notation handling\u003c/li\u003e\n\u003cli\u003eFixed CI validation workflow, including regressions in tests\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eLiteral.toPython\u003c/code\u003e date conversion for gYear/gYearMonth\u003c/li\u003e\n\u003cli\u003eFixed namespace prefixes in longturtle serialization\u003c/li\u003e\n\u003cli\u003eFixed missing dot in RDF patch serialization\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ePRs merged:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e2025-09-18 - [7.x] Fix incorrect deskolemization of literals\n[PR \u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3223\"\u003e#3223\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/pull/3223\"\u003eRDFLib/rdflib#3223\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2025-09-18 - Fix incorrect deskolemization of literals\n[PR \u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3127\"\u003e#3127\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/pull/3127\"\u003eRDFLib/rdflib#3127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2025-09-18 - notation3.py: don't normalize float representation\n[PR \u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3020\"\u003e#3020\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/pull/3020\"\u003eRDFLib/rdflib#3020\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2025-09-18 - [7.x] notation3.py: don't normalize float representation\n[PR \u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3221\"\u003e#3221\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/pull/3221\"\u003eRDFLib/rdflib#3221\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2025-09-18 - Merge 7-maintenance branch into 7.x\n[PR \u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3222\"\u003e#3222\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/pull/3222\"\u003eRDFLib/rdflib#3222\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2025-09-17 - Allow lxml 6\n[PR \u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3219\"\u003e#3219\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/pull/3219\"\u003eRDFLib/rdflib#3219\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2025-09-16 - ci: fix firejail command for poetry 2.1.0\n[PR \u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3218\"\u003e#3218\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/pull/3218\"\u003eRDFLib/rdflib#3218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2025-09-16 - chore: address dependabot security vulnerabilities\n[PR \u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3210\"\u003e#3210\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/pull/3210\"\u003eRDFLib/rdflib#3210\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2025-09-09 - Merge 7-maintenance changes into main\n[PR \u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3202\"\u003e#3202\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/pull/3202\"\u003eRDFLib/rdflib#3202\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2025-09-08 - feat: canonicalization with longturtle serializer now optional\n[PR \u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3197\"\u003e#3197\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/pull/3197\"\u003eRDFLib/rdflib#3197\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2025-09-03 - Specify \u003ccode\u003eOptional\u003c/code\u003e parameters in \u003ccode\u003eGraph.triples_choices\u003c/code\u003e\n[PR \u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3075\"\u003e#3075\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/pull/3075\"\u003eRDFLib/rdflib#3075\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2025-08-29 - Fix failing webtest\n[PR \u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3194\"\u003e#3194\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/pull/3194\"\u003eRDFLib/rdflib#3194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2025-08-29 - Revert \u0026quot;remove old hacks against 2to3 (\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3076\"\u003e#3076\u003c/a\u003e)\u0026quot;\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RDFLib/rdflib/commit/856c1af6b59f919d0d1230cb718c72f1415caf23\"\u003e\u003ccode\u003e856c1af\u003c/code\u003e\u003c/a\u003e chore: prep 7.2.1 release (\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3225\"\u003e#3225\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RDFLib/rdflib/commit/19a0ccf014e2661aa04c2efde925f83ca6b54409\"\u003e\u003ccode\u003e19a0ccf\u003c/code\u003e\u003c/a\u003e chore: prep 7.2.0 release (\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3224\"\u003e#3224\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RDFLib/rdflib/commit/f276bd6cc70bfaf3719f7eb9d787e6d794b5a3dd\"\u003e\u003ccode\u003ef276bd6\u003c/code\u003e\u003c/a\u003e Fix incorrect deskolemization of literals (\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3127\"\u003e#3127\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3223\"\u003e#3223\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RDFLib/rdflib/commit/747b8d30e6ca12c12fd895f7ae44685a828ff33a\"\u003e\u003ccode\u003e747b8d3\u003c/code\u003e\u003c/a\u003e [7.x] notation3.py: don't normalize float representation (\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3221\"\u003e#3221\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RDFLib/rdflib/commit/c580c00dbe76b6c6fb201448e4e81887eb88b40b\"\u003e\u003ccode\u003ec580c00\u003c/code\u003e\u003c/a\u003e Merge 7-maintenance branch into 7.x (\u003ca href=\"https://redirect.github.com/RDFLib/rdflib/issues/3222\"\u003e#3222\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/RDFLib/rdflib/compare/7.1.4...7.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `holidays` from 0.77 to 0.81\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vacanza/holidays/releases\"\u003eholidays's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.81\u003c/h2\u003e\n\u003ch1\u003eVersion 0.81\u003c/h1\u003e\n\u003cp\u003eReleased September 15, 2025\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Saint Helena, Ascension and Tristan da Cunha holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2820\"\u003e#2820\u003c/a\u003e by \u003ca href=\"https://github.com/Abheelash-Mishra\"\u003e\u003ccode\u003e@​Abheelash-Mishra\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Sudan holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2854\"\u003e#2854\u003c/a\u003e by \u003ca href=\"https://github.com/anshonweb\"\u003e\u003ccode\u003e@​anshonweb\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Chinese Lunisolar calendar: extend Winter Solstice support (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2927\"\u003e#2927\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Philippines holidays: add 2026 holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2912\"\u003e#2912\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Spain holidays: add Dec 3 holiday in Navarre (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2895\"\u003e#2895\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate countries with Eastern holidays: add estimated holidays labels (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2924\"\u003e#2924\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate release notes generator (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2929\"\u003e#2929\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplify N802 suppression for \u003ccode\u003ecommon.py\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2880\"\u003e#2880\u003c/a\u003e by \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/vacanza/holidays/compare/v0.80...v0.81\"\u003ehttps://github.com/vacanza/holidays/compare/v0.80...v0.81\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.80\u003c/h2\u003e\n\u003ch1\u003eVersion 0.80\u003c/h1\u003e\n\u003cp\u003eReleased September 1, 2025\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRefactor Australia holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2828\"\u003e#2828\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor Macau holidays: holiday categories standardization (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2868\"\u003e#2868\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Comoros holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2827\"\u003e#2827\u003c/a\u003e by \u003ca href=\"https://github.com/Prateekshit73\"\u003e\u003ccode\u003e@​Prateekshit73\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/prateekshit-v\"\u003e\u003ccode\u003e@​prateekshit-v\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Eritrea holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2783\"\u003e#2783\u003c/a\u003e by \u003ca href=\"https://github.com/Prateekshit73\"\u003e\u003ccode\u003e@​Prateekshit73\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/prateekshit-v\"\u003e\u003ccode\u003e@​prateekshit-v\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd National Stock Exchange of India (NSE) holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2834\"\u003e#2834\u003c/a\u003e by \u003ca href=\"https://github.com/saheelsapovadia\"\u003e\u003ccode\u003e@​saheelsapovadia\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Rwanda holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2792\"\u003e#2792\u003c/a\u003e by \u003ca href=\"https://github.com/Prateekshit73\"\u003e\u003ccode\u003e@​Prateekshit73\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/prateekshit-v\"\u003e\u003ccode\u003e@​prateekshit-v\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Somalia holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2848\"\u003e#2848\u003c/a\u003e by \u003ca href=\"https://github.com/Prateekshit73\"\u003e\u003ccode\u003e@​Prateekshit73\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/prateekshit-v\"\u003e\u003ccode\u003e@​prateekshit-v\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd South Sudan holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2831\"\u003e#2831\u003c/a\u003e by \u003ca href=\"https://github.com/Prateekshit73\"\u003e\u003ccode\u003e@​Prateekshit73\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/prateekshit-v\"\u003e\u003ccode\u003e@​prateekshit-v\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Tajikistan holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2852\"\u003e#2852\u003c/a\u003e by \u003ca href=\"https://github.com/Wasif-Shahzad\"\u003e\u003ccode\u003e@​Wasif-Shahzad\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Uganda holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2833\"\u003e#2833\u003c/a\u003e by \u003ca href=\"https://github.com/Prateekshit73\"\u003e\u003ccode\u003e@​Prateekshit73\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/prateekshit-v\"\u003e\u003ccode\u003e@​prateekshit-v\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eestimated_label\u003c/code\u003e to all countries with Islamic holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2860\"\u003e#2860\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Hindu Lunisolar calendar (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2871\"\u003e#2871\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Islamic holidays tests (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2849\"\u003e#2849\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eTestAllInSameYear\u003c/code\u003e methods (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2877\"\u003e#2877\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Bosnia and Herzegovina holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2869\"\u003e#2869\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Burundi holidays, add l10n support (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2843\"\u003e#2843\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Canada holidays: add National Day for Truth and Reconciliation in MB (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2829\"\u003e#2829\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Georgia holidays: add August 29, 2025 special holiday (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2863\"\u003e#2863\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Guinea-Bissau holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2859\"\u003e#2859\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Nigeria holidays, add l10n support (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2874\"\u003e#2874\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Singapore holidays: remove duplicate holidays label assignment (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2844\"\u003e#2844\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Tanzania holidays: extend holidays support to 1965 (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2821\"\u003e#2821\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003ecommon::CommonTests\u003c/code\u003e: expand label tests to financial entities (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2876\"\u003e#2876\u003c/a\u003e by \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd .zenodo.json (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2870\"\u003e#2870\u003c/a\u003e by \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ecommon::TestCase::assertHolidayNameCount\u003c/code\u003e method (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2873\"\u003e#2873\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd metadata package version mismatch hint (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2846\"\u003e#2846\u003c/a\u003e by \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd missing docstring for \u003ccode\u003e__init__\u003c/code\u003e method (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2850\"\u003e#2850\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpose entity additional codes (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2879\"\u003e#2879\u003c/a\u003e by \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTest Case Name Standardization (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2853\"\u003e#2853\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vacanza/holidays/blob/dev/CHANGES.md\"\u003eholidays's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eVersion 0.81\u003c/h1\u003e\n\u003cp\u003eReleased September 15, 2025\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Saint Helena, Ascension and Tristan da Cunha holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2820\"\u003e#2820\u003c/a\u003e by \u003ca href=\"https://github.com/Abheelash-Mishra\"\u003e\u003ccode\u003e@​Abheelash-Mishra\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Sudan holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2854\"\u003e#2854\u003c/a\u003e by \u003ca href=\"https://github.com/anshonweb\"\u003e\u003ccode\u003e@​anshonweb\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Chinese Lunisolar calendar: extend Winter Solstice support (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2927\"\u003e#2927\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Philippines holidays: add 2026 holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2912\"\u003e#2912\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Spain holidays: add Dec 3 holiday in Navarre (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2895\"\u003e#2895\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate countries with Eastern holidays: add estimated holidays labels (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2924\"\u003e#2924\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate release notes generator (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2929\"\u003e#2929\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplify N802 suppression for \u003ccode\u003ecommon.py\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2880\"\u003e#2880\u003c/a\u003e by \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eVersion 0.80\u003c/h1\u003e\n\u003cp\u003eReleased September 1, 2025\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRefactor Australia holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2828\"\u003e#2828\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor Macau holidays: holiday categories standardization (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2868\"\u003e#2868\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Comoros holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2827\"\u003e#2827\u003c/a\u003e by \u003ca href=\"https://github.com/Prateekshit73\"\u003e\u003ccode\u003e@​Prateekshit73\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/prateekshit-v\"\u003e\u003ccode\u003e@​prateekshit-v\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Eritrea holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2783\"\u003e#2783\u003c/a\u003e by \u003ca href=\"https://github.com/Prateekshit73\"\u003e\u003ccode\u003e@​Prateekshit73\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/prateekshit-v\"\u003e\u003ccode\u003e@​prateekshit-v\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd National Stock Exchange of India (NSE) holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2834\"\u003e#2834\u003c/a\u003e by \u003ca href=\"https://github.com/saheelsapovadia\"\u003e\u003ccode\u003e@​saheelsapovadia\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Rwanda holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2792\"\u003e#2792\u003c/a\u003e by \u003ca href=\"https://github.com/Prateekshit73\"\u003e\u003ccode\u003e@​Prateekshit73\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/prateekshit-v\"\u003e\u003ccode\u003e@​prateekshit-v\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Somalia holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2848\"\u003e#2848\u003c/a\u003e by \u003ca href=\"https://github.com/Prateekshit73\"\u003e\u003ccode\u003e@​Prateekshit73\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/prateekshit-v\"\u003e\u003ccode\u003e@​prateekshit-v\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd South Sudan holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2831\"\u003e#2831\u003c/a\u003e by \u003ca href=\"https://github.com/Prateekshit73\"\u003e\u003ccode\u003e@​Prateekshit73\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/prateekshit-v\"\u003e\u003ccode\u003e@​prateekshit-v\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Tajikistan holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2852\"\u003e#2852\u003c/a\u003e by \u003ca href=\"https://github.com/Wasif-Shahzad\"\u003e\u003ccode\u003e@​Wasif-Shahzad\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Uganda holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2833\"\u003e#2833\u003c/a\u003e by \u003ca href=\"https://github.com/Prateekshit73\"\u003e\u003ccode\u003e@​Prateekshit73\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/prateekshit-v\"\u003e\u003ccode\u003e@​prateekshit-v\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eestimated_label\u003c/code\u003e to all countries with Islamic holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2860\"\u003e#2860\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Hindu Lunisolar calendar (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2871\"\u003e#2871\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Islamic holidays tests (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2849\"\u003e#2849\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eTestAllInSameYear\u003c/code\u003e methods (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2877\"\u003e#2877\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Bosnia and Herzegovina holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2869\"\u003e#2869\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Burundi holidays, add l10n support (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2843\"\u003e#2843\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Canada holidays: add National Day for Truth and Reconciliation in MB (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2829\"\u003e#2829\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Georgia holidays: add August 29, 2025 special holiday (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2863\"\u003e#2863\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Guinea-Bissau holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2859\"\u003e#2859\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Nigeria holidays, add l10n support (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2874\"\u003e#2874\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Singapore holidays: remove duplicate holidays label assignment (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2844\"\u003e#2844\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Tanzania holidays: extend holidays support to 1965 (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2821\"\u003e#2821\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003ecommon::CommonTests\u003c/code\u003e: expand label tests to financial entities (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2876\"\u003e#2876\u003c/a\u003e by \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd .zenodo.json (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2870\"\u003e#2870\u003c/a\u003e by \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ecommon::TestCase::assertHolidayNameCount\u003c/code\u003e method (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2873\"\u003e#2873\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd metadata package version mismatch hint (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2846\"\u003e#2846\u003c/a\u003e by \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd missing docstring for \u003ccode\u003e__init__\u003c/code\u003e method (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2850\"\u003e#2850\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpose entity additional codes (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2879\"\u003e#2879\u003c/a\u003e by \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTest Case Name Standardization (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2853\"\u003e#2853\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUnify imports (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2845\"\u003e#2845\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse aux repository data for downloads badge (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2832\"\u003e#2832\u003c/a\u003e by \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eVersion 0.79\u003c/h1\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vacanza/holidays/commit/0234c7dea5b46ce3fe28e3ec1a19a1a4a8521017\"\u003e\u003ccode\u003e0234c7d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2930\"\u003e#2930\u003c/a\u003e from vacanza/dev\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vacanza/holidays/commit/f3d765ee6f9a2ab03b2957a77128d90032e13b34\"\u003e\u003ccode\u003ef3d765e\u003c/code\u003e\u003c/a\u003e Finalize v0.81\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vacanza/holidays/commit/ba0d5133a0e62b9c36028852fe096e8ef5c79582\"\u003e\u003ccode\u003eba0d513\u003c/code\u003e\u003c/a\u003e Update release notes generator (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2929\"\u003e#2929\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vacanza/holidays/commit/02603f25f1fd1bc1d360e2c4abcd0b7136e4d33f\"\u003e\u003ccode\u003e02603f2\u003c/code\u003e\u003c/a\u003e Update Chinese Lunisolar calendar: extend Winter Solstice support (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2927\"\u003e#2927\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vacanza/holidays/commit/b1728bf912418000d300e0a9efa71802ba7e005d\"\u003e\u003ccode\u003eb1728bf\u003c/code\u003e\u003c/a\u003e Update countries with Eastern holidays: add estimated holidays labels (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2924\"\u003e#2924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vacanza/holidays/commit/9068084b799e7ff7f88d9810c02f8895714f356f\"\u003e\u003ccode\u003e9068084\u003c/code\u003e\u003c/a\u003e chore: Update snapshots (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2926\"\u003e#2926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vacanza/holidays/commit/342b9a7df4dd53d44f16e16308e71d3615827941\"\u003e\u003ccode\u003e342b9a7\u003c/code\u003e\u003c/a\u003e Add Sudan holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2854\"\u003e#2854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vacanza/holidays/commit/a6840fc9cf24adcfbc732720de18838d4105868a\"\u003e\u003ccode\u003ea6840fc\u003c/code\u003e\u003c/a\u003e Update pre-commit hooks (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2925\"\u003e#2925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vacanza/holidays/commit/0128617d51501ebde0fa7f4b5360b96ab546d3a9\"\u003e\u003ccode\u003e0128617\u003c/code\u003e\u003c/a\u003e Bump actions/setup-python from 5.6.0 to 6.0.0 (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2918\"\u003e#2918\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vacanza/holidays/commit/e2f7410476b88bef4108d7f7bebceb872e37eca9\"\u003e\u003ccode\u003ee2f7410\u003c/code\u003e\u003c/a\u003e Update pre-commit hooks (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2922\"\u003e#2922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vacanza/holidays/compare/v0.77...v0.81\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cheroot` from 10.0.1 to 11.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/cherrypy/cheroot/releases\"\u003echeroot's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev11.0.0\u003c/h2\u003e\n\u003ch2\u003e📝 Release notes\u003c/h2\u003e\n\u003cp\u003e📦 PyPI page: \u003ca href=\"https://pypi.org/project/cheroot/11.0.0\"\u003ehttps://pypi.org/project/cheroot/11.0.0\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e🌱 v11.0.0 is marked as a stable release.\u003c/p\u003e\n\u003cp\u003e🔗 This release has been produced by  the following workflow run: \u003ca href=\"https://github.com/cherrypy/cheroot/actions/runs/17894178348\"\u003ehttps://github.com/cherrypy/cheroot/actions/runs/17894178348\u003c/a\u003e\u003c/p\u003e\n\u003ch1\u003ev11.0.0\u003c/h1\u003e\n\u003cp\u003e\u003cem\u003e(2025-09-21)\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eWhen load is too high, Cheroot now responds with a 503 Service\nUnavailable HTTP error. Previously it silently closed the connection.\u003c/p\u003e\n\u003cp\u003e-- by \u003ca href=\"https://github.com/itamarst\"\u003e\u003ccode\u003e@​itamarst\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRelated issues and pull requests on GitHub:\u003c/em\u003e \u003ca href=\"https://redirect.github.com/cherrypy/cheroot/issues/745\"\u003e#745\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRemovals and backward incompatible breaking changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eCheroot dropped support for Python 3.6 and 3.7. It now requires Python\n3.8 or later.\u003c/p\u003e\n\u003cp\u003e-- by \u003ca href=\"https://github.com/jaraco\"\u003e\u003ccode\u003e@​jaraco\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRelated issues and pull requests on GitHub:\u003c/em\u003e \u003ca href=\"https://redirect.github.com/cherrypy/cheroot/issues/565\"\u003e#565\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/cherrypy/cheroot/issues/633\"\u003e#633\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRelated commits on GitHub:\u003c/em\u003e\n\u003ca href=\"https://github.com/cherrypy/cheroot/commit/437863ee\"\u003ehttps://github.com/cherrypy/cheroot/commit/437863ee\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePackaging updates and notes for downstreams\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eDeclared Python 3.12 and Python 3.13 as supported officially -- by\n\u003ca href=\"https://github.com/webknjaz\"\u003e\u003ccode\u003e@​webknjaz\u003c/code\u003e\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRelated issues and pull requests on GitHub:\u003c/em\u003e \u003ca href=\"https://redirect.github.com/cherrypy/cheroot/issues/696\"\u003e#696\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRelated commits on GitHub:\u003c/em\u003e\n\u003ca href=\"https://github.com/cherrypy/cheroot/commit/5db4f634\"\u003ehttps://github.com/cherrypy/cheroot/commit/5db4f634\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe minimum version of the \u003ccode\u003esetuptools-scm\u003c/code\u003e build dependency has been\nset to 7. The Git archives are now produced by it natively, instead of\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/cherrypy/cheroot/blob/main/CHANGES.rst\"\u003echeroot's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev11.0.0\u003c/h1\u003e\n\u003cp\u003e\u003cem\u003e(2025-09-21)\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eWhen load is too high, Cheroot now responds with a 503 Service Unavailable HTTP error.\nPreviously it silently closed the connection.\u003c/p\u003e\n\u003cp\u003e-- by :user:\u003ccode\u003eitamarst\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRelated issues and pull requests on GitHub:\u003c/em\u003e\n:issue:\u003ccode\u003e745\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRemovals and backward incompatible breaking changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eCheroot dropped support for Python 3.6 and 3.7.\nIt now requires Python 3.8 or later.\u003c/p\u003e\n\u003cp\u003e-- by :user:\u003ccode\u003ejaraco\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRelated issues and pull requests on GitHub:\u003c/em\u003e\n:issue:\u003ccode\u003e565\u003c/code\u003e, :issue:\u003ccode\u003e633\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRelated commits on GitHub:\u003c/em\u003e\n:commit:\u003ccode\u003e437863ee\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePackaging updates and notes for downstreams\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eDeclared Python 3.12 and Python 3.13 as supported officially\n-- by :user:\u003ccode\u003ewebknjaz\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRelated issues and pull requests on GitHub:\u003c/em\u003e\n:issue:\u003ccode\u003e696\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRelated commits on GitHub:\u003c/em\u003e\n:commit:\u003ccode\u003e5db4f634\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe minimum version of the \u003ccode\u003esetuptools-scm\u003c/code\u003e build dependency\nhas been set to 7. The Git archives are now produced by it\nnatively, instead of relying on a third party plugin which is\nno longer being used.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cherrypy/cheroot/commit/50b1f1d72c90be6fad4c2a53cf57be6ad98d03cc\"\u003e\u003ccode\u003e50b1f1d\u003c/code\u003e\u003c/a\u003e Generate a change log entry for v11.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cherrypy/cheroot/commit/4e9b36b99f0ac96d1a99c11817587b2a09166432\"\u003e\u003ccode\u003e4e9b36b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/cherrypy/cheroot/issues/759\"\u003e#759\u003c/a\u003e from cherrypy/maintenance/pip-tools-constraint-lockfiles\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cherrypy/cheroot/commit/b4a28ae4b7ac41047f294a19a01b77a6f874841b\"\u003e\u003ccode\u003eb4a28ae\u003c/code\u003e\u003c/a\u003e Update tox-pypy311-pp311-win32-amd64 constraints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cherrypy/cheroot/commit/a9fd2ba845417bd0a42288dd3695f296a7dcf14f\"\u003e\u003ccode\u003ea9fd2ba\u003c/code\u003e\u003c/a\u003e Update tox-pypy311-pp311-linux-x86_64 constraints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cherrypy/cheroot/commit/27a91155b671f56e47e199f794420982ebc9475a\"\u003e\u003ccode\u003e27a9115\u003c/code\u003e\u003c/a\u003e Update tox-pypy311-pp311-linux-aarch64 constraints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cherrypy/cheroot/commit/5fdcdd67817aed949827727376a31f9b2f533106\"\u003e\u003ccode\u003e5fdcdd6\u003c/code\u003e\u003c/a\u003e Update tox-pypy311-pp311-darwin-x86_64 constraints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cherrypy/cheroot/commit/c1cbafca5bf4490b70a50a80d4b5325d0accbb8c\"\u003e\u003ccode\u003ec1cbafc\u003c/code\u003e\u003c/a\u003e Update tox-pypy311-pp311-darwin-arm64 constraints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cherrypy/cheroot/commit/93faa537f8631133f44bd278c69bc817223c7a0a\"\u003e\u003ccode\u003e93faa53\u003c/code\u003e\u003c/a\u003e Update tox-py39-cp39-win32-amd64 constraints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cherrypy/cheroot/commit/36482bb6930628f5598afb2e0aa9fc1717dae6eb\"\u003e\u003ccode\u003e36482bb\u003c/code\u003e\u003c/a\u003e Update tox-py39-cp39-linux-x86_64 constraints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cherrypy/cheroot/commit/a1b2a20ccc095ff0c925b8581985c4f5d915287e\"\u003e\u003ccode\u003ea1b2a20\u003c/code\u003e\u003c/a\u003e Update tox-py39-cp39-linux-aarch64 constraints\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/cherrypy/cheroot/compare/v10.0.1...v11.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tornado` from 6.5.1 to 6.5.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tornadoweb/tornado/blob/master/docs/releases.rst\"\u003etornado's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eRelease notes\u003c/h1\u003e\n\u003cp\u003e.. toctree::\n:maxdepth: 2\u003c/p\u003e\n\u003cp\u003ereleases/v6.5.2\nreleases/v6.5.1\nreleases/v6.5.0\nreleases/v6.4.2\nreleases/v6.4.1\nreleases/v6.4.0\nreleases/v6.3.3\nreleases/v6.3.2\nreleases/v6.3.1\nreleases/v6.3.0\nreleases/v6.2.0\nreleases/v6.1.0\nreleases/v6.0.4\nreleases/v6.0.3\nreleases/v6.0.2\nreleases/v6.0.1\nreleases/v6.0.0\nreleases/v5.1.1\nreleases/v5.1.0\nreleases/v5.0.2\nreleases/v5.0.1\nreleases/v5.0.0\nreleases/v4.5.3\nreleases/v4.5.2\nreleases/v4.5.1\nreleases/v4.5.0\nreleases/v4.4.3\nreleases/v4.4.2\nreleases/v4.4.1\nreleases/v4.4.0\nreleases/v4.3.0\nreleases/v4.2.1\nreleases/v4.2.0\nreleases/v4.1.0\nreleases/v4.0.2\nreleases/v4.0.1\nreleases/v4.0.0\nreleases/v3.2.2\nreleases/v3.2.1\nreleases/v3.2.0\nreleases/v3.1.1\nreleases/v3.1.0\nreleases/v3.0.2\nreleases/v3.0.1\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/547e6d86972238f1f5333a85f12b17fb33626899\"\u003e\u003ccode\u003e547e6d8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/tornadoweb/tornado/issues/3529\"\u003e#3529\u003c/a\u003e from bdarnell/relnotes-652\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/be9c374b2ea5e3d6c988c7ede8d284a649cfec37\"\u003e\u003ccode\u003ebe9c374\u003c/code\u003e\u003c/a\u003e Release notes for 6.5.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/8cbc4bfa53874a5dfa7b4bc50971d2ee21baf2d2\"\u003e\u003ccode\u003e8cbc4bf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/tornadoweb/tornado/issues/3527\"\u003e#3527\u003c/a\u003e from bdarnell/backports-6.5.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/c0d3e6df84344ec0aea2a9f9257aba76db78ca25\"\u003e\u003ccode\u003ec0d3e6d\u003c/code\u003e\u003c/a\u003e http1connection: Improve error logging for invalid host headers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/4ff5594ffd71c6dc9c82b0f003d63ed543a8e6d3\"\u003e\u003ccode\u003e4ff5594\u003c/code\u003e\u003c/a\u003e httputil: Restore the host argument to HTTPServerRequest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/b16916c8ad5836fd883452620020c8a1ea4addbf\"\u003e\u003ccode\u003eb16916c\u003c/code\u003e\u003c/a\u003e Add overloads to gen.multi() (\u003ca href=\"https://redirect.github.com/tornadoweb/tornado/issues/3515\"\u003e#3515\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/b5d2f3cc5eb20de1b0cf86e9e48e1624e42ce13b\"\u003e\u003ccode\u003eb5d2f3c\u003c/code\u003e\u003c/a\u003e httputil: Remove a debug print left in by mistake\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/38c6f591d49a808e11bc801028611bcee6aa6bba\"\u003e\u003ccode\u003e38c6f59\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/tornadoweb/tornado/issues/3513\"\u003e#3513\u003c/a\u003e from oliver-sanders/3258.fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/3fc1d91bbbc6a11160528fffb11105998479a6ba\"\u003e\u003ccode\u003e3fc1d91\u003c/code\u003e\u003c/a\u003e websocket: Expand testing of next-ping calculation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/56fc23fe20b4f19ac6cfbbb25611ad692e45082b\"\u003e\u003ccode\u003e56fc23f\u003c/code\u003e\u003c/a\u003e websocket_ping: fix ping interval with non-zero timeout and improve docs.\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tornadoweb/tornado/compare/v6.5.1...v6.5.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `setuptools-scm[toml]` to 9.2.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/setuptools-scm/releases\"\u003esetuptools-scm[toml]'s releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev9.2.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ereiterate version inference by \u003ca href=\"https://github.com/RonnyPfannschmidt\"\u003e\u003ccode\u003e@​RonnyPfannschmidt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/pull/1202\"\u003epypa/setuptools-scm#1202\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003esimple activation now requires a extra instead of setting up many pre-existing projects for failure/error\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pypa/setuptools-scm/compare/v9.1.1...v9.2.0\"\u003ehttps://github.com/pypa/setuptools-scm/compare/v9.1.1...v9.2.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/setuptools-scm/blob/main/CHANGELOG.md\"\u003esetuptools-scm[toml]'s changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev9.2.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eadd simplified activation via \u003ccode\u003esetuptools-scm[simple]\u003c/code\u003e extra\u003c/p\u003e\n\u003cp\u003eA new streamlined way to enable version inference without requiring a \u003ccode\u003e[tool.setuptools_scm]\u003c/code\u003e section.\nWhen \u003ccode\u003esetuptools-scm[simple]\u003c/code\u003e is in \u003ccode\u003ebuild-system.requires\u003c/code\u003e and \u003ccode\u003eversion\u003c/code\u003e is in \u003ccode\u003eproject.dynamic\u003c/code\u003e,\nversion inference is automatically enabled with default settings.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eremoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eunchecked simplified activation - too many projects use setups where it would fail\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003echanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erefine activation logic and add unittest for the relevant cases instead of trying to speedrun setuptools\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.1.1 (yanked)\u003c/h2\u003e\n\u003ch3\u003efixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/issues/1194\"\u003e#1194\u003c/a\u003e: correctly handle version keyword when pyproject metadata is missing\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.1.0 (yanked)\u003c/h2\u003e\n\u003ch3\u003efixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003ecomplete reiteration of the decision logic for enabling version inference on setuptools_scm\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eshared logic for the important parts\u003c/li\u003e\n\u003cli\u003eproper deferring based in precedence of finalize options vs version keyword\u003c/li\u003e\n\u003cli\u003eunittestable for the parsing parts and the decision steps\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.0.3 (yanked)\u003c/h2\u003e\n\u003ch3\u003efixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix 1184: verify version is dynamic if the dependency is used as indicator for enabling\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.0.2 (yanked)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix \u003ca hr...\n\n_Description has been truncated_","html_url":"https://github.com/acsone/Arelle/pull/332","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/acsone%2FArelle/issues/332","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/332/packages"}},{"old_version":"1.31.4","new_version":"1.31.5","update_type":"patch","path":"/data_management/opensearch_indexer","pr_created_at":"2025-09-15T20:24:20.000Z","version_change":"1.31.4 → 1.31.5","issue":{"uuid":"2830542089","node_id":"PR_kwDOKET2fs6otqUJ","number":1220,"state":"closed","title":"Bump pg8000 from 1.31.4 to 1.31.5 in /data_management/opensearch_indexer","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":"2025-09-15T20:27:57.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-09-15T20:24:20.000Z","updated_at":"2025-09-15T20:27:58.000Z","time_to_close":217,"merged_at":"2025-09-15T20:27:57.000Z","merged_by":"github-actions[bot]","closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"pg8000","old_version":"1.31.4","new_version":"1.31.5","repository_url":"https://github.com/tlocke/pg8000"}],"path":"/data_management/opensearch_indexer","ecosystem":"pip"},"body":"Bumps [pg8000](https://github.com/tlocke/pg8000) from 1.31.4 to 1.31.5.\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tlocke/pg8000/commits\"\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=pg8000\u0026package-manager=pip\u0026previous-version=1.31.4\u0026new-version=1.31.5)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/nationalarchives/da-ayr-beta-webapp/pull/1220","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/nationalarchives%2Fda-ayr-beta-webapp/issues/1220","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1220/packages"}},{"old_version":"1.31.4","new_version":"1.31.5","update_type":"patch","path":null,"pr_created_at":"2025-09-15T10:30:35.000Z","version_change":"1.31.4 → 1.31.5","issue":{"uuid":"3417332951","node_id":"PR_kwDODX3mAs6omofp","number":331,"state":"open","title":"Bump the python-dependencies group across 1 directory with 23 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":"NONE","state_reason":null,"created_at":"2025-09-15T10:30:35.000Z","updated_at":"2025-09-22T10:08:36.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"python-dependencies","update_count":23,"packages":[{"name":"jsonschema","old_version":"4.25.0","new_version":"4.25.1","repository_url":"https://github.com/python-jsonschema/jsonschema"},{"name":"pyparsing","old_version":"3.2.3","new_version":"3.2.4","repository_url":"https://github.com/pyparsing/pyparsing"},{"name":"typing-extensions","old_version":"4.14.1","new_version":"4.15.0","repository_url":"https://github.com/python/typing_extensions"},{"name":"pg8000","old_version":"1.31.4","new_version":"1.31.5","repository_url":"https://github.com/tlocke/pg8000"},{"name":"pymysql","old_version":"1.1.1","new_version":"1.1.2","repository_url":"https://github.com/PyMySQL/PyMySQL"},{"name":"holidays","old_version":"0.77","new_version":"0.80","repository_url":"https://github.com/vacanza/holidays"},{"name":"tornado","old_version":"6.5.1","new_version":"6.5.2","repository_url":"https://github.com/tornadoweb/tornado"},{"name":"filelock","old_version":"3.18.0","new_version":"3.19.1","repository_url":"https://github.com/tox-dev/py-filelock"},{"name":"regex","old_version":"2025.7.34","new_version":"2025.9.1","repository_url":"https://github.com/mrabarnett/mrab-regex"},{"name":"boto3","old_version":"1.40.1","new_version":"1.40.30","repository_url":"https://github.com/boto/boto3"},{"name":"pytest","old_version":"8.4.1","new_version":"8.4.2","repository_url":"https://github.com/pytest-dev/pytest"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [jsonschema](https://github.com/python-jsonschema/jsonschema), [pyparsing](https://github.com/pyparsing/pyparsing), [typing-extensions](https://github.com/python/typing_extensions), [pg8000](https://github.com/tlocke/pg8000), [pymysql](https://github.com/PyMySQL/PyMySQL), [holidays](https://github.com/vacanza/holidays), [tornado](https://github.com/tornadoweb/tornado), [setuptools-scm[toml]](https://github.com/pypa/setuptools-scm), [filelock](https://github.com/tox-dev/py-filelock), [regex](https://github.com/mrabarnett/mrab-regex), [boto3](https://github.com/boto/boto3), [pytest](https://github.com/pytest-dev/pytest), [requests](https://github.com/psf/requests), [mypy](https://github.com/python/mypy), [boto3-stubs](https://github.com/youtype/mypy_boto3_builder), [types-pymysql](https://github.com/typeshed-internal/stub_uploader), [types-openpyxl](https://github.com/typeshed-internal/stub_uploader), [types-python-dateutil](https://github.com/typeshed-internal/stub_uploader), [types-pytz](https://github.com/typeshed-internal/stub_uploader), [types-regex](https://github.com/typeshed-internal/stub_uploader), [types-simplejson](https://github.com/typeshed-internal/stub_uploader), [types-ujson](https://github.com/typeshed-internal/stub_uploader) and [ixbrl-viewer](https://github.com/Arelle/ixbrl-viewer) to permit the latest version.\nUpdates `jsonschema` from 4.25.0 to 4.25.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-jsonschema/jsonschema/releases\"\u003ejsonschema's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.25.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidator\u003c/code\u003e protocol init to match runtime by \u003ca href=\"https://github.com/sirosen\"\u003e\u003ccode\u003e@​sirosen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1396\"\u003epython-jsonschema/jsonschema#1396\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/python-jsonschema/jsonschema/compare/v4.25.0...v4.25.1\"\u003ehttps://github.com/python-jsonschema/jsonschema/compare/v4.25.0...v4.25.1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-jsonschema/jsonschema/blob/main/CHANGELOG.rst\"\u003ejsonschema's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev4.25.1\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix an incorrect required argument in the \u003ccode\u003eValidator\u003c/code\u003e protocol's type annotations (\u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1396\"\u003e#1396\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/331c38425519b69118d22ebe467ad230fb83a010\"\u003e\u003ccode\u003e331c384\u003c/code\u003e\u003c/a\u003e Add the fix to the changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/c1ec0a645e913e83de95995f6efbbd358676abf6\"\u003e\u003ccode\u003ec1ec0a6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1398\"\u003e#1398\u003c/a\u003e from python-jsonschema/dependabot/github_actions/ast...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/8e7d594faff13f8f663b306a0d86bea0ce5de6cb\"\u003e\u003ccode\u003e8e7d594\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1399\"\u003e#1399\u003c/a\u003e from python-jsonschema/dependabot/github_actions/act...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/460f4fae42664773160f56ccc843a4fcea34f7cf\"\u003e\u003ccode\u003e460f4fa\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1396\"\u003e#1396\u003c/a\u003e from sirosen/improve-protocol-init-signature\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/1e58409b71a9696b7bf9938ae8a3a48ef95ab29e\"\u003e\u003ccode\u003e1e58409\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] auto fixes from pre-commit.com hooks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/64bc2171624ef201bdbf35e47780348ce30935c5\"\u003e\u003ccode\u003e64bc217\u003c/code\u003e\u003c/a\u003e Add a typing test for the Validator protocol\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/6c25741bff889477680f9b0d1aa967ae35c38f43\"\u003e\u003ccode\u003e6c25741\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/bf603d59117f840916709fc87c6625df43d1fe72\"\u003e\u003ccode\u003ebf603d5\u003c/code\u003e\u003c/a\u003e Bump astral-sh/setup-uv from 6.4.3 to 6.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/a916d8f8253baa11bacc60f0868f0bab1e42d526\"\u003e\u003ccode\u003ea916d8f\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eValidator\u003c/code\u003e protocol init to match runtime\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/de60f18bd97395a52a11b561eb62963e0ffe9e71\"\u003e\u003ccode\u003ede60f18\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1397\"\u003e#1397\u003c/a\u003e from python-jsonschema/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-jsonschema/jsonschema/compare/v4.25.0...v4.25.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyparsing` from 3.2.3 to 3.2.4\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyparsing/pyparsing/blob/master/CHANGES\"\u003epyparsing's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.2.4 - September, 2025\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eBarring any catastrophic bugs in this release, this will be the last release in\nthe 3.2.x line. The next release, 3.3.0, will begin emitting \u003ccode\u003eDeprecationWarnings\u003c/code\u003e\nwhen the pre-PEP8 methods are used (see header notes above for more information,\nincluding available automation for converting any existing code using\npyparsing with the old names).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed bug when using a copy of a \u003ccode\u003eWord\u003c/code\u003e expression (either by using the explicit\n\u003ccode\u003ecopy()\u003c/code\u003e method, or attaching a results name), and setting a new expression name,\na raised \u003ccode\u003eParseException\u003c/code\u003e still used the original expression name. Also affected\n\u003ccode\u003eRegex\u003c/code\u003e expressions with \u003ccode\u003eas_match\u003c/code\u003e or \u003ccode\u003eas_group_list\u003c/code\u003e = True. Reported by\nWaqas Ilyas, in Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/612\"\u003e#612\u003c/a\u003e - good catch!\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed type annotation for \u003ccode\u003ereplace_with\u003c/code\u003e, to accept \u003ccode\u003eAny\u003c/code\u003e type. Fixes Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/602\"\u003e#602\u003c/a\u003e,\nreported by esquonk.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded locking around potential race condition in \u003ccode\u003eParserElement.reset_cache\u003c/code\u003e, as\nwell as other cache-related methods. Fixes Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/604\"\u003e#604\u003c/a\u003e, reported by CarlosDescalziIM.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSubstantial update to docstrings and doc generation in preparation for 3.3.0,\ngreat effort by FeRD, thanks!\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNotable addition by FeRD to convert docstring examples to work with doctest! This\nwas long overdue, thanks so much!\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/57923cd6a651d81c72b4e60b2baa02fbedf217ba\"\u003e\u003ccode\u003e57923cd\u003c/code\u003e\u003c/a\u003e Enable matplotlib unit tests for Python 3.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/fad1505f8ab91cc897f3067868e500257130e1a4\"\u003e\u003ccode\u003efad1505\u003c/code\u003e\u003c/a\u003e Update CHANGES file with thanks to FeRD for making the docstring examples doc...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/6622151cb440e85de9880ca6b7f3652e0962e315\"\u003e\u003ccode\u003e6622151\u003c/code\u003e\u003c/a\u003e Update tox.ini to add doctest testing for all Python versions 3.10 and later\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/e6ed66bdcd6da3ef63f4396565d860467efb5252\"\u003e\u003ccode\u003ee6ed66b\u003c/code\u003e\u003c/a\u003e Change doctest for LineStart to reflect latest implementation of \u0026quot;is this tok...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/23092da6569c97f30605ff2fe818fc15b3d12567\"\u003e\u003ccode\u003e23092da\u003c/code\u003e\u003c/a\u003e Doctests for pyparsing.exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/0bae3cdcc9274dbbcde5daabba739d3b1ddb49fc\"\u003e\u003ccode\u003e0bae3cd\u003c/code\u003e\u003c/a\u003e Doctests for pyparsing.common\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/98ec165d1a66247dbeffcf692643765648fb230f\"\u003e\u003ccode\u003e98ec165\u003c/code\u003e\u003c/a\u003e Docs: Add doctest-wrtiting documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/0b46bcd452f87c0f72007995af21a935b16b7123\"\u003e\u003ccode\u003e0b46bcd\u003c/code\u003e\u003c/a\u003e Doctests for pyparsing.core\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/9a898f595539169e4645f5de1703b78da9b1658c\"\u003e\u003ccode\u003e9a898f5\u003c/code\u003e\u003c/a\u003e Docs: Update API definition\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/45fd9722381b53e1205a0c190418b46721a224c9\"\u003e\u003ccode\u003e45fd972\u003c/code\u003e\u003c/a\u003e Doctests for pyparsing.helpers\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyparsing/pyparsing/compare/3.2.3...3.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `typing-extensions` from 4.14.1 to 4.15.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/typing_extensions/releases\"\u003etyping-extensions's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.15.0\u003c/h2\u003e\n\u003cp\u003eNo user-facing changes since 4.15.0rc1.\u003c/p\u003e\n\u003cp\u003eNew features since 4.14.1:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd the \u003ccode\u003e@typing_extensions.disjoint_base\u003c/code\u003e decorator, as specified\nin PEP 800. Patch by Jelle Zijlstra.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etyping_extensions.type_repr\u003c/code\u003e, a backport of\n\u003ca href=\"https://docs.python.org/3.14/library/annotationlib.html#annotationlib.type_repr\"\u003e\u003ccode\u003eannotationlib.type_repr\u003c/code\u003e\u003c/a\u003e,\nintroduced in Python 3.14 (CPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/124551\"\u003e#124551\u003c/a\u003e,\noriginally by Jelle Zijlstra). Patch by Semyon Moroz.\u003c/li\u003e\n\u003cli\u003eFix behavior of type params in \u003ccode\u003etyping_extensions.evaluate_forward_ref\u003c/code\u003e. Backport of\nCPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/137227\"\u003e#137227\u003c/a\u003e by Jelle Zijlstra.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.15.0rc1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd the \u003ccode\u003e@typing_extensions.disjoint_base\u003c/code\u003e decorator, as specified\nin PEP 800. Patch by Jelle Zijlstra.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etyping_extensions.type_repr\u003c/code\u003e, a backport of\n\u003ca href=\"https://docs.python.org/3.14/library/annotationlib.html#annotationlib.type_repr\"\u003e\u003ccode\u003eannotationlib.type_repr\u003c/code\u003e\u003c/a\u003e,\nintroduced in Python 3.14 (CPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/124551\"\u003e#124551\u003c/a\u003e,\noriginally by Jelle Zijlstra). Patch by Semyon Moroz.\u003c/li\u003e\n\u003cli\u003eFix behavior of type params in \u003ccode\u003etyping_extensions.evaluate_forward_ref\u003c/code\u003e. Backport of\nCPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/137227\"\u003e#137227\u003c/a\u003e by Jelle Zijlstra.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/typing_extensions/blob/main/CHANGELOG.md\"\u003etyping-extensions's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eRelease 4.15.0 (August 25, 2025)\u003c/h1\u003e\n\u003cp\u003eNo user-facing changes since 4.15.0rc1.\u003c/p\u003e\n\u003ch1\u003eRelease 4.15.0rc1 (August 18, 2025)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd the \u003ccode\u003e@typing_extensions.disjoint_base\u003c/code\u003e decorator, as specified\nin PEP 800. Patch by Jelle Zijlstra.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etyping_extensions.type_repr\u003c/code\u003e, a backport of\n\u003ca href=\"https://docs.python.org/3.14/library/annotationlib.html#annotationlib.type_repr\"\u003e\u003ccode\u003eannotationlib.type_repr\u003c/code\u003e\u003c/a\u003e,\nintroduced in Python 3.14 (CPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/124551\"\u003e#124551\u003c/a\u003e,\noriginally by Jelle Zijlstra). Patch by Semyon Moroz.\u003c/li\u003e\n\u003cli\u003eFix behavior of type params in \u003ccode\u003etyping_extensions.evaluate_forward_ref\u003c/code\u003e. Backport of\nCPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/137227\"\u003e#137227\u003c/a\u003e by Jelle Zijlstra.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/9d1637e264b5c1a6b7acee3e907015f89b20c2c9\"\u003e\u003ccode\u003e9d1637e\u003c/code\u003e\u003c/a\u003e Prepare release 4.15.0 (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/658\"\u003e#658\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/4bd67c5be5d9443c7d33c314d02a56ee125eb88d\"\u003e\u003ccode\u003e4bd67c5\u003c/code\u003e\u003c/a\u003e Coverage: exclude some noise (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/656\"\u003e#656\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/e589a26da73b075c5276bae40b86db1af0144f84\"\u003e\u003ccode\u003ee589a26\u003c/code\u003e\u003c/a\u003e Coverage: add detailed report to job summary (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/655\"\u003e#655\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/67d37fed1298e050f74d5acc95b2621bd37837ad\"\u003e\u003ccode\u003e67d37fe\u003c/code\u003e\u003c/a\u003e Coverage: Implement fail_under (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/654\"\u003e#654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/e9ae26f5286edee9262727755ecb9ad16e999192\"\u003e\u003ccode\u003ee9ae26f\u003c/code\u003e\u003c/a\u003e Don't delete previous coverage comment (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/653\"\u003e#653\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/ac80bb728a3006fc88ef7373b92f0c25cfcc7895\"\u003e\u003ccode\u003eac80bb7\u003c/code\u003e\u003c/a\u003e Add Coverage workflow (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/623\"\u003e#623\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/abaaafd98c1cc7e5baf098ec287a3d22cb339670\"\u003e\u003ccode\u003eabaaafd\u003c/code\u003e\u003c/a\u003e Prepare release 4.15.0rc1 (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/650\"\u003e#650\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/98104053ea8d49bcdd247804e5fa9f73136acbd4\"\u003e\u003ccode\u003e9810405\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003e@disjoint_base\u003c/code\u003e (PEP 800) (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/634\"\u003e#634\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/7ee9e05fd484d06899ce56e80f5e1aa4c760fc03\"\u003e\u003ccode\u003e7ee9e05\u003c/code\u003e\u003c/a\u003e Backport type_params fix from CPython (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/646\"\u003e#646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/1e8eb9c06ef51b3a1e1f05303a16feca13f5ed98\"\u003e\u003ccode\u003e1e8eb9c\u003c/code\u003e\u003c/a\u003e Do not refer to PEP 705 as being experimental (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/648\"\u003e#648\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python/typing_extensions/compare/4.14.1...4.15.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pg8000` from 1.31.4 to 1.31.5\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tlocke/pg8000/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pymysql` from 1.1.1 to 1.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/PyMySQL/PyMySQL/releases\"\u003epymysql's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.1.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent UnboundLocalError on MySQLResult initialization during SystemExit by \u003ca href=\"https://github.com/palm002\"\u003e\u003ccode\u003e@​palm002\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1174\"\u003ePyMySQL/PyMySQL#1174\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eremove mention of runtests.py by \u003ca href=\"https://github.com/cfbolz\"\u003e\u003ccode\u003e@​cfbolz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1182\"\u003ePyMySQL/PyMySQL#1182\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003emake sure to also close \u003ccode\u003econnection._rfile\u003c/code\u003e in \u003ccode\u003eConnection._force_close\u003c/code\u003e by \u003ca href=\"https://github.com/cfbolz\"\u003e\u003ccode\u003e@​cfbolz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1184\"\u003ePyMySQL/PyMySQL#1184\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded MariaDB in readme description (\u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1180\"\u003e#1180\u003c/a\u003e) by \u003ca href=\"https://github.com/theneuralcraftsman\"\u003e\u003ccode\u003e@​theneuralcraftsman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1186\"\u003ePyMySQL/PyMySQL#1186\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update dependency sphinx-rtd-theme to v3 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1189\"\u003ePyMySQL/PyMySQL#1189\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update dependency sphinx to v8 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1179\"\u003ePyMySQL/PyMySQL#1179\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for Python 3.13 by \u003ca href=\"https://github.com/Cycloctane\"\u003e\u003ccode\u003e@​Cycloctane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1190\"\u003ePyMySQL/PyMySQL#1190\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eResolve UTF8 charset case-insensitively by \u003ca href=\"https://github.com/ek247\"\u003e\u003ccode\u003e@​ek247\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1195\"\u003ePyMySQL/PyMySQL#1195\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupdate ci versions by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1196\"\u003ePyMySQL/PyMySQL#1196\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003euse KILL instead of COM_KILL for MySQL 8.4 support by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1197\"\u003ePyMySQL/PyMySQL#1197\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edisable VERIFY_X509_STRICT for Python 3.13 support by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1198\"\u003ePyMySQL/PyMySQL#1198\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update codecov/codecov-action action to v5 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1191\"\u003ePyMySQL/PyMySQL#1191\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd MariaDB to README.md by \u003ca href=\"https://github.com/robertsilen\"\u003e\u003ccode\u003e@​robertsilen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1181\"\u003ePyMySQL/PyMySQL#1181\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: use defer_connect instead of mock by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1199\"\u003ePyMySQL/PyMySQL#1199\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: use astral-sh/ruff-action by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1201\"\u003ePyMySQL/PyMySQL#1201\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix auth_switch_request handling by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1200\"\u003ePyMySQL/PyMySQL#1200\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: update test matrix by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1215\"\u003ePyMySQL/PyMySQL#1215\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: do not drop MySQL 5.7 test for now by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1216\"\u003ePyMySQL/PyMySQL#1216\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupdate README by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1217\"\u003ePyMySQL/PyMySQL#1217\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eprepare v1.1.2 by \u003ca href=\"https://github.com/methane\"\u003e\u003ccode\u003e@​methane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1218\"\u003ePyMySQL/PyMySQL#1218\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/palm002\"\u003e\u003ccode\u003e@​palm002\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1174\"\u003ePyMySQL/PyMySQL#1174\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cfbolz\"\u003e\u003ccode\u003e@​cfbolz\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1182\"\u003ePyMySQL/PyMySQL#1182\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theneuralcraftsman\"\u003e\u003ccode\u003e@​theneuralcraftsman\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1186\"\u003ePyMySQL/PyMySQL#1186\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Cycloctane\"\u003e\u003ccode\u003e@​Cycloctane\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1190\"\u003ePyMySQL/PyMySQL#1190\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ek247\"\u003e\u003ccode\u003e@​ek247\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1195\"\u003ePyMySQL/PyMySQL#1195\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/robertsilen\"\u003e\u003ccode\u003e@​robertsilen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1181\"\u003ePyMySQL/PyMySQL#1181\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/PyMySQL/PyMySQL/compare/v1.1.1...v1.1.2\"\u003ehttps://github.com/PyMySQL/PyMySQL/compare/v1.1.1...v1.1.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/PyMySQL/PyMySQL/blob/main/CHANGELOG.md\"\u003epymysql's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.1.2\u003c/h2\u003e\n\u003cp\u003eRelease date: 2025-08-24\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent UnboundLocalError in very rare situation. \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1174\"\u003ePyMySQL/PyMySQL#1174\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClose underlying \u003ccode\u003eSocketIO\u003c/code\u003e soon when Connection is closed for PyPy. \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1183\"\u003ePyMySQL/PyMySQL#1183\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix importing PyMySQL fail on CPython 3.13 when \u003ccode\u003egetpass.getuser()\u003c/code\u003e raises OSEError. \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1190\"\u003ePyMySQL/PyMySQL#1190\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake charset name \u0026quot;utf8\u0026quot; case insensitive. \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1195\"\u003ePyMySQL/PyMySQL#1195\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.kill()\u003c/code\u003e uses \u003ccode\u003eKILL\u003c/code\u003e query instead of \u003ccode\u003eCOM_KILL\u003c/code\u003ecommand to support MySQL 8.4. \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1197\"\u003ePyMySQL/PyMySQL#1197\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix SSL error on CPython 3.13 caused by strict TLS default setting. \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1198\"\u003ePyMySQL/PyMySQL#1198\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix auth switch request handling. \u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/pull/1200\"\u003ePyMySQL/PyMySQL#1200\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/PyMySQL/PyMySQL/commit/d7bb777e503d82bf2496113f07dd4ab249615efc\"\u003e\u003ccode\u003ed7bb777\u003c/code\u003e\u003c/a\u003e release v1.1.2 (\u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1218\"\u003e#1218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyMySQL/PyMySQL/commit/2559de5a6b01917622fc8986cd3dd8479d7d6e95\"\u003e\u003ccode\u003e2559de5\u003c/code\u003e\u003c/a\u003e update README (\u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1217\"\u003e#1217\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyMySQL/PyMySQL/commit/a388c3a5e274c3b8c03e5f1dcb442b4bb2f9bafd\"\u003e\u003ccode\u003ea388c3a\u003c/code\u003e\u003c/a\u003e ci: do not drop MySQL 5.7 test for now (\u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1216\"\u003e#1216\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyMySQL/PyMySQL/commit/9a3fe442edaca9db6da1809c82dbb6f4192440ee\"\u003e\u003ccode\u003e9a3fe44\u003c/code\u003e\u003c/a\u003e ci: update test matrix (\u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1215\"\u003e#1215\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyMySQL/PyMySQL/commit/bed601f04fb982c7c42c6ff7e56b7f749ac64cc9\"\u003e\u003ccode\u003ebed601f\u003c/code\u003e\u003c/a\u003e Add DeepWiki badge\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyMySQL/PyMySQL/commit/01af30fea0880c3b72e6c7b3b05d66a8c28ced7a\"\u003e\u003ccode\u003e01af30f\u003c/code\u003e\u003c/a\u003e fix auth_switch_request handling (\u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1200\"\u003e#1200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyMySQL/PyMySQL/commit/53efd1ec7f0e854abc62eb875b944f56bca29dd2\"\u003e\u003ccode\u003e53efd1e\u003c/code\u003e\u003c/a\u003e ci: use astral-sh/ruff-action (\u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1201\"\u003e#1201\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyMySQL/PyMySQL/commit/e88b729f8f1ddcf0851e0153188b016d0e9ec00c\"\u003e\u003ccode\u003ee88b729\u003c/code\u003e\u003c/a\u003e remove codeql and codesee actions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyMySQL/PyMySQL/commit/5f6533f883535b76c2d3a776c4746027027106f8\"\u003e\u003ccode\u003e5f6533f\u003c/code\u003e\u003c/a\u003e refactor: use defer_connect instead of mock (\u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1199\"\u003e#1199\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyMySQL/PyMySQL/commit/66ad1eaa47cfde19dfe01900ceb5f6ea51483e95\"\u003e\u003ccode\u003e66ad1ea\u003c/code\u003e\u003c/a\u003e add MariaDB to README.md (\u003ca href=\"https://redirect.github.com/PyMySQL/PyMySQL/issues/1181\"\u003e#1181\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/PyMySQL/PyMySQL/compare/v1.1.1...v1.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `holidays` from 0.77 to 0.80\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vacanza/holidays/releases\"\u003eholidays's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.80\u003c/h2\u003e\n\u003ch1\u003eVersion 0.80\u003c/h1\u003e\n\u003cp\u003eReleased September 1, 2025\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRefactor Australia holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2828\"\u003e#2828\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor Macau holidays: holiday categories standardization (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2868\"\u003e#2868\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Comoros holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2827\"\u003e#2827\u003c/a\u003e by \u003ca href=\"https://github.com/Prateekshit73\"\u003e\u003ccode\u003e@​Prateekshit73\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/prateekshit-v\"\u003e\u003ccode\u003e@​prateekshit-v\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Eritrea holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2783\"\u003e#2783\u003c/a\u003e by \u003ca href=\"https://github.com/Prateekshit73\"\u003e\u003ccode\u003e@​Prateekshit73\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/prateekshit-v\"\u003e\u003ccode\u003e@​prateekshit-v\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd National Stock Exchange of India (NSE) holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2834\"\u003e#2834\u003c/a\u003e by \u003ca href=\"https://github.com/saheelsapovadia\"\u003e\u003ccode\u003e@​saheelsapovadia\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Rwanda holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2792\"\u003e#2792\u003c/a\u003e by \u003ca href=\"https://github.com/Prateekshit73\"\u003e\u003ccode\u003e@​Prateekshit73\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/prateekshit-v\"\u003e\u003ccode\u003e@​prateekshit-v\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Somalia holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2848\"\u003e#2848\u003c/a\u003e by \u003ca href=\"https://github.com/Prateekshit73\"\u003e\u003ccode\u003e@​Prateekshit73\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/prateekshit-v\"\u003e\u003ccode\u003e@​prateekshit-v\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd South Sudan holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2831\"\u003e#2831\u003c/a\u003e by \u003ca href=\"https://github.com/Prateekshit73\"\u003e\u003ccode\u003e@​Prateekshit73\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/prateekshit-v\"\u003e\u003ccode\u003e@​prateekshit-v\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Tajikistan holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2852\"\u003e#2852\u003c/a\u003e by \u003ca href=\"https://github.com/Wasif-Shahzad\"\u003e\u003ccode\u003e@​Wasif-Shahzad\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Uganda holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2833\"\u003e#2833\u003c/a\u003e by \u003ca href=\"https://github.com/Prateekshit73\"\u003e\u003ccode\u003e@​Prateekshit73\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/prateekshit-v\"\u003e\u003ccode\u003e@​prateekshit-v\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eestimated_label\u003c/code\u003e to all countries with Islamic holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2860\"\u003e#2860\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Hindu Lunisolar calendar (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2871\"\u003e#2871\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Islamic holidays tests (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2849\"\u003e#2849\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eTestAllInSameYear\u003c/code\u003e methods (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2877\"\u003e#2877\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Bosnia and Herzegovina holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2869\"\u003e#2869\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Burundi holidays, add l10n support (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2843\"\u003e#2843\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Canada holidays: add National Day for Truth and Reconciliation in MB (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2829\"\u003e#2829\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Georgia holidays: add August 29, 2025 special holiday (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2863\"\u003e#2863\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Guinea-Bissau holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2859\"\u003e#2859\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Nigeria holidays, add l10n support (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2874\"\u003e#2874\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Singapore holidays: remove duplicate holidays label assignment (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2844\"\u003e#2844\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Tanzania holidays: extend holidays support to 1965 (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2821\"\u003e#2821\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003ecommon::CommonTests\u003c/code\u003e: expand label tests to financial entities (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2876\"\u003e#2876\u003c/a\u003e by \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd .zenodo.json (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2870\"\u003e#2870\u003c/a\u003e by \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ecommon::TestCase::assertHolidayNameCount\u003c/code\u003e method (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2873\"\u003e#2873\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd metadata package version mismatch hint (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2846\"\u003e#2846\u003c/a\u003e by \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd missing docstring for \u003ccode\u003e__init__\u003c/code\u003e method (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2850\"\u003e#2850\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpose entity additional codes (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2879\"\u003e#2879\u003c/a\u003e by \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTest Case Name Standardization (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2853\"\u003e#2853\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUnify imports (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2845\"\u003e#2845\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse aux repository data for downloads badge (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2832\"\u003e#2832\u003c/a\u003e by \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eNew Contributors\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/saheelsapovadia\"\u003e\u003ccode\u003e@​saheelsapovadia\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/vacanza/holidays/pull/2834\"\u003evacanza/holidays#2834\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/vacanza/holidays/compare/v0.79...v0.80\"\u003ehttps://github.com/vacanza/holidays/compare/v0.79...v0.80\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.79\u003c/h2\u003e\n\u003ch1\u003eVersion 0.79\u003c/h1\u003e\n\u003cp\u003eReleased August 18, 2025\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Bhutan holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2635\"\u003e#2635\u003c/a\u003e by \u003ca href=\"https://github.com/Prateekshit73\"\u003e\u003ccode\u003e@​Prateekshit73\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/code-with-aneesh\"\u003e\u003ccode\u003e@​code-with-aneesh\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/prateekshit-v\"\u003e\u003ccode\u003e@​prateekshit-v\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Gambia holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2777\"\u003e#2777\u003c/a\u003e by \u003ca href=\"https://github.com/kritibirda26\"\u003e\u003ccode\u003e@​kritibirda26\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Guinea-Bissau holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2776\"\u003e#2776\u003c/a\u003e by \u003ca href=\"https://github.com/kritibirda26\"\u003e\u003ccode\u003e@​kritibirda26\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/vacanza/holidays/blob/dev/CHANGES.md\"\u003eholidays's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eVersion 0.80\u003c/h1\u003e\n\u003cp\u003eReleased September 1, 2025\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRefactor Australia holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2828\"\u003e#2828\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor Macau holidays: holiday categories standardization (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2868\"\u003e#2868\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Comoros holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2827\"\u003e#2827\u003c/a\u003e by \u003ca href=\"https://github.com/Prateekshit73\"\u003e\u003ccode\u003e@​Prateekshit73\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/prateekshit-v\"\u003e\u003ccode\u003e@​prateekshit-v\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Eritrea holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2783\"\u003e#2783\u003c/a\u003e by \u003ca href=\"https://github.com/Prateekshit73\"\u003e\u003ccode\u003e@​Prateekshit73\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/prateekshit-v\"\u003e\u003ccode\u003e@​prateekshit-v\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd National Stock Exchange of India (NSE) holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2834\"\u003e#2834\u003c/a\u003e by \u003ca href=\"https://github.com/saheelsapovadia\"\u003e\u003ccode\u003e@​saheelsapovadia\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Rwanda holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2792\"\u003e#2792\u003c/a\u003e by \u003ca href=\"https://github.com/Prateekshit73\"\u003e\u003ccode\u003e@​Prateekshit73\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/prateekshit-v\"\u003e\u003ccode\u003e@​prateekshit-v\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Somalia holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2848\"\u003e#2848\u003c/a\u003e by \u003ca href=\"https://github.com/Prateekshit73\"\u003e\u003ccode\u003e@​Prateekshit73\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/prateekshit-v\"\u003e\u003ccode\u003e@​prateekshit-v\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd South Sudan holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2831\"\u003e#2831\u003c/a\u003e by \u003ca href=\"https://github.com/Prateekshit73\"\u003e\u003ccode\u003e@​Prateekshit73\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/prateekshit-v\"\u003e\u003ccode\u003e@​prateekshit-v\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Tajikistan holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2852\"\u003e#2852\u003c/a\u003e by \u003ca href=\"https://github.com/Wasif-Shahzad\"\u003e\u003ccode\u003e@​Wasif-Shahzad\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Uganda holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2833\"\u003e#2833\u003c/a\u003e by \u003ca href=\"https://github.com/Prateekshit73\"\u003e\u003ccode\u003e@​Prateekshit73\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/prateekshit-v\"\u003e\u003ccode\u003e@​prateekshit-v\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eestimated_label\u003c/code\u003e to all countries with Islamic holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2860\"\u003e#2860\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Hindu Lunisolar calendar (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2871\"\u003e#2871\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Islamic holidays tests (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2849\"\u003e#2849\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eTestAllInSameYear\u003c/code\u003e methods (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2877\"\u003e#2877\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Bosnia and Herzegovina holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2869\"\u003e#2869\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Burundi holidays, add l10n support (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2843\"\u003e#2843\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Canada holidays: add National Day for Truth and Reconciliation in MB (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2829\"\u003e#2829\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Georgia holidays: add August 29, 2025 special holiday (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2863\"\u003e#2863\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Guinea-Bissau holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2859\"\u003e#2859\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Nigeria holidays, add l10n support (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2874\"\u003e#2874\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Singapore holidays: remove duplicate holidays label assignment (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2844\"\u003e#2844\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Tanzania holidays: extend holidays support to 1965 (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2821\"\u003e#2821\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003ecommon::CommonTests\u003c/code\u003e: expand label tests to financial entities (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2876\"\u003e#2876\u003c/a\u003e by \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd .zenodo.json (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2870\"\u003e#2870\u003c/a\u003e by \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ecommon::TestCase::assertHolidayNameCount\u003c/code\u003e method (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2873\"\u003e#2873\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd metadata package version mismatch hint (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2846\"\u003e#2846\u003c/a\u003e by \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd missing docstring for \u003ccode\u003e__init__\u003c/code\u003e method (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2850\"\u003e#2850\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpose entity additional codes (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2879\"\u003e#2879\u003c/a\u003e by \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTest Case Name Standardization (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2853\"\u003e#2853\u003c/a\u003e by \u003ca href=\"https://github.com/PPsyrius\"\u003e\u003ccode\u003e@​PPsyrius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUnify imports (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2845\"\u003e#2845\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse aux repository data for downloads badge (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2832\"\u003e#2832\u003c/a\u003e by \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eVersion 0.79\u003c/h1\u003e\n\u003cp\u003eReleased August 18, 2025\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Bhutan holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2635\"\u003e#2635\u003c/a\u003e by \u003ca href=\"https://github.com/Prateekshit73\"\u003e\u003ccode\u003e@​Prateekshit73\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/code-with-aneesh\"\u003e\u003ccode\u003e@​code-with-aneesh\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/prateekshit-v\"\u003e\u003ccode\u003e@​prateekshit-v\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Gambia holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2777\"\u003e#2777\u003c/a\u003e by \u003ca href=\"https://github.com/kritibirda26\"\u003e\u003ccode\u003e@​kritibirda26\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Guinea-Bissau holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2776\"\u003e#2776\u003c/a\u003e by \u003ca href=\"https://github.com/kritibirda26\"\u003e\u003ccode\u003e@​kritibirda26\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Iraq holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2763\"\u003e#2763\u003c/a\u003e by \u003ca href=\"https://github.com/kritibirda26\"\u003e\u003ccode\u003e@​kritibirda26\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Kiribati holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2778\"\u003e#2778\u003c/a\u003e by \u003ca href=\"https://github.com/kritibirda26\"\u003e\u003ccode\u003e@​kritibirda26\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Liberia holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2774\"\u003e#2774\u003c/a\u003e by \u003ca href=\"https://github.com/kritibirda26\"\u003e\u003ccode\u003e@​kritibirda26\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd South Georgia and the South Sandwich Islands holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2761\"\u003e#2761\u003c/a\u003e by \u003ca href=\"https://github.com/tr33k\"\u003e\u003ccode\u003e@​tr33k\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Syrian Arab Republic holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2791\"\u003e#2791\u003c/a\u003e by \u003ca href=\"https://github.com/Wasif-Shahzad\"\u003e\u003ccode\u003e@​Wasif-Shahzad\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Turkmenistan holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2757\"\u003e#2757\u003c/a\u003e by \u003ca href=\"https://github.com/Wasif-Shahzad\"\u003e\u003ccode\u003e@​Wasif-Shahzad\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Azerbaijan holidays: fix observed Islamic holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2822\"\u003e#2822\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vacanza/holidays/commit/7d0b946dc1fcd6b3043cc229b649ea2efe61f334\"\u003e\u003ccode\u003e7d0b946\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2882\"\u003e#2882\u003c/a\u003e from vacanza/dev\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vacanza/holidays/commit/b9a110b1f8b425c196fae81984734a7ebb9029b9\"\u003e\u003ccode\u003eb9a110b\u003c/code\u003e\u003c/a\u003e Finalize v0.80\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vacanza/holidays/commit/4e4b7b18e2427d4fa52f7c531827193281d9396e\"\u003e\u003ccode\u003e4e4b7b1\u003c/code\u003e\u003c/a\u003e Update Nigeria holidays, add l10n support (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2874\"\u003e#2874\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vacanza/holidays/commit/515ba78aa38de5ebb598fe3cf3dfeaea429b6591\"\u003e\u003ccode\u003e515ba78\u003c/code\u003e\u003c/a\u003e Expose entity additional codes (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2879\"\u003e#2879\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vacanza/holidays/commit/13a6d8db2c6405a64333e40efc6938122936b2d5\"\u003e\u003ccode\u003e13a6d8d\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003ecommon::TestCase::assertHolidayNameCount\u003c/code\u003e method (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2873\"\u003e#2873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vacanza/holidays/commit/47d8050b08e1f9821e8b5f1794cf9e5200c21d6e\"\u003e\u003ccode\u003e47d8050\u003c/code\u003e\u003c/a\u003e Update \u003ccode\u003ecommon::CommonTests\u003c/code\u003e: expand label tests to financial entities (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2876\"\u003e#2876\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vacanza/holidays/commit/a459edc7c19dd7adbdf3e41b8e7cd316f9a0db94\"\u003e\u003ccode\u003ea459edc\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eTestAllInSameYear\u003c/code\u003e methods (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2877\"\u003e#2877\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vacanza/holidays/commit/53770abf9c5662e234bcd433a5b446d43939ea90\"\u003e\u003ccode\u003e53770ab\u003c/code\u003e\u003c/a\u003e Add National Stock Exchange of India (NSE) holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2834\"\u003e#2834\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vacanza/holidays/commit/8b6e88cd9d99f1a4699c7fd12ba7bf9b61cb8389\"\u003e\u003ccode\u003e8b6e88c\u003c/code\u003e\u003c/a\u003e Add South Sudan holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2831\"\u003e#2831\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vacanza/holidays/commit/7ac1b37e422cac49a4ef0149baeaa3a2c0a04c18\"\u003e\u003ccode\u003e7ac1b37\u003c/code\u003e\u003c/a\u003e Update pre-commit hooks (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/2872\"\u003e#2872\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vacanza/holidays/compare/v0.77...v0.80\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tornado` from 6.5.1 to 6.5.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tornadoweb/tornado/blob/master/docs/releases.rst\"\u003etornado's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eRelease notes\u003c/h1\u003e\n\u003cp\u003e.. toctree::\n:maxdepth: 2\u003c/p\u003e\n\u003cp\u003ereleases/v6.5.2\nreleases/v6.5.1\nreleases/v6.5.0\nreleases/v6.4.2\nreleases/v6.4.1\nreleases/v6.4.0\nreleases/v6.3.3\nreleases/v6.3.2\nreleases/v6.3.1\nreleases/v6.3.0\nreleases/v6.2.0\nreleases/v6.1.0\nreleases/v6.0.4\nreleases/v6.0.3\nreleases/v6.0.2\nreleases/v6.0.1\nreleases/v6.0.0\nreleases/v5.1.1\nreleases/v5.1.0\nreleases/v5.0.2\nreleases/v5.0.1\nreleases/v5.0.0\nreleases/v4.5.3\nreleases/v4.5.2\nreleases/v4.5.1\nreleases/v4.5.0\nreleases/v4.4.3\nreleases/v4.4.2\nreleases/v4.4.1\nreleases/v4.4.0\nreleases/v4.3.0\nreleases/v4.2.1\nreleases/v4.2.0\nreleases/v4.1.0\nreleases/v4.0.2\nreleases/v4.0.1\nreleases/v4.0.0\nreleases/v3.2.2\nreleases/v3.2.1\nreleases/v3.2.0\nreleases/v3.1.1\nreleases/v3.1.0\nreleases/v3.0.2\nreleases/v3.0.1\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/547e6d86972238f1f5333a85f12b17fb33626899\"\u003e\u003ccode\u003e547e6d8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/tornadoweb/tornado/issues/3529\"\u003e#3529\u003c/a\u003e from bdarnell/relnotes-652\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/be9c374b2ea5e3d6c988c7ede8d284a649cfec37\"\u003e\u003ccode\u003ebe9c374\u003c/code\u003e\u003c/a\u003e Release notes for 6.5.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/8cbc4bfa53874a5dfa7b4bc50971d2ee21baf2d2\"\u003e\u003ccode\u003e8cbc4bf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/tornadoweb/tornado/issues/3527\"\u003e#3527\u003c/a\u003e from bdarnell/backports-6.5.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/c0d3e6df84344ec0aea2a9f9257aba76db78ca25\"\u003e\u003ccode\u003ec0d3e6d\u003c/code\u003e\u003c/a\u003e http1connection: Improve error logging for invalid host headers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/4ff5594ffd71c6dc9c82b0f003d63ed543a8e6d3\"\u003e\u003ccode\u003e4ff5594\u003c/code\u003e\u003c/a\u003e httputil: Restore the host argument to HTTPServerRequest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/b16916c8ad5836fd883452620020c8a1ea4addbf\"\u003e\u003ccode\u003eb16916c\u003c/code\u003e\u003c/a\u003e Add overloads to gen.multi() (\u003ca href=\"https://redirect.github.com/tornadoweb/tornado/issues/3515\"\u003e#3515\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/b5d2f3cc5eb20de1b0cf86e9e48e1624e42ce13b\"\u003e\u003ccode\u003eb5d2f3c\u003c/code\u003e\u003c/a\u003e httputil: Remove a debug print left in by mistake\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/38c6f591d49a808e11bc801028611bcee6aa6bba\"\u003e\u003ccode\u003e38c6f59\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/tornadoweb/tornado/issues/3513\"\u003e#3513\u003c/a\u003e from oliver-sanders/3258.fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/3fc1d91bbbc6a11160528fffb11105998479a6ba\"\u003e\u003ccode\u003e3fc1d91\u003c/code\u003e\u003c/a\u003e websocket: Expand testing of next-ping calculation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/56fc23fe20b4f19ac6cfbbb25611ad692e45082b\"\u003e\u003ccode\u003e56fc23f\u003c/code\u003e\u003c/a\u003e websocket_ping: fix ping interval with non-zero timeout and improve docs.\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tornadoweb/tornado/compare/v6.5.1...v6.5.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `setuptools-scm[toml]` to 9.2.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/setuptools-scm/releases\"\u003esetuptools-scm[toml]'s releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev9.2.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ereiterate version inference by \u003ca href=\"https://github.com/RonnyPfannschmidt\"\u003e\u003ccode\u003e@​RonnyPfannschmidt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/pull/1202\"\u003epypa/setuptools-scm#1202\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003esimple activation now requires a extra instead of setting up many pre-existing projects for failure/error\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pypa/setuptools-scm/compare/v9.1.1...v9.2.0\"\u003ehttps://github.com/pypa/setuptools-scm/compare/v9.1.1...v9.2.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/setuptools-scm/blob/main/CHANGELOG.md\"\u003esetuptools-scm[toml]'s changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev9.2.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eadd simplified activation via \u003ccode\u003esetuptools-scm[simple]\u003c/code\u003e extra\u003c/p\u003e\n\u003cp\u003eA new streamlined way to enable version inference without requiring a \u003ccode\u003e[tool.setuptools_scm]\u003c/code\u003e section.\nWhen \u003ccode\u003esetuptools-scm[simple]\u003c/code\u003e is in \u003ccode\u003ebuild-system.requires\u003c/code\u003e and \u003ccode\u003eversion\u003c/code\u003e is in \u003ccode\u003eproject.dynamic\u003c/code\u003e,\nversion inference is automatically enabled with default settings.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eremoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eunchecked simplified activation - too many projects use setups where it would fail\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003echanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erefine activation logic and add unittest for the relevant cases instead of trying to speedrun setuptools\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.1.1 (yanked)\u003c/h2\u003e\n\u003ch3\u003efixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/issues/1194\"\u003e#1194\u003c/a\u003e: correctly handle version keyword when pyproject metadata is missing\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.1.0 (yanked)\u003c/h2\u003e\n\u003ch3\u003efixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003ecomplete reiteration of the decision logic for enabling version inference on setuptools_scm\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eshared logic for the important parts\u003c/li\u003e\n\u003cli\u003eproper deferring based in precedence of finalize options vs version keyword\u003c/li\u003e\n\u003cli\u003eunittestable for the parsing parts and the decision steps\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.0.3 (yanked)\u003c/h2\u003e\n\u003ch3\u003efixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix 1184: verify version is dynamic if the dependency is used as indicator for enabling\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.0.2 (yanked)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/issues/1184\"\u003e#1184\u003c/a\u003e: in case setuptools-scm is a indirect dependency and no pyproject.toml section exists - don't infer the version\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/6bf67462a2358be9581bcb816547de6fc636e8d9\"\u003e\u003ccode\u003e6bf6746\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/issues/1206\"\u003e#1206\u003c/a\u003e from pypa/RonnyPfannschmidt-changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/c49467d206ee25dc4c415d5ea9f6e4c2238d6a6e\"\u003e\u003ccode\u003ec49467d\u003c/code\u003e\u003c/a\u003e Update CHANGELOG.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/3baa39824e44f5e5e11087792704e7e130465d82\"\u003e\u003ccode\u003e3baa398\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/issues/1202\"\u003e#1202\u003c/a\u003e from RonnyPfannschmidt/version-infer-again\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/861df20254d2a502f6cb40cb2af4bccba0da6f2f\"\u003e\u003ccode\u003e861df20\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/issues/1199\"\u003e#1199\u003c/a\u003e from pypa/dependabot/github_actions/actions/download...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/daf68b5e9ae5b26c8277030601dea662995ec5eb\"\u003e\u003ccode\u003edaf68b5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/issues/1200\"\u003e#1200\u003c/a\u003e from pypa/dependabot/github_actions/actions/checkout-5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/229946a437de35f43dc36ade40c6738765f3c263\"\u003e\u003ccode\u003e229946a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/issues/1197\"\u003e#1197\u003c/a\u003e from pypa/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/b8a2920a2441232a74ab33bf028a39e140eccc86\"\u003e\u003ccode\u003eb8a2920\u003c/code\u003e\u003c/a\u003e Add simple extra to pyproject.toml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/250b5c2143c34174f5c855281f51499c568ebee8\"\u003e\u003ccode\u003e250b5c2\u003c/code\u003e\u003c/a\u003e add test migration plan for llms + fix changelog formatting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/56a7a00ad4b33ab1835f6768736388ea5c18c0a7\"\u003e\u003ccode\u003e56a7a00\u003c/code\u003e\u003c/a\u003e split version inference into the part that needs a distribution object and th...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/206742a617df3922e9a0c3dc36243051e8f2f3c2\"\u003e\u003ccode\u003e206742a\u003c/code\u003e\u003c/a\u003e return simplified activation with a extra to prevent regressions\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/setuptools-scm/compare/v8.3.0...v9.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `filelock` from 3.18.0 to 3.19.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tox-dev/py-filelock/releases\"\u003efilelock's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.19.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eadd 3.14t (free threading) to matrix by \u003ca href=\"https://github.com/paultiq\"\u003e\u003ccode\u003e@​paultiq\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/433\"\u003etox-dev/filelock#433\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIncrease test coverage by \u003ca href=\"https://github.com/paultiq\"\u003e\u003ccode\u003e@​paultiq\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/434\"\u003etox-dev/filelock#434\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/paultiq\"\u003e\u003ccode\u003e@​paultiq\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/433\"\u003etox-dev/filelock#433\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tox-dev/filelock/compare/3.19.0...3.19.1\"\u003ehttps://github.com/tox-dev/filelock/compare/3.19.0...3.19.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.19.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for 3.14 by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/432\"\u003etox-dev/filelock#432\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tox-dev/filelock/compare/3.18.0...3.19.0\"\u003ehttps://github.com/tox-dev/filelock/compare/3.18.0...3.19.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/8d1009f08a6a64624fad91d1079062ef31b8c2b4\"\u003e\u003ccode\u003e8d1009f\u003c/code\u003e\u003c/a\u003e Update release.yaml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/66a428e97a874b44b0310072f6c974226f55a472\"\u003e\u003ccode\u003e66a428e\u003c/code\u003e\u003c/a\u003e Increase test coverage (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/434\"\u003e#434\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/0dfc86eebd2c76ae959a409bcbc3112cc1ec5890\"\u003e\u003ccode\u003e0dfc86e\u003c/code\u003e\u003c/a\u003e add 3.14 to matrix (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/433\"\u003e#433\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/0c54837e318ebe8a692b529722430cb38134bf7c\"\u003e\u003ccode\u003e0c54837\u003c/code\u003e\u003c/a\u003e Add support for 3.14 (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/432\"\u003e#432\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/77d02f5ada3a1a92167b1beee35a7815cbde0fcf\"\u003e\u003ccode\u003e77d02f5\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5 (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/430\"\u003e#430\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/bc972b33bf253bb9f08db32b19ffd4119a74706e\"\u003e\u003ccode\u003ebc972b3\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/429\"\u003e#429\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/78d02cb5ff42b22a56ad1a36755361a6b4601765\"\u003e\u003ccode\u003e78d02cb\u003c/code\u003e\u003c/a\u003e Bump actions/download-artifact from 4 to 5 (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/428\"\u003e#428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/18cdb5d1c78a7a459463480303e9820f33cdf041\"\u003e\u003ccode\u003e18cdb5d\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/427\"\u003e#427\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/b198a096d2bae58596479497d18a82bbeec515c8\"\u003e\u003ccode\u003eb198a09\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/426\"\u003e#426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/6b097e76de603d9be6a24c5058b6fe53ef003afd\"\u003e\u003ccode\u003e6b097e7\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/425\"\u003e#425\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tox-dev/py-filelock/compare/3.18.0...3.19.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `regex` from 2025.7.34 to 2025.9.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mrabarnett/mrab-regex/blob/hg/changelog.txt\"\u003eregex's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eVersion: 2025.9.1\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eGit PR 585: Fix AttributeError: 'AnyAll' object has no attribute '_key'\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.8.29\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eGit issue 584: AttributeError: 'AnyAll' object has no attribute 'positive'\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.7.34\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eGit issue 575: Issues with ASCII/Unicode modifiers\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.7.33\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eUpdated main.yml and pyproject.toml.\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.7.32\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eGit issue 580: Regression in v2025.7.31: \\P{L} no longer matches in simple patterns\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.7.31\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eFurther updates to main.yml.\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.7.30\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eUpdated main.yml and pyproject.toml.\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.7.29\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eGit issue 572: Inline ASCII modifier doesn't seem to affect anything\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.5.19\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eChanged how main.yml skips unwanted Arch builds.\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.5.18\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eUpdated main.yml to build Windows ARM64/aarch64 wheel.\n\u003cp\u003eUpdated licence text format in pyproject.toml.\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003eVersion: 2025.2.13\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eDropping support for Python 3.8 and removing it from main.yml.\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eVersion: 2025.2.12\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eFurther fixes to main.yml.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/49e3881e9fceb225b0f82d43f1ef09688ec30da3\"\u003e\u003ccode\u003e49e3881\u003c/code\u003e\u003c/a\u003e Git PR 585: Fix AttributeError: 'AnyAll' object has no attribute '_key'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mrabarnett/mrab-regex/commit/183a653894f56ad9bc6ca767b795c0439518e2c1\"\u003e\u003ccode\u003e183a653\u003c/code\u003e\u003c/a\u003e Git issue 584: AttributeError: 'AnyAll' object has no attribute 'positive'\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/mrabarnett/mrab-regex/compare/2025.7.34...2025.9.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `boto3` from 1.40.1 to 1.40.30\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/b01d02d965ba5db2834865b01939598b1c9ddef7\"\u003e\u003ccode\u003eb01d02d\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.30'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/065a46db54b1c7058cd0e7ac9c9deacfbff366f8\"\u003e\u003ccode\u003e065a46d\u003c/code\u003e\u003c/a\u003e Bumping version to 1.40.30\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/f78c83bc0c384a6d7b7178b310f4b8b1cba02ba9\"\u003e\u003ccode\u003ef78c83b\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/97fd5d9883307361e9f0ff639b6235e74918b82b\"\u003e\u003ccode\u003e97fd5d9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/boto/boto3/issues/4613\"\u003e#4613\u003c/a\u003e from adev-code/documentation-only\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/2a0d0ada619f9a80671107ccecc7228d6a413fae\"\u003e\u003ccode\u003e2a0d0ad\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.29'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/12750f67abef3ee8aa1c4a2677d17df033d5c3b7\"\u003e\u003ccode\u003e12750f6\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.29' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/62ea501b48699504279549e556bb9201cbe4a81e\"\u003e\u003ccode\u003e62ea501\u003c/code\u003e\u003c/a\u003e Bumping version to 1.40.29\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/32f7deacb017a8584de9ac7ade0b6994904410a8\"\u003e\u003ccode\u003e32f7dea\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/c1d11ea47791b41002bae354cf65f698013f8300\"\u003e\u003ccode\u003ec1d11ea\u003c/code\u003e\u003c/a\u003e Fix ExtraArgs documentation in S3 copy methods to reference ALLOWED_COPY_ARGS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/14fc68d24d941309b4a25e4650f9f4a3767a8ce7\"\u003e\u003ccode\u003e14fc68d\u003c/code\u003e\u003c/a\u003e Fix ExtraArgs documentation in S3 copy methods to reference ALLOWED_COPY_ARGS\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/boto/boto3/compare/1.40.1...1.40.30\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest` from 8.4.1 to 8.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest/releases\"\u003epytest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.4.2\u003c/h2\u003e\n\u003ch1\u003epytest 8.4.2 (2025-09-03)\u003c/h1\u003e\n\u003ch2\u003eBug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13478\"\u003e#13478\u003c/a\u003e: Fixed a crash when using \u003ccode\u003econsole_output_style\u003c/code\u003e{.interpreted-text role=\u0026quot;confval\u0026quot;} with \u003ccode\u003etimes\u003c/code\u003e and a module is skipped.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13530\"\u003e#13530\u003c/a\u003e: Fixed a crash when using \u003ccode\u003epytest.approx\u003c/code\u003e{.interpreted-text role=\u0026quot;func\u0026quot;} and \u003ccode\u003edecimal.Decimal\u003c/code\u003e{.interpreted-text role=\u0026quot;class\u0026quot;} instances with the \u003ccode\u003edecimal.FloatOperation\u003c/code\u003e{.interpreted-text role=\u0026quot;class\u0026quot;} trap set.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13549\"\u003e#13549\u003c/a\u003e: No longer evaluate type annotations in Python \u003ccode\u003e3.14\u003c/code\u003e when inspecting function signatures.\u003c/p\u003e\n\u003cp\u003eThis prevents crashes during module collection when modules do not explicitly use \u003ccode\u003efrom __future__ import annotations\u003c/code\u003e and import types for annotations within a \u003ccode\u003eif TYPE_CHECKING:\u003c/code\u003e block.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13559\"\u003e#13559\u003c/a\u003e: Added missing [int]{.title-ref} and [float]{.title-ref} variants to the [Literal]{.title-ref} type annotation of the [type]{.title-ref} parameter in \u003ccode\u003epytest.Parser.addini\u003c/code\u003e{.interpreted-text role=\u0026quot;meth\u0026quot;}.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13563\"\u003e#13563\u003c/a\u003e: \u003ccode\u003epytest.approx\u003c/code\u003e{.interpreted-text role=\u0026quot;func\u0026quot;} now only imports \u003ccode\u003enumpy\u003c/code\u003e if NumPy is already in \u003ccode\u003esys.modules\u003c/code\u003e. This fixes unconditional import behavior introduced in [8.4.0]{.title-ref}.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImproved documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-...\n\n_Description has been truncated_","html_url":"https://github.com/acsone/Arelle/pull/331","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/acsone%2FArelle/issues/331","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/331/packages"}},{"old_version":"1.31.4","new_version":"1.31.5","update_type":"patch","path":null,"pr_created_at":"2025-09-15T10:26:17.000Z","version_change":"1.31.4 → 1.31.5","issue":{"uuid":"2828685043","node_id":"PR_kwDOABx8o86omk7z","number":1906,"state":"closed","title":"Bump the python-dependencies group with 7 updates","user":"dependabot[bot]","labels":["dependencies","python","minor"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":"2025-09-15T13:31:39.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-09-15T10:26:17.000Z","updated_at":"2025-09-15T13:31:39.000Z","time_to_close":11122,"merged_at":"2025-09-15T13:31:39.000Z","merged_by":"austinmatherne-wk","closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"python-dependencies","update_count":7,"packages":[{"name":"pyparsing","old_version":"3.2.3","new_version":"3.2.4","repository_url":"https://github.com/pyparsing/pyparsing"},{"name":"pg8000","old_version":"1.31.4","new_version":"1.31.5","repository_url":"https://github.com/tlocke/pg8000"},{"name":"boto3","old_version":"1.40.25","new_version":"1.40.30","repository_url":"https://github.com/boto/boto3"},{"name":"mypy","old_version":"1.17.1","new_version":"1.18.1","repository_url":"https://github.com/python/mypy"},{"name":"boto3-stubs","old_version":"1.40.25","new_version":"1.40.30","repository_url":"https://github.com/youtype/mypy_boto3_builder"},{"name":"types-openpyxl","old_version":"3.1.5.20250822","new_version":"3.1.5.20250914","repository_url":"https://github.com/typeshed-internal/stub_uploader"},{"name":"types-pymysql","old_version":"1.1.0.20250822","new_version":"1.1.0.20250914","repository_url":"https://github.com/typeshed-internal/stub_uploader"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-dependencies group with 7 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [pyparsing](https://github.com/pyparsing/pyparsing) | `3.2.3` | `3.2.4` |\n| [pg8000](https://github.com/tlocke/pg8000) | `1.31.4` | `1.31.5` |\n| [boto3](https://github.com/boto/boto3) | `1.40.25` | `1.40.30` |\n| [mypy](https://github.com/python/mypy) | `1.17.1` | `1.18.1` |\n| [boto3-stubs](https://github.com/youtype/mypy_boto3_builder) | `1.40.25` | `1.40.30` |\n| [types-openpyxl](https://github.com/typeshed-internal/stub_uploader) | `3.1.5.20250822` | `3.1.5.20250914` |\n| [types-pymysql](https://github.com/typeshed-internal/stub_uploader) | `1.1.0.20250822` | `1.1.0.20250914` |\n\nUpdates `pyparsing` from 3.2.3 to 3.2.4\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyparsing/pyparsing/blob/master/CHANGES\"\u003epyparsing's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.2.4 - September, 2025\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eBarring any catastrophic bugs in this release, this will be the last release in\nthe 3.2.x line. The next release, 3.3.0, will begin emitting \u003ccode\u003eDeprecationWarnings\u003c/code\u003e\nwhen the pre-PEP8 methods are used (see header notes above for more information,\nincluding available automation for converting any existing code using\npyparsing with the old names).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed bug when using a copy of a \u003ccode\u003eWord\u003c/code\u003e expression (either by using the explicit\n\u003ccode\u003ecopy()\u003c/code\u003e method, or attaching a results name), and setting a new expression name,\na raised \u003ccode\u003eParseException\u003c/code\u003e still used the original expression name. Also affected\n\u003ccode\u003eRegex\u003c/code\u003e expressions with \u003ccode\u003eas_match\u003c/code\u003e or \u003ccode\u003eas_group_list\u003c/code\u003e = True. Reported by\nWaqas Ilyas, in Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/612\"\u003e#612\u003c/a\u003e - good catch!\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed type annotation for \u003ccode\u003ereplace_with\u003c/code\u003e, to accept \u003ccode\u003eAny\u003c/code\u003e type. Fixes Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/602\"\u003e#602\u003c/a\u003e,\nreported by esquonk.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded locking around potential race condition in \u003ccode\u003eParserElement.reset_cache\u003c/code\u003e, as\nwell as other cache-related methods. Fixes Issue \u003ca href=\"https://redirect.github.com/pyparsing/pyparsing/issues/604\"\u003e#604\u003c/a\u003e, reported by CarlosDescalziIM.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSubstantial update to docstrings and doc generation in preparation for 3.3.0,\ngreat effort by FeRD, thanks!\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNotable addition by FeRD to convert docstring examples to work with doctest! This\nwas long overdue, thanks so much!\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/57923cd6a651d81c72b4e60b2baa02fbedf217ba\"\u003e\u003ccode\u003e57923cd\u003c/code\u003e\u003c/a\u003e Enable matplotlib unit tests for Python 3.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/fad1505f8ab91cc897f3067868e500257130e1a4\"\u003e\u003ccode\u003efad1505\u003c/code\u003e\u003c/a\u003e Update CHANGES file with thanks to FeRD for making the docstring examples doc...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/6622151cb440e85de9880ca6b7f3652e0962e315\"\u003e\u003ccode\u003e6622151\u003c/code\u003e\u003c/a\u003e Update tox.ini to add doctest testing for all Python versions 3.10 and later\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/e6ed66bdcd6da3ef63f4396565d860467efb5252\"\u003e\u003ccode\u003ee6ed66b\u003c/code\u003e\u003c/a\u003e Change doctest for LineStart to reflect latest implementation of \u0026quot;is this tok...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/23092da6569c97f30605ff2fe818fc15b3d12567\"\u003e\u003ccode\u003e23092da\u003c/code\u003e\u003c/a\u003e Doctests for pyparsing.exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/0bae3cdcc9274dbbcde5daabba739d3b1ddb49fc\"\u003e\u003ccode\u003e0bae3cd\u003c/code\u003e\u003c/a\u003e Doctests for pyparsing.common\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/98ec165d1a66247dbeffcf692643765648fb230f\"\u003e\u003ccode\u003e98ec165\u003c/code\u003e\u003c/a\u003e Docs: Add doctest-wrtiting documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/0b46bcd452f87c0f72007995af21a935b16b7123\"\u003e\u003ccode\u003e0b46bcd\u003c/code\u003e\u003c/a\u003e Doctests for pyparsing.core\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/9a898f595539169e4645f5de1703b78da9b1658c\"\u003e\u003ccode\u003e9a898f5\u003c/code\u003e\u003c/a\u003e Docs: Update API definition\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyparsing/pyparsing/commit/45fd9722381b53e1205a0c190418b46721a224c9\"\u003e\u003ccode\u003e45fd972\u003c/code\u003e\u003c/a\u003e Doctests for pyparsing.helpers\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyparsing/pyparsing/compare/3.2.3...3.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pg8000` from 1.31.4 to 1.31.5\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tlocke/pg8000/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `boto3` from 1.40.25 to 1.40.30\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/b01d02d965ba5db2834865b01939598b1c9ddef7\"\u003e\u003ccode\u003eb01d02d\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.30'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/065a46db54b1c7058cd0e7ac9c9deacfbff366f8\"\u003e\u003ccode\u003e065a46d\u003c/code\u003e\u003c/a\u003e Bumping version to 1.40.30\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/f78c83bc0c384a6d7b7178b310f4b8b1cba02ba9\"\u003e\u003ccode\u003ef78c83b\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/97fd5d9883307361e9f0ff639b6235e74918b82b\"\u003e\u003ccode\u003e97fd5d9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/boto/boto3/issues/4613\"\u003e#4613\u003c/a\u003e from adev-code/documentation-only\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/2a0d0ada619f9a80671107ccecc7228d6a413fae\"\u003e\u003ccode\u003e2a0d0ad\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.29'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/12750f67abef3ee8aa1c4a2677d17df033d5c3b7\"\u003e\u003ccode\u003e12750f6\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.40.29' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/62ea501b48699504279549e556bb9201cbe4a81e\"\u003e\u003ccode\u003e62ea501\u003c/code\u003e\u003c/a\u003e Bumping version to 1.40.29\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/32f7deacb017a8584de9ac7ade0b6994904410a8\"\u003e\u003ccode\u003e32f7dea\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/c1d11ea47791b41002bae354cf65f698013f8300\"\u003e\u003ccode\u003ec1d11ea\u003c/code\u003e\u003c/a\u003e Fix ExtraArgs documentation in S3 copy methods to reference ALLOWED_COPY_ARGS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/14fc68d24d941309b4a25e4650f9f4a3767a8ce7\"\u003e\u003ccode\u003e14fc68d\u003c/code\u003e\u003c/a\u003e Fix ExtraArgs documentation in S3 copy methods to reference ALLOWED_COPY_ARGS\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/boto/boto3/compare/1.40.25...1.40.30\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mypy` from 1.17.1 to 1.18.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/mypy/blob/master/CHANGELOG.md\"\u003emypy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eMypy Release Notes\u003c/h1\u003e\n\u003ch2\u003eNext Release\u003c/h2\u003e\n\u003ch2\u003eMypy 1.18\u003c/h2\u003e\n\u003cp\u003eWe’ve just uploaded mypy 1.18 to the Python Package Index (\u003ca href=\"https://pypi.org/project/mypy/\"\u003ePyPI\u003c/a\u003e).\nMypy is a static type checker for Python. This release includes new features, performance\nimprovements and bug fixes. You can install it as follows:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epython3 -m pip install -U mypy\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eYou can read the full documentation for this release on \u003ca href=\"http://mypy.readthedocs.io\"\u003eRead the Docs\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003eMypy Performance Improvements\u003c/h3\u003e\n\u003cp\u003eMypy 1.18 includes numerous performance improvements, resulting in about 40% speedup\ncompared to 1.17 when type checking mypy itself. In extreme cases, the improvement\ncan be 10x or higher. The list below is an overview of the various mypy optimizations.\nMany mypyc improvements (discussed in a separate section below) also improve performance.\u003c/p\u003e\n\u003cp\u003eType caching optimizations have a small risk of causing regressions. When\nreporting issues with unexpected inferred types, please also check if\n\u003ccode\u003e--disable-expression-cache\u003c/code\u003e will work around the issue, as it turns off some of\nthese optimizations.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eImprove self check performance by 1.8% (Jukka Lehtosalo, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19768\"\u003e19768\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/python/mypy/pull/19769\"\u003e19769\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/python/mypy/pull/19770\"\u003e19770\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOptimize fixed-format deserialization (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19765\"\u003e19765\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse macros to optimize fixed-format deserialization (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19757\"\u003e19757\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTwo additional micro‑optimizations (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19627\"\u003e19627\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAnother set of micro‑optimizations (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19633\"\u003e19633\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCache common types (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19621\"\u003e19621\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip more method bodies in third‑party libraries for speed (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19586\"\u003e19586\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplify the representation of callable types (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19580\"\u003e19580\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd cache for types of some expressions (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19505\"\u003e19505\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse cache for dictionary expressions (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19536\"\u003e19536\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse cache for binary operations (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19523\"\u003e19523\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCache types of type objects (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19514\"\u003e19514\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid duplicate work when checking boolean operations (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19515\"\u003e19515\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOptimize generic inference passes (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19501\"\u003e19501\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSpeed up the default plugin (Jukka Lehtosalo, PRs \u003ca href=\"https://redirect.github.com/python/mypy/pull/19385\"\u003e19385\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/python/mypy/pull/19462\"\u003e19462\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove nested imports from the default plugin (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19388\"\u003e19388\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMicro‑optimize type expansion (Jukka Lehtosalo, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19461\"\u003e19461\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMicro‑optimize type indirection (Jukka Lehtosalo, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19460\"\u003e19460\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMicro‑optimize the plugin framework (Jukka Lehtosalo, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19464\"\u003e19464\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid temporary set creation in subtype checking (Jukka Lehtosalo, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19463\"\u003e19463\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSubtype checking micro‑optimization (Jukka Lehtosalo, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19384\"\u003e19384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReturn early where possible in subtype check (Stanislav Terliakov, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19400\"\u003e19400\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDeduplicate some types before joining (Stanislav Terliakov, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19409\"\u003e19409\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSpeed up type checking by caching argument inference context (Jukka Lehtosalo, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19323\"\u003e19323\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/03fbaa941bccc3a9f8aea796d586603b67119bf2\"\u003e\u003ccode\u003e03fbaa9\u003c/code\u003e\u003c/a\u003e bump version to 1.18.1 due to wheels failure\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/b44a1fbf0cf9fd90fd29d6bcd9f64c55dd2fd4c8\"\u003e\u003ccode\u003eb44a1fb\u003c/code\u003e\u003c/a\u003e removed +dev from version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/7197a99d1aebb1b7a584f82a53c44efb7dddf136\"\u003e\u003ccode\u003e7197a99\u003c/code\u003e\u003c/a\u003e Removed Unreleased in the Changelog for Release 1.18 (\u003ca href=\"https://redirect.github.com/python/mypy/issues/19827\"\u003e#19827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/ee61cec0d654463874ddee3a60914f0a6cd08222\"\u003e\u003ccode\u003eee61cec\u003c/code\u003e\u003c/a\u003e Updates to 1.18 changelog (\u003ca href=\"https://redirect.github.com/python/mypy/issues/19826\"\u003e#19826\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/24eed0bd0bb1107ede163ed314082a0f3e7dbbc4\"\u003e\u003ccode\u003e24eed0b\u003c/code\u003e\u003c/a\u003e Initial changelog for release 1.18 (\u003ca href=\"https://redirect.github.com/python/mypy/issues/19818\"\u003e#19818\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/0ca1f2a7e50ed38eed95ecf8c1f2df1057da902d\"\u003e\u003ccode\u003e0ca1f2a\u003c/code\u003e\u003c/a\u003e Expose --fixed-format-cache if compiled (\u003ca href=\"https://redirect.github.com/python/mypy/issues/19815\"\u003e#19815\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/2ce1bb225f3ced0ad4b2080af8a9a0eb39f8b38e\"\u003e\u003ccode\u003e2ce1bb2\u003c/code\u003e\u003c/a\u003e [mypyc] Fix subclass processing in detect_undefined_bitmap (\u003ca href=\"https://redirect.github.com/python/mypy/issues/19787\"\u003e#19787\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/a6b55f061d6a352e7d272ec5bc890650b7187380\"\u003e\u003ccode\u003ea6b55f0\u003c/code\u003e\u003c/a\u003e feat: new mypyc primitives for weakref.proxy (\u003ca href=\"https://redirect.github.com/python/mypy/issues/19217\"\u003e#19217\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/5a323dd2f8927eb958835e51916402c27ec2f31f\"\u003e\u003ccode\u003e5a323dd\u003c/code\u003e\u003c/a\u003e Make --allow-redefinition-new argument public (\u003ca href=\"https://redirect.github.com/python/mypy/issues/19796\"\u003e#19796\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/8638eb40aa7b9d3088f17ab005c538c86c752edd\"\u003e\u003ccode\u003e8638eb4\u003c/code\u003e\u003c/a\u003e [stubtest] temporary \u003ccode\u003e--ignore-disjoint-bases\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/python/mypy/issues/19740\"\u003e#19740\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python/mypy/compare/v1.17.1...v1.18.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `boto3-stubs` from 1.40.25 to 1.40.30\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/youtype/mypy_boto3_builder/releases\"\u003eboto3-stubs's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.8.0 - Python 3.8 runtime is back\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[services]\u003c/code\u003e \u003ccode\u003einstall_requires\u003c/code\u003e section is calculated based on dependencies in use, so \u003ccode\u003etyping-extensions\u003c/code\u003e version is set properly\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[all]\u003c/code\u003e Replaced \u003ccode\u003etyping\u003c/code\u003e imports with \u003ccode\u003ecollections.abc\u003c/code\u003e with a fallback to \u003ccode\u003etyping\u003c/code\u003e for Python \u0026lt;3.9\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[all]\u003c/code\u003e Added aliases for \u003ccode\u003ebuiltins.list\u003c/code\u003e, \u003ccode\u003ebuiltins.set\u003c/code\u003e, \u003ccode\u003ebuiltins.dict\u003c/code\u003e, and \u003ccode\u003ebuiltins.type\u003c/code\u003e, so Python 3.8 runtime should work as expected again (reported by \u003ca href=\"https://github.com/YHallouard\"\u003e\u003ccode\u003e@​YHallouard\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/youtype/mypy_boto3_builder/issues/340\"\u003e#340\u003c/a\u003e and \u003ca href=\"https://github.com/Omri-Ben-Yair\"\u003e\u003ccode\u003e@​Omri-Ben-Yair\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/youtype/mypy_boto3_builder/issues/336\"\u003e#336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[all]\u003c/code\u003e Unions use the same type annotations as the rest of the structures due to proper fallbacks\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[services]\u003c/code\u003e Universal input/output shapes were not replaced properly in service subresources\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[docs]\u003c/code\u003e Simplified doc links rendering for services\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[services]\u003c/code\u003e Cleaned up unnecessary imports in \u003ccode\u003eclient.pyi\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[builder]\u003c/code\u003e Import records with fallback are always rendered\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/youtype/mypy_boto3_builder/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `types-openpyxl` from 3.1.5.20250822 to 3.1.5.20250914\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/typeshed-internal/stub_uploader/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `types-pymysql` from 1.1.0.20250822 to 1.1.0.20250914\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/typeshed-internal/stub_uploader/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/Arelle/Arelle/pull/1906","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Arelle%2FArelle/issues/1906","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1906/packages"}}]}