{"id":49491,"name":"scramp","ecosystem":"pip","repository_url":"https://github.com/tlocke/scramp","issues_count":3,"created_at":"2025-07-07T03:04:09.601Z","updated_at":"2025-07-07T03:04:09.601Z","purl":"pkg:pypi/scramp","metadata":{"id":2912624,"name":"scramp","ecosystem":"pypi","description":"An implementation of the SCRAM protocol.","homepage":"https://github.com/tlocke/scramp","licenses":"MIT No Attribution","normalized_licenses":["MIT-0"],"repository_url":"https://github.com/tlocke/scramp","keywords_array":["SASL","SCRAM","authentication"],"namespace":null,"versions_count":15,"first_release_published_at":"2019-02-10T14:31:59.000Z","latest_release_published_at":"2025-07-05T14:44:02.000Z","latest_release_number":"1.4.6","last_synced_at":"2025-07-05T15:02:40.416Z","created_at":"2022-04-10T12:33:18.979Z","updated_at":"2025-07-05T15:07:39.179Z","registry_url":"https://pypi.org/project/scramp/","install_command":"pip install scramp --index-url https://pypi.org/simple","documentation_url":"https://scramp.readthedocs.io/","metadata":{"funding":null,"documentation":null,"classifiers":["Development Status :: 5 - Production/Stable","Intended Audience :: Developers","License :: OSI Approved :: MIT No Attribution License (MIT-0)","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"],"normalized_name":"scramp"},"repo_metadata":{"id":46154266,"uuid":"169872464","full_name":"tlocke/scramp","owner":"tlocke","description":"Python implementation of the SCRAM protocol","archived":false,"fork":false,"pushed_at":"2025-07-05T14:59:33.000Z","size":100,"stargazers_count":29,"open_issues_count":2,"forks_count":5,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-07-05T15:06:02.186Z","etag":null,"topics":["python","scram","scram-sha-1","scram-sha-1-plus","scram-sha-256","scram-sha-256-plus","scram-sha-512","scram-sha-512-plus","scram-sha3-512","scram-sha3-512-plus"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit-0","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":"2019-02-09T14:00:11.000Z","updated_at":"2025-07-05T14:59:17.000Z","dependencies_parsed_at":"2024-04-13T13:47:38.171Z","dependency_job_id":"fdeaad44-92e5-47dd-9891-1295b116398a","html_url":"https://github.com/tlocke/scramp","commit_stats":{"total_commits":47,"total_committers":4,"mean_commits":11.75,"dds":0.06382978723404253,"last_synced_commit":"f981b68c35b021dce3d6277ef2dc2d281e4bd5a2"},"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"purl":"pkg:github/tlocke/scramp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fscramp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fscramp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fscramp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fscramp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tlocke","download_url":"https://codeload.github.com/tlocke/scramp/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fscramp/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263760866,"owners_count":23507338,"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.4.5","sha":"59198327bdff4cb2f9e5563b5312ea11a91231fe","kind":"tag","published_at":"2024-04-13T12:32:38.000Z","download_url":"https://codeload.github.com/tlocke/scramp/tar.gz/1.4.5","html_url":"https://github.com/tlocke/scramp/releases/tag/1.4.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlocke/scramp@1.4.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fscramp/tags/1.4.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fscramp/tags/1.4.5/manifests"},{"name":"1.4.4","sha":"10a1f8491247b13f6e87a6a05ab0cc6b9288b6ac","kind":"tag","published_at":"2022-11-01T17:17:11.000Z","download_url":"https://codeload.github.com/tlocke/scramp/tar.gz/1.4.4","html_url":"https://github.com/tlocke/scramp/releases/tag/1.4.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlocke/scramp@1.4.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fscramp/tags/1.4.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fscramp/tags/1.4.4/manifests"},{"name":"1.4.3","sha":"6cc0f190f6cce6c22c992a2fe857b9a819523ad1","kind":"tag","published_at":"2022-10-26T20:01:44.000Z","download_url":"https://codeload.github.com/tlocke/scramp/tar.gz/1.4.3","html_url":"https://github.com/tlocke/scramp/releases/tag/1.4.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlocke/scramp@1.4.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fscramp/tags/1.4.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fscramp/tags/1.4.3/manifests"},{"name":"1.4.2","sha":"08a326701b052438aaa21b3622e70b0dba692ba2","kind":"tag","published_at":"2022-10-22T13:43:34.000Z","download_url":"https://codeload.github.com/tlocke/scramp/tar.gz/1.4.2","html_url":"https://github.com/tlocke/scramp/releases/tag/1.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlocke/scramp@1.4.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fscramp/tags/1.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fscramp/tags/1.4.2/manifests"},{"name":"1.4.1","sha":"c4d2e89ca029467a0010abdd13d6ec9ead063d9e","kind":"tag","published_at":"2021-08-25T19:01:55.000Z","download_url":"https://codeload.github.com/tlocke/scramp/tar.gz/1.4.1","html_url":"https://github.com/tlocke/scramp/releases/tag/1.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlocke/scramp@1.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fscramp/tags/1.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fscramp/tags/1.4.1/manifests"},{"name":"1.4.0","sha":"6fd6ae54b6ca911b6d2742149227c2fa13f9f67a","kind":"tag","published_at":"2021-03-28T18:09:34.000Z","download_url":"https://codeload.github.com/tlocke/scramp/tar.gz/1.4.0","html_url":"https://github.com/tlocke/scramp/releases/tag/1.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlocke/scramp@1.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fscramp/tags/1.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fscramp/tags/1.4.0/manifests"},{"name":"1.3.0","sha":"df83909fed079a77b43cf93b9df4dd7834191919","kind":"tag","published_at":"2021-03-28T16:03:05.000Z","download_url":"https://codeload.github.com/tlocke/scramp/tar.gz/1.3.0","html_url":"https://github.com/tlocke/scramp/releases/tag/1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlocke/scramp@1.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fscramp/tags/1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fscramp/tags/1.3.0/manifests"},{"name":"1.2.2","sha":"cdc26c16280e3ba43325ac77cf654dd16288f9d6","kind":"tag","published_at":"2021-02-13T12:01:56.000Z","download_url":"https://codeload.github.com/tlocke/scramp/tar.gz/1.2.2","html_url":"https://github.com/tlocke/scramp/releases/tag/1.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlocke/scramp@1.2.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fscramp/tags/1.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fscramp/tags/1.2.2/manifests"},{"name":"1.2.1","sha":"30d994aed92aa3de86a1f0fe9b8e94023ccd20d7","kind":"tag","published_at":"2021-02-07T13:17:59.000Z","download_url":"https://codeload.github.com/tlocke/scramp/tar.gz/1.2.1","html_url":"https://github.com/tlocke/scramp/releases/tag/1.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlocke/scramp@1.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fscramp/tags/1.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fscramp/tags/1.2.1/manifests"},{"name":"1.2.0","sha":"5f01a397ddcded8b53e8d3fad9c481fa61a4fba0","kind":"tag","published_at":"2020-05-30T19:38:54.000Z","download_url":"https://codeload.github.com/tlocke/scramp/tar.gz/1.2.0","html_url":"https://github.com/tlocke/scramp/releases/tag/1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlocke/scramp@1.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fscramp/tags/1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fscramp/tags/1.2.0/manifests"},{"name":"1.1.1","sha":"9cb5ea0133c8a75f595fa4613209de678b930db4","kind":"tag","published_at":"2020-03-28T12:56:39.000Z","download_url":"https://codeload.github.com/tlocke/scramp/tar.gz/1.1.1","html_url":"https://github.com/tlocke/scramp/releases/tag/1.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlocke/scramp@1.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fscramp/tags/1.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fscramp/tags/1.1.1/manifests"},{"name":"1.1.0","sha":"e986cd0d31825e509ac5e1b3a80123f5a302591b","kind":"tag","published_at":"2019-02-24T14:18:42.000Z","download_url":"https://codeload.github.com/tlocke/scramp/tar.gz/1.1.0","html_url":"https://github.com/tlocke/scramp/releases/tag/1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlocke/scramp@1.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fscramp/tags/1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fscramp/tags/1.1.0/manifests"},{"name":"1.0.0","sha":"dfb695067fd4d7e2b113b2a6da2f39ef5be0183f","kind":"tag","published_at":"2019-02-17T14:12:32.000Z","download_url":"https://codeload.github.com/tlocke/scramp/tar.gz/1.0.0","html_url":"https://github.com/tlocke/scramp/releases/tag/1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlocke/scramp@1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fscramp/tags/1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fscramp/tags/1.0.0/manifests"},{"name":"0.0.0","sha":"243853300e64bdb470d5f6bb0f65e26f7cbe9696","kind":"tag","published_at":"2019-02-10T14:31:19.000Z","download_url":"https://codeload.github.com/tlocke/scramp/tar.gz/0.0.0","html_url":"https://github.com/tlocke/scramp/releases/tag/0.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlocke/scramp@0.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fscramp/tags/0.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlocke%2Fscramp/tags/0.0.0/manifests"}]},"repo_metadata_updated_at":"2025-07-05T15:07:39.179Z","dependent_packages_count":12,"downloads":48618512,"downloads_period":"last-month","dependent_repos_count":533,"rankings":{"downloads":0.03521598218658235,"dependent_repos_count":0.5990385303196767,"dependent_packages_count":0.8781985557778972,"stargazers_count":14.881870555587144,"forks_count":15.5685822082255,"docker_downloads_count":0.33491866392030917,"average":5.3829707493361845},"purl":"pkg:pypi/scramp","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/scramp","docker_dependents_count":210,"docker_downloads_count":291133387,"usage_url":"https://repos.ecosyste.ms/usage/pypi/scramp","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/scramp/dependencies","status":null,"funding_links":["https://github.com/sponsors/tlocke"],"critical":true,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/scramp/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/scramp/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/scramp/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/scramp/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-25T10:18:24.598Z","updated_at":"2023-02-25T10:18:24.598Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/tlocke/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":702509,"maintainers_count":298118,"namespaces_count":0,"keywords_count":231508,"github":"pypi","metadata":{"funded_packages_count":49386},"icon_url":"https://github.com/pypi.png","created_at":"2022-04-04T15:19:23.364Z","updated_at":"2025-07-05T06:30:38.730Z","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":3,"unique_repositories_count_past_30_days":1,"recent_issues":[{"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":"2680303218","node_id":"PR_kwDOO1pBFM6fwi5y","number":24,"state":"closed","title":"Bump scramp from 1.4.5 to 1.4.6","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":"2025-07-21T02:42:19.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-07-21T00:32:55.000Z","updated_at":"2025-07-21T02:42:19.000Z","time_to_close":7764,"merged_at":"2025-07-21T02:42:19.000Z","merged_by":"jirhiker","closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"scramp","old_version":"1.4.5","new_version":"1.4.6","repository_url":"https://github.com/tlocke/scramp"}],"path":null,"ecosystem":"pip"},"body":"Bumps [scramp](https://github.com/tlocke/scramp) from 1.4.5 to 1.4.6.\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tlocke/scramp/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=scramp\u0026package-manager=uv\u0026previous-version=1.4.5\u0026new-version=1.4.6)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot 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/DataIntegrationGroup/NMSampleLocations/pull/24","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataIntegrationGroup%2FNMSampleLocations/issues/24","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/24/packages"},{"uuid":"2645201689","node_id":"PR_kwDOLYTQu86dqpMZ","number":951,"state":"closed","title":"⬆️ Bump the pip group with 5 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":"2025-07-07T22:09:44.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-07-07T00:49:14.000Z","updated_at":"2025-07-07T22:09:44.000Z","time_to_close":76830,"merged_at":"2025-07-07T22:09:44.000Z","merged_by":"shaldengeki","closed_by":null,"dependency_metadata":{"prefix":"⬆️ Bump","group_name":"pip","update_count":5,"packages":[{"name":"boto3","old_version":"1.38.46","new_version":"1.39.3","repository_url":"https://github.com/boto/boto3"},{"name":"boto3-stubs","old_version":"1.38.46","new_version":"1.39.3","repository_url":"https://github.com/youtype/mypy_boto3_builder"},{"name":"botocore","old_version":"1.38.46","new_version":"1.39.3","repository_url":"https://github.com/boto/botocore"},{"name":"scramp","old_version":"1.4.5","new_version":"1.4.6","repository_url":"https://github.com/tlocke/scramp"},{"name":"typing-extensions","old_version":"4.14.0","new_version":"4.14.1","repository_url":"https://github.com/python/typing_extensions"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pip group with 5 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [boto3](https://github.com/boto/boto3) | `1.38.46` | `1.39.3` |\n| [boto3-stubs](https://github.com/youtype/mypy_boto3_builder) | `1.38.46` | `1.39.3` |\n| [botocore](https://github.com/boto/botocore) | `1.38.46` | `1.39.3` |\n| [scramp](https://github.com/tlocke/scramp) | `1.4.5` | `1.4.6` |\n| [typing-extensions](https://github.com/python/typing_extensions) | `4.14.0` | `4.14.1` |\n\nUpdates `boto3` from 1.38.46 to 1.39.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/0e651f9c495df0b19c2de4d3fa572f6f88c38bbd\"\u003e\u003ccode\u003e0e651f9\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.39.3'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/910c8bca827ef2889b86bd2f1e037ac448653b3b\"\u003e\u003ccode\u003e910c8bc\u003c/code\u003e\u003c/a\u003e Bumping version to 1.39.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/579757ae9f9128a3bcb12d536981c09f92bfe36b\"\u003e\u003ccode\u003e579757a\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/0eec555e89ffbe3b34b8246c47c7d275c2220a51\"\u003e\u003ccode\u003e0eec555\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.39.2'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/0dca55060bc4c1ab1c76b85b9fcad6c981ca3484\"\u003e\u003ccode\u003e0dca550\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.39.2' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/7605794add34bd7dee5cf968a3014c873d865937\"\u003e\u003ccode\u003e7605794\u003c/code\u003e\u003c/a\u003e Bumping version to 1.39.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/f37d23b5aff77158a3a65f066d4c905cafa77e5b\"\u003e\u003ccode\u003ef37d23b\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/25a2ebae8632df7ad4e265a6c08c2a9b38f4418c\"\u003e\u003ccode\u003e25a2eba\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.39.1'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/663f92d964923b1576905b7a7800b88fe71d98d7\"\u003e\u003ccode\u003e663f92d\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.39.1' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/ed51302c69bb324d8a8244997895248972a46f7f\"\u003e\u003ccode\u003eed51302\u003c/code\u003e\u003c/a\u003e Bumping version to 1.39.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/boto/boto3/compare/1.38.46...1.39.3\"\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.38.46 to 1.39.3\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 `botocore` from 1.38.46 to 1.39.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/b1236416a88205eb51404e1dbc4ba80dd51b0a71\"\u003e\u003ccode\u003eb123641\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.39.3'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/5ee9ffd8f16b9c054317bc731ab63240d14b807d\"\u003e\u003ccode\u003e5ee9ffd\u003c/code\u003e\u003c/a\u003e Bumping version to 1.39.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/05b5f837e1dcf28871070116f41c82e7bf4b7ba8\"\u003e\u003ccode\u003e05b5f83\u003c/code\u003e\u003c/a\u003e Update endpoints model\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/c9200b424f16de1566068e4d19b82301a69974bb\"\u003e\u003ccode\u003ec9200b4\u003c/code\u003e\u003c/a\u003e Update to latest models\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/0eef9025854a704159978fb3cc5a9c566ac8380e\"\u003e\u003ccode\u003e0eef902\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.39.2'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/1866e7b7f4b64853fbf15ba2fc02766b2f8adc60\"\u003e\u003ccode\u003e1866e7b\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.39.2' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/72f58ef67936d087250c819d0c3e12aa214839b4\"\u003e\u003ccode\u003e72f58ef\u003c/code\u003e\u003c/a\u003e Bumping version to 1.39.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/dcfa47ab9462020cd7b60259d01a31a808cc0e9d\"\u003e\u003ccode\u003edcfa47a\u003c/code\u003e\u003c/a\u003e Update to latest models\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/d722eb51209472e9d2ba4c3849a2281f029db7d3\"\u003e\u003ccode\u003ed722eb5\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.39.1'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/cdf39b2dd84aac7909c4f29ad6ffd037b41515fa\"\u003e\u003ccode\u003ecdf39b2\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.39.1' into develop\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/boto/botocore/compare/1.38.46...1.39.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `scramp` from 1.4.5 to 1.4.6\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tlocke/scramp/commits\"\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.14.1\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.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.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/42027aba3558c9d9133a90bca17f6fecaecc48d8\"\u003e\u003ccode\u003e42027ab\u003c/code\u003e\u003c/a\u003e Prepare release 4.14.1 (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/620\"\u003e#620\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/59d2c20858ac527516ebad5a89c05af514dac94a\"\u003e\u003ccode\u003e59d2c20\u003c/code\u003e\u003c/a\u003e Fix off by one in pickle protocol tests (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/618\"\u003e#618\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/40e22ebb2ca5747eaa9405b152c43a294ac3af37\"\u003e\u003ccode\u003e40e22eb\u003c/code\u003e\u003c/a\u003e Do not use slots for \u003ccode\u003e_TypedDictSpecialForm\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/616\"\u003e#616\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/d17c456d367e88adee4a4e3bef48f81f7e2df473\"\u003e\u003ccode\u003ed17c456\u003c/code\u003e\u003c/a\u003e allow TypedDict as a type argument (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/614\"\u003e#614\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/python/typing_extensions/compare/4.14.0...4.14.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/shaldengeki/monorepo/pull/951","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/shaldengeki%2Fmonorepo/issues/951","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/951/packages"}],"issue_packages":[{"old_version":"1.4.5","new_version":"1.4.8","update_type":"patch","path":null,"pr_created_at":"2026-02-04T20:16:39.000Z","version_change":"1.4.5 → 1.4.8","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.4.5","new_version":"1.4.6","update_type":"patch","path":null,"pr_created_at":"2025-07-21T00:32:55.000Z","version_change":"1.4.5 → 1.4.6","issue":{"uuid":"2680303218","node_id":"PR_kwDOO1pBFM6fwi5y","number":24,"state":"closed","title":"Bump scramp from 1.4.5 to 1.4.6","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":"2025-07-21T02:42:19.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-07-21T00:32:55.000Z","updated_at":"2025-07-21T02:42:19.000Z","time_to_close":7764,"merged_at":"2025-07-21T02:42:19.000Z","merged_by":"jirhiker","closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"scramp","old_version":"1.4.5","new_version":"1.4.6","repository_url":"https://github.com/tlocke/scramp"}],"path":null,"ecosystem":"pip"},"body":"Bumps [scramp](https://github.com/tlocke/scramp) from 1.4.5 to 1.4.6.\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tlocke/scramp/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=scramp\u0026package-manager=uv\u0026previous-version=1.4.5\u0026new-version=1.4.6)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot 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/DataIntegrationGroup/NMSampleLocations/pull/24","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataIntegrationGroup%2FNMSampleLocations/issues/24","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/24/packages"}},{"old_version":"1.4.5","new_version":"1.4.6","update_type":"patch","path":null,"pr_created_at":"2025-07-07T00:49:14.000Z","version_change":"1.4.5 → 1.4.6","issue":{"uuid":"2645201689","node_id":"PR_kwDOLYTQu86dqpMZ","number":951,"state":"closed","title":"⬆️ Bump the pip group with 5 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":"2025-07-07T22:09:44.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-07-07T00:49:14.000Z","updated_at":"2025-07-07T22:09:44.000Z","time_to_close":76830,"merged_at":"2025-07-07T22:09:44.000Z","merged_by":"shaldengeki","closed_by":null,"dependency_metadata":{"prefix":"⬆️ Bump","group_name":"pip","update_count":5,"packages":[{"name":"boto3","old_version":"1.38.46","new_version":"1.39.3","repository_url":"https://github.com/boto/boto3"},{"name":"boto3-stubs","old_version":"1.38.46","new_version":"1.39.3","repository_url":"https://github.com/youtype/mypy_boto3_builder"},{"name":"botocore","old_version":"1.38.46","new_version":"1.39.3","repository_url":"https://github.com/boto/botocore"},{"name":"scramp","old_version":"1.4.5","new_version":"1.4.6","repository_url":"https://github.com/tlocke/scramp"},{"name":"typing-extensions","old_version":"4.14.0","new_version":"4.14.1","repository_url":"https://github.com/python/typing_extensions"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pip group with 5 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [boto3](https://github.com/boto/boto3) | `1.38.46` | `1.39.3` |\n| [boto3-stubs](https://github.com/youtype/mypy_boto3_builder) | `1.38.46` | `1.39.3` |\n| [botocore](https://github.com/boto/botocore) | `1.38.46` | `1.39.3` |\n| [scramp](https://github.com/tlocke/scramp) | `1.4.5` | `1.4.6` |\n| [typing-extensions](https://github.com/python/typing_extensions) | `4.14.0` | `4.14.1` |\n\nUpdates `boto3` from 1.38.46 to 1.39.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/0e651f9c495df0b19c2de4d3fa572f6f88c38bbd\"\u003e\u003ccode\u003e0e651f9\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.39.3'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/910c8bca827ef2889b86bd2f1e037ac448653b3b\"\u003e\u003ccode\u003e910c8bc\u003c/code\u003e\u003c/a\u003e Bumping version to 1.39.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/579757ae9f9128a3bcb12d536981c09f92bfe36b\"\u003e\u003ccode\u003e579757a\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/0eec555e89ffbe3b34b8246c47c7d275c2220a51\"\u003e\u003ccode\u003e0eec555\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.39.2'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/0dca55060bc4c1ab1c76b85b9fcad6c981ca3484\"\u003e\u003ccode\u003e0dca550\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.39.2' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/7605794add34bd7dee5cf968a3014c873d865937\"\u003e\u003ccode\u003e7605794\u003c/code\u003e\u003c/a\u003e Bumping version to 1.39.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/f37d23b5aff77158a3a65f066d4c905cafa77e5b\"\u003e\u003ccode\u003ef37d23b\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/25a2ebae8632df7ad4e265a6c08c2a9b38f4418c\"\u003e\u003ccode\u003e25a2eba\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.39.1'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/663f92d964923b1576905b7a7800b88fe71d98d7\"\u003e\u003ccode\u003e663f92d\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.39.1' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/ed51302c69bb324d8a8244997895248972a46f7f\"\u003e\u003ccode\u003eed51302\u003c/code\u003e\u003c/a\u003e Bumping version to 1.39.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/boto/boto3/compare/1.38.46...1.39.3\"\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.38.46 to 1.39.3\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 `botocore` from 1.38.46 to 1.39.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/b1236416a88205eb51404e1dbc4ba80dd51b0a71\"\u003e\u003ccode\u003eb123641\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.39.3'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/5ee9ffd8f16b9c054317bc731ab63240d14b807d\"\u003e\u003ccode\u003e5ee9ffd\u003c/code\u003e\u003c/a\u003e Bumping version to 1.39.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/05b5f837e1dcf28871070116f41c82e7bf4b7ba8\"\u003e\u003ccode\u003e05b5f83\u003c/code\u003e\u003c/a\u003e Update endpoints model\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/c9200b424f16de1566068e4d19b82301a69974bb\"\u003e\u003ccode\u003ec9200b4\u003c/code\u003e\u003c/a\u003e Update to latest models\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/0eef9025854a704159978fb3cc5a9c566ac8380e\"\u003e\u003ccode\u003e0eef902\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.39.2'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/1866e7b7f4b64853fbf15ba2fc02766b2f8adc60\"\u003e\u003ccode\u003e1866e7b\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.39.2' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/72f58ef67936d087250c819d0c3e12aa214839b4\"\u003e\u003ccode\u003e72f58ef\u003c/code\u003e\u003c/a\u003e Bumping version to 1.39.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/dcfa47ab9462020cd7b60259d01a31a808cc0e9d\"\u003e\u003ccode\u003edcfa47a\u003c/code\u003e\u003c/a\u003e Update to latest models\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/d722eb51209472e9d2ba4c3849a2281f029db7d3\"\u003e\u003ccode\u003ed722eb5\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.39.1'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/botocore/commit/cdf39b2dd84aac7909c4f29ad6ffd037b41515fa\"\u003e\u003ccode\u003ecdf39b2\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.39.1' into develop\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/boto/botocore/compare/1.38.46...1.39.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `scramp` from 1.4.5 to 1.4.6\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tlocke/scramp/commits\"\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.14.1\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.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.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/42027aba3558c9d9133a90bca17f6fecaecc48d8\"\u003e\u003ccode\u003e42027ab\u003c/code\u003e\u003c/a\u003e Prepare release 4.14.1 (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/620\"\u003e#620\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/59d2c20858ac527516ebad5a89c05af514dac94a\"\u003e\u003ccode\u003e59d2c20\u003c/code\u003e\u003c/a\u003e Fix off by one in pickle protocol tests (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/618\"\u003e#618\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/40e22ebb2ca5747eaa9405b152c43a294ac3af37\"\u003e\u003ccode\u003e40e22eb\u003c/code\u003e\u003c/a\u003e Do not use slots for \u003ccode\u003e_TypedDictSpecialForm\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/616\"\u003e#616\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/d17c456d367e88adee4a4e3bef48f81f7e2df473\"\u003e\u003ccode\u003ed17c456\u003c/code\u003e\u003c/a\u003e allow TypedDict as a type argument (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/614\"\u003e#614\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/python/typing_extensions/compare/4.14.0...4.14.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/shaldengeki/monorepo/pull/951","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/shaldengeki%2Fmonorepo/issues/951","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/951/packages"}}]}