{"id":8320,"name":"textual","ecosystem":"pip","repository_url":"https://github.com/Textualize/textual","issues_count":363,"created_at":"2025-06-06T22:21:44.588Z","updated_at":"2025-06-06T22:21:44.588Z","purl":"pkg:pypi/textual","metadata":{"id":2944558,"name":"textual","ecosystem":"pypi","description":"Modern Text User Interface framework","homepage":"https://github.com/Textualize/textual","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/Textualize/textual","keywords_array":[],"namespace":null,"versions_count":203,"first_release_published_at":"2021-06-03T19:54:55.000Z","latest_release_published_at":"2025-06-01T14:01:37.000Z","latest_release_number":"3.3.0","last_synced_at":"2025-06-06T11:01:22.485Z","created_at":"2022-04-10T12:49:23.436Z","updated_at":"2025-06-06T11:01:22.486Z","registry_url":"https://pypi.org/project/textual/","install_command":"pip install textual --index-url https://pypi.org/simple","documentation_url":"https://textual.textualize.io/","metadata":{"funding":null,"documentation":"https://textual.textualize.io/","classifiers":["Development Status :: 5 - Production/Stable","Environment :: Console","Intended Audience :: Developers","License :: OSI Approved :: MIT License","Operating System :: MacOS","Operating System :: Microsoft :: Windows :: Windows 10","Operating System :: Microsoft :: Windows :: Windows 11","Operating System :: POSIX :: Linux","Programming Language :: Python :: 3","Programming Language :: Python :: 3.10","Programming Language :: Python :: 3.11","Programming Language :: Python :: 3.12","Programming Language :: Python :: 3.13","Programming Language :: Python :: 3.8","Programming Language :: Python :: 3.9","Typing :: Typed"],"normalized_name":"textual"},"repo_metadata":{"id":37088063,"uuid":"355959597","full_name":"Textualize/textual","owner":"Textualize","description":"The lean application framework for Python.  Build sophisticated user interfaces with a simple Python API. Run your apps in the terminal and a web browser.","archived":false,"fork":false,"pushed_at":"2024-08-26T15:46:42.000Z","size":375705,"stargazers_count":24841,"open_issues_count":137,"forks_count":761,"subscribers_count":161,"default_branch":"main","last_synced_at":"2024-08-27T09:08:55.228Z","etag":null,"topics":["cli","framework","python","rich","terminal","tui"],"latest_commit_sha":null,"homepage":"https://textual.textualize.io/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Textualize.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":"docs/roadmap.md","authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":null},"created_at":"2021-04-08T15:24:47.000Z","updated_at":"2024-08-27T08:58:49.000Z","dependencies_parsed_at":"2023-07-14T00:47:29.901Z","dependency_job_id":"f62ea573-0431-4c82-b7c9-a394fa7a7c3b","html_url":"https://github.com/Textualize/textual","commit_stats":{"total_commits":4966,"total_committers":80,"mean_commits":62.075,"dds":0.513693113169553,"last_synced_commit":"441b98d7a727053025f253cef26f12981368fcbc"},"previous_names":["willmcgugan/textual"],"tags_count":125,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Textualize","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":217148915,"owners_count":16132464,"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":"Textualize","name":"Textualize","uuid":"93378883","kind":"organization","description":"Move at terminal velocity","email":"will@textualize.io","website":"https://www.textualize.io","location":null,"twitter":"textualizeio","company":null,"icon_url":"https://avatars.githubusercontent.com/u/93378883?v=4","repositories_count":26,"last_synced_at":"2024-05-11T22:41:35.075Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/Textualize","funding_links":[],"total_stars":81620,"followers":1475,"following":0,"created_at":"2022-11-14T09:44:14.960Z","updated_at":"2024-05-11T22:41:35.474Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Textualize","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Textualize/repositories"},"tags":[{"name":"v0.78.0","sha":"6aebb0e04887ff7625061bbea0a8d9eb5ef179a5","kind":"commit","published_at":"2024-08-27T12:17:46.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.78.0","html_url":"https://github.com/Textualize/textual/releases/tag/v0.78.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.78.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.78.0/manifests"},{"name":"v0.77.0","sha":"0638f2f3b7590808a5ff49acdd2620ce51e194bf","kind":"commit","published_at":"2024-08-22T14:08:59.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.77.0","html_url":"https://github.com/Textualize/textual/releases/tag/v0.77.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.77.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.77.0/manifests"},{"name":"v0.76.0","sha":"6f5eb419a6dd48aa1727677360f67ad405c0bd51","kind":"commit","published_at":"2024-08-09T09:22:27.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.76.0","html_url":"https://github.com/Textualize/textual/releases/tag/v0.76.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.76.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.76.0/manifests"},{"name":"v0.75.1","sha":"319e8aae5a41393dc412114edc74fe4b922313a5","kind":"tag","published_at":"2024-08-07T15:44:24.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.75.1","html_url":"https://github.com/Textualize/textual/releases/tag/v0.75.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.75.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.75.1/manifests"},{"name":"v0.75.0","sha":"fcab581415cc7de32a00da85fa847a0db7d378a8","kind":"commit","published_at":"2024-08-01T15:02:47.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.75.0","html_url":"https://github.com/Textualize/textual/releases/tag/v0.75.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.75.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.75.0/manifests"},{"name":"v0.74.0","sha":"262b3af00fe36e3c7cb34a72e9a333d1eee2f885","kind":"commit","published_at":"2024-07-25T10:58:32.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.74.0","html_url":"https://github.com/Textualize/textual/releases/tag/v0.74.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.74.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.74.0/manifests"},{"name":"v0.73.0","sha":"22d0d422517a7779a7d27bead223bf2701878fc5","kind":"commit","published_at":"2024-07-18T15:35:06.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.73.0","html_url":"https://github.com/Textualize/textual/releases/tag/v0.73.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.73.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.73.0/manifests"},{"name":"v0.72.0","sha":"b1b27f6714210af933fc53ab02b9e2bbc0775b32","kind":"commit","published_at":"2024-07-09T12:07:27.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.72.0","html_url":"https://github.com/Textualize/textual/releases/tag/v0.72.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.72.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.72.0/manifests"},{"name":"v0.71.1","sha":"f2add3c40089556a8755cbf870efffb2fa7acc97","kind":"commit","published_at":"2024-06-29T09:58:19.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.71.1","html_url":"https://github.com/Textualize/textual/releases/tag/v0.71.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.71.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.71.1/manifests"},{"name":"v0.70.0","sha":"4d0293f81e743871529ce205fc661e0b8ca9cf12","kind":"commit","published_at":"2024-06-19T11:55:53.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.70.0","html_url":"https://github.com/Textualize/textual/releases/tag/v0.70.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.70.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.70.0/manifests"},{"name":"v0.69.0","sha":"4009167a98fa04d547f7731819d31475ae3a4a68","kind":"commit","published_at":"2024-06-16T18:03:53.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.69.0","html_url":"https://github.com/Textualize/textual/releases/tag/v0.69.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.69.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.69.0/manifests"},{"name":"v0.68.0","sha":"fd3d5fd3124fa44aa89d25d7b5ec7a4295070e94","kind":"commit","published_at":"2024-06-14T10:04:04.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.68.0","html_url":"https://github.com/Textualize/textual/releases/tag/v0.68.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.68.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.68.0/manifests"},{"name":"v0.67.1","sha":"a15f7b6d13d6e78c6c18155e7960225d602fc3c6","kind":"commit","published_at":"2024-06-11T14:51:40.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.67.1","html_url":"https://github.com/Textualize/textual/releases/tag/v0.67.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.67.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.67.1/manifests"},{"name":"v0.67.0","sha":"92583b5ec202b0c036a754c9b3e4f03998766cf4","kind":"commit","published_at":"2024-06-11T13:42:54.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.67.0","html_url":"https://github.com/Textualize/textual/releases/tag/v0.67.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.67.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.67.0/manifests"},{"name":"v0.66.0","sha":"91c7fc764eb929bc702bee43d38c7f8aa009c1d0","kind":"commit","published_at":"2024-06-08T13:30:52.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.66.0","html_url":"https://github.com/Textualize/textual/releases/tag/v0.66.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.66.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.66.0/manifests"},{"name":"v0.65.2","sha":"1613d7cab8bb3a4caa00d51b9c0f4b7a919d22c9","kind":"commit","published_at":"2024-06-06T17:12:53.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.65.2","html_url":"https://github.com/Textualize/textual/releases/tag/v0.65.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.65.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.65.2/manifests"},{"name":"v0.65.1","sha":"792527334b55bb90dfbc42401f4a90dcb19eff82","kind":"commit","published_at":"2024-06-05T17:03:54.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.65.1","html_url":"https://github.com/Textualize/textual/releases/tag/v0.65.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.65.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.65.1/manifests"},{"name":"v0.65.0","sha":"3291b0216e89f9a9c7be9955a89c69d11f4ba2dd","kind":"commit","published_at":"2024-06-05T14:49:11.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.65.0","html_url":"https://github.com/Textualize/textual/releases/tag/v0.65.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.65.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.65.0/manifests"},{"name":"v0.64.0","sha":"7251aac269bc7dab00272a3c7a589a875b3d55d7","kind":"commit","published_at":"2024-06-03T14:48:46.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.64.0","html_url":"https://github.com/Textualize/textual/releases/tag/v0.64.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.64.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.64.0/manifests"},{"name":"v0.63.6","sha":"a44119d16807f3d8bade4f350743e55f4eff744c","kind":"commit","published_at":"2024-05-29T10:45:53.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.63.6","html_url":"https://github.com/Textualize/textual/releases/tag/v0.63.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.63.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.63.6/manifests"},{"name":"v0.63.5","sha":"4adaf03050393497949f5282cdbde8d0f7d57d20","kind":"commit","published_at":"2024-05-28T11:30:17.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.63.5","html_url":"https://github.com/Textualize/textual/releases/tag/v0.63.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.63.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.63.5/manifests"},{"name":"v0.63.4","sha":"c0e674308d0984b7b50e16d64ddb55e388c02fb5","kind":"commit","published_at":"2024-05-26T13:16:24.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.63.4","html_url":"https://github.com/Textualize/textual/releases/tag/v0.63.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.63.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.63.4/manifests"},{"name":"v0.63.3","sha":"fa37983ff707e55e9860a8b834c1fea4e7d6eb55","kind":"commit","published_at":"2024-05-24T15:44:17.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.63.3","html_url":"https://github.com/Textualize/textual/releases/tag/v0.63.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.63.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.63.3/manifests"},{"name":"v0.63.2","sha":"def421f205b479a129869ffc17ec6e78d1e50b67","kind":"commit","published_at":"2024-05-23T07:57:57.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.63.2","html_url":"https://github.com/Textualize/textual/releases/tag/v0.63.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.63.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.63.2/manifests"},{"name":"v0.63.1","sha":"62a4db505ee3bc05f89e5ce031976130bdab6f0b","kind":"commit","published_at":"2024-05-22T19:55:14.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.63.1","html_url":"https://github.com/Textualize/textual/releases/tag/v0.63.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.63.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.63.1/manifests"},{"name":"v0.63.0","sha":"915b7691fbc461b7530053e848df4bd0938544c8","kind":"commit","published_at":"2024-05-22T16:42:40.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.63.0","html_url":"https://github.com/Textualize/textual/releases/tag/v0.63.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.63.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.63.0/manifests"},{"name":"v0.62.0","sha":"964d988ac99fff1cad744b592844e4a5646023f5","kind":"commit","published_at":"2024-05-20T18:39:53.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.62.0","html_url":"https://github.com/Textualize/textual/releases/tag/v0.62.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.62.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.62.0/manifests"},{"name":"v0.61.1","sha":"4a2091575703e8c6da16d18858406bbd9efa333c","kind":"commit","published_at":"2024-05-19T14:11:29.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.61.1","html_url":"https://github.com/Textualize/textual/releases/tag/v0.61.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.61.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.61.1/manifests"},{"name":"v0.61.0","sha":"99235b0f31a390a2a2036d48e4b666cae539b918","kind":"commit","published_at":"2024-05-18T10:13:07.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.61.0","html_url":"https://github.com/Textualize/textual/releases/tag/v0.61.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.61.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.61.0/manifests"},{"name":"v0.60.1","sha":"6c099d055f93412cb68ffd0524cdd5f86d4f6794","kind":"commit","published_at":"2024-05-15T16:34:41.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.60.1","html_url":"https://github.com/Textualize/textual/releases/tag/v0.60.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.60.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.60.1/manifests"},{"name":"v0.60.0","sha":"926b4e366552efe021c286927e3183d415860616","kind":"commit","published_at":"2024-05-14T14:34:10.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.60.0","html_url":"https://github.com/Textualize/textual/releases/tag/v0.60.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.60.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.60.0/manifests"},{"name":"v0.59.0","sha":"a70636444d850eaecc240efd6a7766c29d057557","kind":"commit","published_at":"2024-05-11T11:08:14.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.59.0","html_url":"https://github.com/Textualize/textual/releases/tag/v0.59.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.59.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.59.0/manifests"},{"name":"v0.58.1","sha":"fd16a0487d4ce2acd5dd180eac255d5c4a032197","kind":"commit","published_at":"2024-05-01T15:42:12.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.58.1","html_url":"https://github.com/Textualize/textual/releases/tag/v0.58.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.58.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.58.1/manifests"},{"name":"v0.58.0","sha":"a5cab15cc10143fb49771231c35cbe5665083f9c","kind":"commit","published_at":"2024-04-25T10:33:41.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.58.0","html_url":"https://github.com/Textualize/textual/releases/tag/v0.58.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.58.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.58.0/manifests"},{"name":"v0.57.1","sha":"e806f96c9bd97fc94c28132b924f4285786321d7","kind":"commit","published_at":"2024-04-20T16:30:39.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.57.1","html_url":"https://github.com/Textualize/textual/releases/tag/v0.57.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.57.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.57.1/manifests"},{"name":"v0.57.0","sha":"f9b549a4eb03fb078c08a1089e13d55009a7b2b1","kind":"commit","published_at":"2024-04-19T10:24:18.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.57.0","html_url":"https://github.com/Textualize/textual/releases/tag/v0.57.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.57.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.57.0/manifests"},{"name":"v0.56.4","sha":"ddcf9a767e1322a4dc0a8dfcbd6c434ef335067b","kind":"commit","published_at":"2024-04-09T15:06:08.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.56.4","html_url":"https://github.com/Textualize/textual/releases/tag/v0.56.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.56.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.56.4/manifests"},{"name":"v0.56.3","sha":"7aebd25d4b3e31f46c74761d6a98030fff8424be","kind":"commit","published_at":"2024-04-08T15:46:03.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.56.3","html_url":"https://github.com/Textualize/textual/releases/tag/v0.56.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.56.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.56.3/manifests"},{"name":"v0.56.2","sha":"4d862c7ed26e025abbf4579f8caea5bf1de27be1","kind":"commit","published_at":"2024-04-07T14:18:34.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.56.2","html_url":"https://github.com/Textualize/textual/releases/tag/v0.56.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.56.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.56.2/manifests"},{"name":"v0.56.1","sha":"1a7f9fffe12cb9484e948f3dee3cbe0d1067737c","kind":"commit","published_at":"2024-04-07T13:44:37.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.56.1","html_url":"https://github.com/Textualize/textual/releases/tag/v0.56.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.56.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.56.1/manifests"},{"name":"v0.56.0","sha":"fe24cc21f02015fa4256f7f2b66417934122fc77","kind":"commit","published_at":"2024-04-06T11:03:55.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.56.0","html_url":"https://github.com/Textualize/textual/releases/tag/v0.56.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.56.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.56.0/manifests"},{"name":"v0.55.1","sha":"1154b56aa0bd36e04b7c6078d3aa59245c2e8ab0","kind":"commit","published_at":"2024-04-02T15:08:34.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.55.1","html_url":"https://github.com/Textualize/textual/releases/tag/v0.55.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.55.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.55.1/manifests"},{"name":"v0.55.0","sha":"dddb6bc7f7de4fa592fe6088ac33f0ab8bd319a8","kind":"commit","published_at":"2024-04-01T12:25:36.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.55.0","html_url":"https://github.com/Textualize/textual/releases/tag/v0.55.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.55.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.55.0/manifests"},{"name":"v0.54.0","sha":"5cc4ee3c2a3912776fa450c5d13bd5cc7c475a01","kind":"commit","published_at":"2024-03-26T10:53:57.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.54.0","html_url":"https://github.com/Textualize/textual/releases/tag/v0.54.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.54.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.54.0/manifests"},{"name":"v0.53.1","sha":"a39638904870084ef46a02d69b0dd932ca0cb413","kind":"commit","published_at":"2024-03-18T15:36:25.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.53.1","html_url":"https://github.com/Textualize/textual/releases/tag/v0.53.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.53.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.53.1/manifests"},{"name":"v0.53.0","sha":"2c52fd7f8011e39bb626f3c098f4055670242676","kind":"commit","published_at":"2024-03-18T14:29:02.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.53.0","html_url":"https://github.com/Textualize/textual/releases/tag/v0.53.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.53.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.53.0/manifests"},{"name":"v0.52.1","sha":"74875ae9272c350f9b45d2784d8d5140c28b6c48","kind":"commit","published_at":"2024-02-20T10:39:09.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.52.1","html_url":"https://github.com/Textualize/textual/releases/tag/v0.52.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.52.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.52.1/manifests"},{"name":"v0.52.0","sha":"5d21a0adef5ffa9aca362a36faeddb2ef154d471","kind":"commit","published_at":"2024-02-19T16:23:49.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.52.0","html_url":"https://github.com/Textualize/textual/releases/tag/v0.52.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.52.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.52.0/manifests"},{"name":"v0.51.0","sha":"8007c8f40ee3946de4cb7514ec722dedf64f8103","kind":"commit","published_at":"2024-02-15T17:30:14.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.51.0","html_url":"https://github.com/Textualize/textual/releases/tag/v0.51.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.51.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.51.0/manifests"},{"name":"v0.50.1","sha":"718e54e6b9a55737f125ead20f1b1c42c5602e66","kind":"commit","published_at":"2024-02-09T18:20:58.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.50.1","html_url":"https://github.com/Textualize/textual/releases/tag/v0.50.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.50.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.50.1/manifests"},{"name":"v0.50.0","sha":"ca3d9f67b87de286ebb589412343e581e16b0ac1","kind":"commit","published_at":"2024-02-08T17:35:34.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.50.0","html_url":"https://github.com/Textualize/textual/releases/tag/v0.50.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.50.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.50.0/manifests"},{"name":"v0.49.0","sha":"d2a586b94a0adec871122bef5bc237d6ade8154c","kind":"commit","published_at":"2024-02-07T13:07:40.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.49.0","html_url":"https://github.com/Textualize/textual/releases/tag/v0.49.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.49.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.49.0/manifests"},{"name":"v0.48.2","sha":"6459878b80360243e9daee3036e1b576f7542f02","kind":"commit","published_at":"2024-02-02T16:35:07.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.48.2","html_url":"https://github.com/Textualize/textual/releases/tag/v0.48.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.48.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.48.2/manifests"},{"name":"v0.48.1","sha":"ecb8257a85b0512a4f58016569af2c0193005b88","kind":"commit","published_at":"2024-02-01T11:32:21.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.48.1","html_url":"https://github.com/Textualize/textual/releases/tag/v0.48.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.48.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.48.1/manifests"},{"name":"v0.48.0","sha":"7f1d0f8df792a62e7af83449f7c0eb4b1038f434","kind":"commit","published_at":"2024-02-01T10:08:56.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.48.0","html_url":"https://github.com/Textualize/textual/releases/tag/v0.48.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.48.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.48.0/manifests"},{"name":"v0.47.1","sha":"aced8548076ebdff34ab8f0e94dccfd315b24135","kind":"commit","published_at":"2024-01-05T11:35:29.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.47.1","html_url":"https://github.com/Textualize/textual/releases/tag/v0.47.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.47.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.47.1/manifests"},{"name":"v0.47.0","sha":"b7f998a8a589ae0ed96f15f49cb27b0fa423c148","kind":"commit","published_at":"2024-01-04T15:19:12.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.47.0","html_url":"https://github.com/Textualize/textual/releases/tag/v0.47.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.47.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.47.0/manifests"},{"name":"v0.46.0","sha":"1c8dc5d74e4e791f746cdc8a10c0272c9e1dff97","kind":"commit","published_at":"2023-12-17T20:17:20.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.46.0","html_url":"https://github.com/Textualize/textual/releases/tag/v0.46.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.46.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.46.0/manifests"},{"name":"v0.45.1","sha":"4bfb82ac06e618092963942ee616b7256b4ee597","kind":"commit","published_at":"2023-12-12T21:20:22.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.45.1","html_url":"https://github.com/Textualize/textual/releases/tag/v0.45.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.45.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.45.1/manifests"},{"name":"v0.45.0","sha":"21ba7dbcf63973067aa283733f5e7f5f3df56563","kind":"commit","published_at":"2023-12-12T14:42:07.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.45.0","html_url":"https://github.com/Textualize/textual/releases/tag/v0.45.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.45.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.45.0/manifests"},{"name":"v0.44.1","sha":"ad3934bc9d41bdd7914a2552c529aa85b86c746e","kind":"commit","published_at":"2023-12-04T13:56:49.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.44.1","html_url":"https://github.com/Textualize/textual/releases/tag/v0.44.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.44.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.44.1/manifests"},{"name":"v0.44.0","sha":"e537125baab4f1911f40038e68c73ecd79d7575a","kind":"commit","published_at":"2023-12-01T11:50:46.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.44.0","html_url":"https://github.com/Textualize/textual/releases/tag/v0.44.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.44.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.44.0/manifests"},{"name":"v0.43.2","sha":"1a76b628c78c15c0dca4e31f76c5ce6d43c80cbf","kind":"commit","published_at":"2023-11-29T13:28:24.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.43.2","html_url":"https://github.com/Textualize/textual/releases/tag/v0.43.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.43.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.43.2/manifests"},{"name":"v0.43.1","sha":"eed7a94edac0f2402775d83e7a646a4a0153c165","kind":"commit","published_at":"2023-11-29T10:18:36.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.43.1","html_url":"https://github.com/Textualize/textual/releases/tag/v0.43.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.43.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.43.1/manifests"},{"name":"v0.43.0","sha":"60766a30560562567bd881de90a73e6d8aa0b730","kind":"commit","published_at":"2023-11-28T14:32:18.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.43.0","html_url":"https://github.com/Textualize/textual/releases/tag/v0.43.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.43.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.43.0/manifests"},{"name":"v0.42.0","sha":"a64a0d21d787016df9dde84287cb36ecda50b787","kind":"commit","published_at":"2023-11-22T16:17:26.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.42.0","html_url":"https://github.com/Textualize/textual/releases/tag/v0.42.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.42.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.42.0/manifests"},{"name":"v0.41.0","sha":"b3d60432f199be944dd43490be2da7db84da6c6e","kind":"commit","published_at":"2023-10-31T13:24:03.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.41.0","html_url":"https://github.com/Textualize/textual/releases/tag/v0.41.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.41.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.41.0/manifests"},{"name":"v0.40.0","sha":"7e25daa5453b1153a441312fc61ae0b8e06f5285","kind":"commit","published_at":"2023-10-11T15:54:56.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.40.0","html_url":"https://github.com/Textualize/textual/releases/tag/v0.40.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.40.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.40.0/manifests"},{"name":"v0.39.0","sha":"927e59b0013336faa8f25bf7fc984a09ad1a7cbf","kind":"commit","published_at":"2023-10-10T14:47:30.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.39.0","html_url":"https://github.com/Textualize/textual/releases/tag/v0.39.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.39.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.39.0/manifests"},{"name":"v0.38.1","sha":"9eb7b4c7c7b496a0051d8a821a66997a30629930","kind":"commit","published_at":"2023-09-21T16:16:49.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.38.1","html_url":"https://github.com/Textualize/textual/releases/tag/v0.38.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.38.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.38.1/manifests"},{"name":"v0.38.0","sha":"701cd2547209e66328525e621920901f370c1210","kind":"commit","published_at":"2023-09-21T11:56:20.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.38.0","html_url":"https://github.com/Textualize/textual/releases/tag/v0.38.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.38.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.38.0/manifests"},{"name":"v0.37.1","sha":"6d561d4ed01b3d52b558c884d7af3a64c861e116","kind":"commit","published_at":"2023-09-16T09:56:11.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.37.1","html_url":"https://github.com/Textualize/textual/releases/tag/v0.37.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.37.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.37.1/manifests"},{"name":"v0.37.0","sha":"4dc8358c637d0c0d3d4c097f1e3ceaeb89c9ea00","kind":"commit","published_at":"2023-09-15T15:40:05.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.37.0","html_url":"https://github.com/Textualize/textual/releases/tag/v0.37.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.37.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.37.0/manifests"},{"name":"v0.36.0","sha":"11ba91a275a7a16fa20b021f0bc24c9e916707fc","kind":"commit","published_at":"2023-09-05T12:54:56.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.36.0","html_url":"https://github.com/Textualize/textual/releases/tag/v0.36.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.36.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.36.0/manifests"},{"name":"v0.35.1","sha":"2519063389a4886fc06efc6d5777ba4581650f32","kind":"commit","published_at":"2023-08-26T16:19:13.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.35.1","html_url":"https://github.com/Textualize/textual/releases/tag/v0.35.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.35.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.35.1/manifests"},{"name":"v0.35.0","sha":"2519063389a4886fc06efc6d5777ba4581650f32","kind":"commit","published_at":"2023-08-26T16:19:13.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.35.0","html_url":"https://github.com/Textualize/textual/releases/tag/v0.35.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.35.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.35.0/manifests"},{"name":"v0.34.0","sha":"bc1af586b5a7e8beb9aa0bec9aacc6b743780f08","kind":"commit","published_at":"2023-08-22T12:05:09.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.34.0","html_url":"https://github.com/Textualize/textual/releases/tag/v0.34.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.34.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.34.0/manifests"},{"name":"v0.33.0","sha":"4e87a0f06e2bd38c9fd4f58981af04c4b4652f36","kind":"commit","published_at":"2023-08-15T16:06:02.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.33.0","html_url":"https://github.com/Textualize/textual/releases/tag/v0.33.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.33.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.33.0/manifests"},{"name":"v0.32.0","sha":"879c985296d1aa72194593b445e3ffaa1d1543f0","kind":"commit","published_at":"2023-08-03T09:11:17.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.32.0","html_url":"https://github.com/Textualize/textual/releases/tag/v0.32.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.32.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.32.0/manifests"},{"name":"v0.31.0","sha":"b045306c696f6829e5ad998bb5e2441bb8260345","kind":"commit","published_at":"2023-08-01T10:08:12.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.31.0","html_url":"https://github.com/Textualize/textual/releases/tag/v0.31.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.31.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.31.0/manifests"},{"name":"v0.30.0","sha":"ec58b914cf902bd6056b6c285a2bb9ade02a3537","kind":"commit","published_at":"2023-07-17T13:08:32.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.30.0","html_url":"https://github.com/Textualize/textual/releases/tag/v0.30.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.30.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.30.0/manifests"},{"name":"v0.29.0","sha":"65e81c58bef7cd9953fd4df7714c1e6ca1f3961b","kind":"commit","published_at":"2023-07-03T14:37:40.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.29.0","html_url":"https://github.com/Textualize/textual/releases/tag/v0.29.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.29.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.29.0/manifests"},{"name":"v0.28.1","sha":"14aeb31cd91af52256c8eb389ba2422dd81bd020","kind":"commit","published_at":"2023-06-20T08:27:17.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.28.1","html_url":"https://github.com/Textualize/textual/releases/tag/v0.28.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.28.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.28.1/manifests"},{"name":"v0.28.0","sha":"82411ad337e69bf46394e201096ae6467777b429","kind":"commit","published_at":"2023-06-19T09:26:47.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.28.0","html_url":"https://github.com/Textualize/textual/releases/tag/v0.28.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.28.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.28.0/manifests"},{"name":"v0.27.0","sha":"58a9cb19092846d592d958b9845bbe8678373d54","kind":"commit","published_at":"2023-06-01T10:33:54.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.27.0","html_url":"https://github.com/Textualize/textual/releases/tag/v0.27.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.27.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.27.0/manifests"},{"name":"v0.26.0","sha":"7d0d1ac5c8c48fab401c0271c7f58fabff428d4c","kind":"commit","published_at":"2023-05-20T10:30:42.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.26.0","html_url":"https://github.com/Textualize/textual/releases/tag/v0.26.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.26.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.26.0/manifests"},{"name":"v0.25.0","sha":"ff5665051b8b80868b34168b1104d23d7b4fad23","kind":"commit","published_at":"2023-05-17T15:30:36.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.25.0","html_url":"https://github.com/Textualize/textual/releases/tag/v0.25.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.25.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.25.0/manifests"},{"name":"v0.24.1","sha":"e3115c50bf836720d0d9a1e34a30cb48e930dd22","kind":"commit","published_at":"2023-05-08T17:42:10.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.24.1","html_url":"https://github.com/Textualize/textual/releases/tag/v0.24.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.24.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.24.1/manifests"},{"name":"v0.24.0","sha":"dc102563e9fdc2a1584ea85f270b487f280e5b2c","kind":"commit","published_at":"2023-05-08T16:45:06.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.24.0","html_url":"https://github.com/Textualize/textual/releases/tag/v0.24.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.24.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.24.0/manifests"},{"name":"v0.23.0","sha":"e5c54a36832b69e30da01f66fcfe629ec3c3b8c9","kind":"commit","published_at":"2023-05-03T12:22:22.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.23.0","html_url":"https://github.com/Textualize/textual/releases/tag/v0.23.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.23.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.23.0/manifests"},{"name":"v0.22.3","sha":"8fac2c7d2a335f0646cedcae17401f29aa4258c7","kind":"commit","published_at":"2023-04-28T19:56:28.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.22.3","html_url":"https://github.com/Textualize/textual/releases/tag/v0.22.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.22.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.22.3/manifests"},{"name":"v0.22.2","sha":"c5053eca81a76bc95c9f28f2f21dda1dda3eda33","kind":"commit","published_at":"2023-04-28T17:08:57.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.22.2","html_url":"https://github.com/Textualize/textual/releases/tag/v0.22.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.22.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.22.2/manifests"},{"name":"v0.22.1","sha":"e15df80a8c127ff72a9e840292cccb0ceea3d6d1","kind":"commit","published_at":"2023-04-28T11:38:02.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.22.1","html_url":"https://github.com/Textualize/textual/releases/tag/v0.22.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.22.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.22.1/manifests"},{"name":"v0.22.0","sha":"124c45e68c5bc2c8fffbef0d9b928b136ab3f71e","kind":"commit","published_at":"2023-04-27T14:01:46.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.22.0","html_url":"https://github.com/Textualize/textual/releases/tag/v0.22.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.22.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.22.0/manifests"},{"name":"v0.21.0","sha":"f20df9b075bfe06f17b5bd0348283a38aebbab93","kind":"commit","published_at":"2023-04-26T12:55:41.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.21.0","html_url":"https://github.com/Textualize/textual/releases/tag/v0.21.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.21.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.21.0/manifests"},{"name":"v0.20.1","sha":"4981effcba7dc5c5bebcd21db7e8256f6b94840f","kind":"commit","published_at":"2023-04-18T15:46:10.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.20.1","html_url":"https://github.com/Textualize/textual/releases/tag/v0.20.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.20.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.20.1/manifests"},{"name":"v0.20.0","sha":"cc41a7f81d654c8350157077ebc1a0eeaf180b56","kind":"commit","published_at":"2023-04-18T12:41:15.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.20.0","html_url":"https://github.com/Textualize/textual/releases/tag/v0.20.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.20.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.20.0/manifests"},{"name":"v0.19.1","sha":"4f7b2d00bc0429711edf223534486136189b2d70","kind":"commit","published_at":"2023-04-10T15:50:34.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.19.1","html_url":"https://github.com/Textualize/textual/releases/tag/v0.19.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.19.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.19.1/manifests"},{"name":"v0.19.0","sha":"e9ec62762973e465bb0ffb5daf6518b5cefdf34a","kind":"commit","published_at":"2023-04-07T08:52:21.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.19.0","html_url":"https://github.com/Textualize/textual/releases/tag/v0.19.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.19.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.19.0/manifests"},{"name":"v0.18.0","sha":"b5689b1f6938786391cd6724cbdbbc2132f8e347","kind":"commit","published_at":"2023-04-04T12:12:51.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.18.0","html_url":"https://github.com/Textualize/textual/releases/tag/v0.18.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.18.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.18.0/manifests"},{"name":"v0.17.3","sha":"eab073e603c7d165b8a063f59ef136cd58c514be","kind":"commit","published_at":"2023-04-02T08:56:50.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.17.3","html_url":"https://github.com/Textualize/textual/releases/tag/v0.17.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.17.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.17.3/manifests"},{"name":"v0.17.2","sha":"e4d158d041a9fc4ff1af4bb11969e892f49850dd","kind":"commit","published_at":"2023-04-02T07:54:40.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.17.2","html_url":"https://github.com/Textualize/textual/releases/tag/v0.17.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.17.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.17.2/manifests"},{"name":"v0.17.1","sha":"87f96ef8a1e1e7fd0f8df4e62c409c89782053dd","kind":"commit","published_at":"2023-03-30T10:04:04.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.17.1","html_url":"https://github.com/Textualize/textual/releases/tag/v0.17.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.17.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.17.1/manifests"},{"name":"v0.17.0","sha":"2cd8295325e17ef796b3b821355802e21aeb78fc","kind":"commit","published_at":"2023-03-29T15:29:28.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.17.0","html_url":"https://github.com/Textualize/textual/releases/tag/v0.17.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.17.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.17.0/manifests"},{"name":"v0.16.0","sha":"9529cac35212b83ac06f0545e6069be1cd80a23a","kind":"commit","published_at":"2023-03-22T13:38:23.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.16.0","html_url":"https://github.com/Textualize/textual/releases/tag/v0.16.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.16.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.16.0/manifests"},{"name":"v0.15.1","sha":"507ee48967cfddaf3a3ae9a4a9cec811c838f64d","kind":"commit","published_at":"2023-03-14T09:57:31.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.15.1","html_url":"https://github.com/Textualize/textual/releases/tag/v0.15.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.15.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.15.1/manifests"},{"name":"v0.15.0","sha":"a3887dfcbb7fe47cc6e10da7645d01cffe1a91e3","kind":"commit","published_at":"2023-03-13T15:48:41.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.15.0","html_url":"https://github.com/Textualize/textual/releases/tag/v0.15.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.15.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.15.0/manifests"},{"name":"v0.14.0","sha":"503c03730ed2fb2029925aa43623dde1cd0b9600","kind":"commit","published_at":"2023-03-09T15:01:21.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.14.0","html_url":"https://github.com/Textualize/textual/releases/tag/v0.14.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.14.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.14.0/manifests"},{"name":"v0.13.0","sha":"55fc89cf147acd2110d3a2b8b0b08cf9675b06cb","kind":"commit","published_at":"2023-03-02T14:51:59.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.13.0","html_url":"https://github.com/Textualize/textual/releases/tag/v0.13.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.13.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.13.0/manifests"},{"name":"v0.12.1","sha":"43849c3e8b814ee307b7e37778a42f1170a25eac","kind":"commit","published_at":"2023-02-25T08:28:18.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.12.1","html_url":"https://github.com/Textualize/textual/releases/tag/v0.12.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.12.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.12.1/manifests"},{"name":"v0.12.0","sha":"3c5ee424112f69a4053553834fa2afd9aa354473","kind":"commit","published_at":"2023-02-24T15:32:24.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.12.0","html_url":"https://github.com/Textualize/textual/releases/tag/v0.12.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.12.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.12.0/manifests"},{"name":"v0.11.1","sha":"01d2fc70e345977bdd01e5d89e1d0041b699ea73","kind":"commit","published_at":"2023-02-17T13:10:50.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.11.1","html_url":"https://github.com/Textualize/textual/releases/tag/v0.11.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.11.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.11.1/manifests"},{"name":"v0.11.0","sha":"a2d48cf7e0bea79d8eb15d6986a7ad53eab0c5da","kind":"commit","published_at":"2023-02-15T11:35:53.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.11.0","html_url":"https://github.com/Textualize/textual/releases/tag/v0.11.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.11.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.11.0/manifests"},{"name":"v0.10.1","sha":"06914628711b7192f812687be9732b1c86c817d5","kind":"commit","published_at":"2023-01-20T09:07:27.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.10.1","html_url":"https://github.com/Textualize/textual/releases/tag/v0.10.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.10.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.10.1/manifests"},{"name":"v0.10.0","sha":"1f71656c2a2473d36e0006d81341cfab091c07d2","kind":"commit","published_at":"2023-01-19T14:38:45.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.10.0","html_url":"https://github.com/Textualize/textual/releases/tag/v0.10.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.10.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.10.0/manifests"},{"name":"v0.9.1","sha":"4cf3aeffa1d77ac675f8e8ea72356345dc4e0ad4","kind":"commit","published_at":"2022-12-30T17:37:53.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.9.1","html_url":"https://github.com/Textualize/textual/releases/tag/v0.9.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.9.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.9.1/manifests"},{"name":"v0.9.0","sha":"c261894373c16e87b400b59265e0e0cadf49e5dd","kind":"commit","published_at":"2022-12-30T13:24:01.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.9.0","html_url":"https://github.com/Textualize/textual/releases/tag/v0.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.9.0/manifests"},{"name":"v0.8.2","sha":"e3201ca2270a1ccc83812bed3b916252793eb034","kind":"commit","published_at":"2022-12-28T10:56:01.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.8.2","html_url":"https://github.com/Textualize/textual/releases/tag/v0.8.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.8.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.8.2/manifests"},{"name":"v0.8.1","sha":"87329b6d077e27e644f43847b68052c03206b6eb","kind":"commit","published_at":"2022-12-25T15:29:25.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.8.1","html_url":"https://github.com/Textualize/textual/releases/tag/v0.8.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.8.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.8.1/manifests"},{"name":"v0.8.0","sha":"f29da41e9af01ec47acb0d123d82cc3385152c6b","kind":"commit","published_at":"2022-12-22T13:05:26.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.8.0","html_url":"https://github.com/Textualize/textual/releases/tag/v0.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.8.0/manifests"},{"name":"v0.7.0","sha":"15417d47a6a921565ef4a8debd4707b394ef85eb","kind":"commit","published_at":"2022-12-17T09:33:44.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.7.0","html_url":"https://github.com/Textualize/textual/releases/tag/v0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.7.0/manifests"},{"name":"v0.6.0","sha":"71e86cea960b8667b7e8fb956abbd40ed5bdbf15","kind":"commit","published_at":"2022-12-11T13:21:49.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.6.0","html_url":"https://github.com/Textualize/textual/releases/tag/v0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.6.0/manifests"},{"name":"v0.5.0","sha":"f5db48211f88b5817e0b444af19486209247e1f0","kind":"commit","published_at":"2022-11-20T16:45:13.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.5.0","html_url":"https://github.com/Textualize/textual/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.5.0/manifests"},{"name":"v0.4.0","sha":"00bcd8260d22c0a24da9cdf76384a14467f8a465","kind":"commit","published_at":"2022-11-08T17:52:35.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.4.0","html_url":"https://github.com/Textualize/textual/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.4.0/manifests"},{"name":"v0.3.0","sha":"fcfd02aca29c864576b3c3c2e675e98c582d6569","kind":"commit","published_at":"2022-10-31T15:57:18.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.3.0","html_url":"https://github.com/Textualize/textual/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.3.0/manifests"},{"name":"v0.2.1","sha":"610dfee84351eb272ec3597a375f0de6d802bc12","kind":"commit","published_at":"2022-10-22T20:43:12.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.2.1","html_url":"https://github.com/Textualize/textual/releases/tag/v0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.2.1/manifests"},{"name":"v0.2.0","sha":"4413b5dd3700061f8e21c35ae2cb4994e6fa68bc","kind":"commit","published_at":"2022-10-22T18:40:23.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.2.0","html_url":"https://github.com/Textualize/textual/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.2.0/manifests"},{"name":"v0.1.18","sha":"e9ab5c4b10d4fc81b369fcf7540238741091aa60","kind":"commit","published_at":"2022-04-30T08:00:39.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.1.18","html_url":"https://github.com/Textualize/textual/releases/tag/v0.1.18","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.1.18","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.1.18/manifests"},{"name":"v0.1.17","sha":"f2b6c0feb7a07b8386954e7b2d4572f5eb93ede2","kind":"commit","published_at":"2022-03-10T15:03:44.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.1.17","html_url":"https://github.com/Textualize/textual/releases/tag/v0.1.17","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.1.17","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.1.17/manifests"},{"name":"v0.1.16","sha":"f2b6c0feb7a07b8386954e7b2d4572f5eb93ede2","kind":"commit","published_at":"2022-03-10T15:03:44.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.1.16","html_url":"https://github.com/Textualize/textual/releases/tag/v0.1.16","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.1.16","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.1.16/manifests"},{"name":"v0.1.15","sha":"b21a01dfe166fc7ea1f4827dc35a0993122d4be0","kind":"commit","published_at":"2022-01-30T14:30:53.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.1.15","html_url":"https://github.com/Textualize/textual/releases/tag/v0.1.15","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.1.15","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.1.15/manifests"},{"name":"v0.1.14","sha":"6f7981e93bb63c0127be537f9c78836af8117d70","kind":"commit","published_at":"2022-01-09T15:41:40.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.1.14","html_url":"https://github.com/Textualize/textual/releases/tag/v0.1.14","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.1.14","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.1.14/manifests"},{"name":"v0.1.13","sha":"eac212444dbc8037c3a9ce8ff5321d75979ac151","kind":"commit","published_at":"2022-01-01T15:05:52.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.1.13","html_url":"https://github.com/Textualize/textual/releases/tag/v0.1.13","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.1.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.1.13/manifests"},{"name":"v0.1.11","sha":"ff64e147a2267e9b43303d93986830da73147bd1","kind":"commit","published_at":"2021-09-12T14:31:15.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.1.11","html_url":"https://github.com/Textualize/textual/releases/tag/v0.1.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.1.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.1.11/manifests"},{"name":"v0.1.10","sha":"1e24aeadfd35a9f55f0c5eb1ab58136d96915fde","kind":"commit","published_at":"2021-08-25T19:26:41.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.1.10","html_url":"https://github.com/Textualize/textual/releases/tag/v0.1.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.1.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.1.10/manifests"},{"name":"v0.1.3","sha":"f3b8e7ab48cc475f76ec35dc2f732bc6cf8a821d","kind":"commit","published_at":"2021-07-05T11:44:17.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.1.3","html_url":"https://github.com/Textualize/textual/releases/tag/v0.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.1.3/manifests"},{"name":"v0.1.2","sha":"7cb90006ab9b154a76bddecab5d96cf59e3dff59","kind":"commit","published_at":"2021-06-24T19:12:25.000Z","download_url":"https://codeload.github.com/Textualize/textual/tar.gz/v0.1.2","html_url":"https://github.com/Textualize/textual/releases/tag/v0.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Ftextual/tags/v0.1.2/manifests"}]},"repo_metadata_updated_at":"2024-09-07T21:45:28.759Z","dependent_packages_count":436,"downloads":10494422,"downloads_period":"last-month","dependent_repos_count":249,"rankings":{"downloads":0.8067220922295044,"dependent_repos_count":0.9513414506575507,"dependent_packages_count":0.10458207621073486,"stargazers_count":0.09335778136120777,"forks_count":1.8801934274153755,"docker_downloads_count":1.2290463098017776,"average":0.8442071896126918},"purl":"pkg:pypi/textual","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/textual","docker_dependents_count":45,"docker_downloads_count":3001,"usage_url":"https://repos.ecosyste.ms/usage/pypi/textual","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/textual/dependencies","status":null,"funding_links":[],"critical":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/textual/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/textual/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/textual/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/textual/related_packages","maintainers":[{"uuid":"willmcgugan","login":"willmcgugan","name":null,"email":null,"url":null,"packages_count":30,"html_url":"https://pypi.org/user/willmcgugan/","role":null,"created_at":"2022-12-11T13:50:22.192Z","updated_at":"2022-12-11T13:50:22.192Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/willmcgugan/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":690419,"maintainers_count":292811,"namespaces_count":0,"keywords_count":228590,"github":"pypi","metadata":{"funded_packages_count":48950},"icon_url":"https://github.com/pypi.png","created_at":"2022-04-04T15:19:23.364Z","updated_at":"2025-06-06T05:32:09.692Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/namespaces"}},"unique_repositories_count":92,"unique_repositories_count_past_30_days":4,"recent_issues":[{"uuid":"4715269302","node_id":"PR_kwDORzZri87pGMdM","number":1049,"state":"open","title":"deps(pip): bump the pip-major group across 1 directory with 2 updates","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-22T09:28:03.000Z","updated_at":"2026-07-02T04:20:50.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(pip): bump","group_name":"pip-major","update_count":2,"packages":[{"name":"rich","old_version":"14.3.4","new_version":"15.0.0","repository_url":"https://github.com/Textualize/rich"},{"name":"textual","old_version":"7.5.0","new_version":"8.2.8","repository_url":"https://github.com/Textualize/textual"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pip-major group with 2 updates in the / directory: [rich](https://github.com/Textualize/rich) and [textual](https://github.com/Textualize/textual).\n\nUpdates `rich` from 14.3.4 to 15.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/rich/releases\"\u003erich's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eThe So Long 3.8 Release\u003c/h2\u003e\n\u003cp\u003eA few fixes. The major version bump is to honor the passing of 3.8 support which reached its EOL in October 7, 2024\u003c/p\u003e\n\u003ch2\u003e[15.0.0] - 2026-04-12\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBreaking change: Dropped support for Python3.8\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed empty print ignoring the \u003ccode\u003eend\u003c/code\u003e parameter \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/4075\"\u003eTextualize/rich#4075\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eText.from_ansi\u003c/code\u003e removing newlines \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/4076\"\u003eTextualize/rich#4076\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eFileProxy.isatty\u003c/code\u003e not proxying \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/4077\"\u003eTextualize/rich#4077\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed inline code in Markdown tables cells \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/4079\"\u003eTextualize/rich#4079\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/Textualize/rich/blob/main/CHANGELOG.md\"\u003erich's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[15.0.0] - 2026-04-12\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBreaking change: Dropped support for Python3.8\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed empty print ignoring the \u003ccode\u003eend\u003c/code\u003e parameter \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/4075\"\u003eTextualize/rich#4075\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eText.from_ansi\u003c/code\u003e removing newlines \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/4076\"\u003eTextualize/rich#4076\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eFileProxy.isatty\u003c/code\u003e not proxying \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/4077\"\u003eTextualize/rich#4077\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed inline code in Markdown tables cells \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/4079\"\u003eTextualize/rich#4079\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/Textualize/rich/commit/6ac483cbea39cab124dfd3483bba70ffafb71050\"\u003e\u003ccode\u003e6ac483c\u003c/code\u003e\u003c/a\u003e correction\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/458a9109c8b7da81c17b2270ea8a88f3e8c0465a\"\u003e\u003ccode\u003e458a910\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/4080\"\u003e#4080\u003c/a\u003e from Textualize/bump1500\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/82e06e0d9985fd8cce456dc3977e0d2d9e84b4d8\"\u003e\u003ccode\u003e82e06e0\u003c/code\u003e\u003c/a\u003e changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/d6556bc44881b9904f29f5d9d69a0812b30675d1\"\u003e\u003ccode\u003ed6556bc\u003c/code\u003e\u003c/a\u003e bump to 15.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/ffe2edc5968eac19d5493c2d7b27965031a692e9\"\u003e\u003ccode\u003effe2edc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/4079\"\u003e#4079\u003c/a\u003e from Textualize/inline-table-code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/cf3b5a16f7a76b2e8c4921d3314021bb72a6c5c1\"\u003e\u003ccode\u003ecf3b5a1\u003c/code\u003e\u003c/a\u003e changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/77f0edbdef71f2a895cd0ab1481e9a1fc79d42e6\"\u003e\u003ccode\u003e77f0edb\u003c/code\u003e\u003c/a\u003e remove comments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/7ef2d05ca8aa3cb405dab2fdf3282e69cf8089e3\"\u003e\u003ccode\u003e7ef2d05\u003c/code\u003e\u003c/a\u003e fix inline code in table cells\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/19c67b9a3479841e9133bea94607c89ee931d3fc\"\u003e\u003ccode\u003e19c67b9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/4077\"\u003e#4077\u003c/a\u003e from Textualize/isattry\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/494b795031782c694297d2db78bd04fb8c82f590\"\u003e\u003ccode\u003e494b795\u003c/code\u003e\u003c/a\u003e changelog\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/rich/compare/v14.3.4...v15.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `textual` from 7.5.0 to 8.2.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/textual/releases\"\u003etextual's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eThe more super release\u003c/h2\u003e\n\u003cp\u003eFixes for extended key processing, and a crash bug for clicking the screen padding area.\u003c/p\u003e\n\u003ch2\u003e[8.2.8] - 2026-06-30\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed parsing Kitty extended keys with multiple codepoints \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6592\"\u003eTextualize/textual#6592\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed crash when clicking in the Screen's padding \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6598\"\u003eTextualize/textual#6598\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esuper+backspace is now an alias for ctrl+u in Input and TextArea \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6594\"\u003eTextualize/textual#6594\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ealt+backspace (option+backspace on Mac) has the same effect as ctrl+backspace in Input and TextArea \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6593\"\u003eTextualize/textual#6593\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eThe more Kitty Release\u003c/h2\u003e\n\u003cp\u003eThis release adds additional support for the Kitty key protocol. Which enables some additional keys on some terminals. Additionally, Textual will report modifier keys as separate key events.\u003c/p\u003e\n\u003cp\u003eAdditionally there are a few more shortcuts to the Text Area.\u003c/p\u003e\n\u003cp\u003eThis release sponsored by Mistral AI. See release notes for detail.\u003c/p\u003e\n\u003ch2\u003e[8.2.7] - 2026-05-19\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Kitty key protocol \u0026quot;Report all keys as escape codes\u0026quot; which enabled alt+backspace on Warp \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6544\"\u003eTextualize/textual#6544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded support for detecting separate modifier keys for terminals that support the Kitty key protocol \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6544\"\u003eTextualize/textual#6544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eTEXTUAL_DISABLE_KITTY_KEY\u003c/code\u003e env var to disable Kitty key protocol support (debug aid). \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6544\"\u003eTextualize/textual#6544\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUndo/redo/copy/cut/paste in TextArea will now work with cmd+ on supported terminals \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6543\"\u003eTextualize/textual#6543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIn TextArea, ctrl+u will now delete a newline if the cursor is at the start \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6543\"\u003eTextualize/textual#6543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ein TextArea alt+delete is now bound to delete word right \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6543\"\u003eTextualize/textual#6543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eText opacity applied to an ansi theme will now set the dim attribute if the opacity is \u0026lt; 50% \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6546\"\u003eTextualize/textual#6546\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eThe more selective release\u003c/h2\u003e\n\u003cp\u003eImproved text select logic. You can select text without first clicking on a content area.\u003c/p\u003e\n\u003cp\u003eMay break snapshots without affecting appearance.\u003c/p\u003e\n\u003ch2\u003e[8.2.6] - 2026-04-13\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed selection to the right of code fence blocks (may break some snapshots)\u003c/li\u003e\n\u003cli\u003eFixed Markdown code fences losing content when switching themes \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6537\"\u003eTextualize/textual#6537\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/textual/blob/main/CHANGELOG.md\"\u003etextual's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[8.2.8] - 2026-06-30\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed parsing Kitty extended keys with multiple codepoints \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6592\"\u003eTextualize/textual#6592\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed crash when clicking in the Screen's padding \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6598\"\u003eTextualize/textual#6598\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esuper+backspace is now an alias for ctrl+u in Input and TextArea \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6594\"\u003eTextualize/textual#6594\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ealt+backspace (option+backspace on Mac) has the same effect as ctrl+backspace in Input and TextArea \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6593\"\u003eTextualize/textual#6593\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.7] - 2026-05-19\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Kitty key protocol \u0026quot;Report all keys as escape codes\u0026quot; which enabled alt+backspace on Warp \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6544\"\u003eTextualize/textual#6544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded support for detecting separate modifier keys for terminals that support the Kitty key protocol \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6544\"\u003eTextualize/textual#6544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eTEXTUAL_DISABLE_KITTY_KEY\u003c/code\u003e env var to disable Kitty key protocol support (debug aid). \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6544\"\u003eTextualize/textual#6544\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUndo/redo/copy/cut/paste in TextArea will now work with cmd+ on supported terminals \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6543\"\u003eTextualize/textual#6543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIn TextArea, ctrl+u will now delete a newline if the cursor is at the start \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6543\"\u003eTextualize/textual#6543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ein TextArea alt+delete is now bound to delete word right \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6543\"\u003eTextualize/textual#6543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eText opacity applied to an ansi theme will now set the dim attribute if the opacity is \u0026lt; 50% \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6546\"\u003eTextualize/textual#6546\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed text opacity with ANSI themes creating RGB colors.  \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6546\"\u003eTextualize/textual#6546\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.6] - 2026-05-13\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed selection to the right of code fence blocks (may break some snapshots)\u003c/li\u003e\n\u003cli\u003eFixed Markdown code fences losing content when switching themes \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6537\"\u003eTextualize/textual#6537\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded ability to select outside of text, so the user doesn't need to be quite so precise \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6523\"\u003eTextualize/textual#6523\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.5] - 2026-04-30\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eTwo new themes: \u0026quot;ansi-dark\u0026quot; and \u0026quot;ansi-light\u0026quot; \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded an \u003ccode\u003eansi\u003c/code\u003e value to themes \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/1d99508b928a771b51e1a527319c6b87dcff9e05\"\u003e\u003ccode\u003e1d99508\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6609\"\u003e#6609\u003c/a\u003e from Textualize/bump828\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/ab36ccc741a7f6d1d10b12e1eafd8fedaa515df1\"\u003e\u003ccode\u003eab36ccc\u003c/code\u003e\u003c/a\u003e Bump 8.2.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/da5b7aa98717289207270ed6c9fcd68c78e54c17\"\u003e\u003ccode\u003eda5b7aa\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6598\"\u003e#6598\u003c/a\u003e from Textualize/screen-padding\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/77e25d59d8c1e50d1228bbec54f1fdc8f2a3e10b\"\u003e\u003ccode\u003e77e25d5\u003c/code\u003e\u003c/a\u003e changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/4e592bfc7bf1d0412d0df6dabee40347b523e1b8\"\u003e\u003ccode\u003e4e592bf\u003c/code\u003e\u003c/a\u003e snapshots\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/e02c6cc01461d93141e9ef5dac5a6f029c6ef616\"\u003e\u003ccode\u003ee02c6cc\u003c/code\u003e\u003c/a\u003e fix screen padding crash\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/8ce58dc0287e6247f25096c3a1a7349a411cc485\"\u003e\u003ccode\u003e8ce58dc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6592\"\u003e#6592\u003c/a\u003e from Textualize/kitty-codepoints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/fec10399fab3c75f14d36d0faa01589b8ae13408\"\u003e\u003ccode\u003efec1039\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into kitty-codepoints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/aea9d4b5529841757aead36670a8a7f75aa61ed9\"\u003e\u003ccode\u003eaea9d4b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6594\"\u003e#6594\u003c/a\u003e from Textualize/super-backspace\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/64c1f8b401889628ec40b8ea1afd67a298773831\"\u003e\u003ccode\u003e64c1f8b\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into super-backspace\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/textual/compare/v7.5.0...v8.2.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n","html_url":"https://github.com/hashgraph-online/hol-guard/pull/1049","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/hashgraph-online%2Fhol-guard/issues/1049","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1049/packages"},{"uuid":"4660143493","node_id":"PR_kwDORoD75c7mSWXu","number":130,"state":"closed","title":"chore(deps): bump the minor-and-patch group in /libs/cli with 36 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-06-14T18:28:21.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-14T18:23:41.000Z","updated_at":"2026-06-14T18:28:23.000Z","time_to_close":280,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"minor-and-patch","update_count":36,"packages":[{"name":"langchain","old_version":"1.3.1","new_version":"1.3.9","repository_url":"https://github.com/langchain-ai/langchain"},{"name":"langgraph","old_version":"1.2.0","new_version":"1.2.5","repository_url":"https://github.com/langchain-ai/langgraph"},{"name":"langgraph-sdk","old_version":"0.3.14","new_version":"0.4.2","repository_url":"https://github.com/langchain-ai/langgraph"},{"name":"langchain-openai","old_version":"1.2.1","new_version":"1.3.2","repository_url":"https://github.com/langchain-ai/langchain"},{"name":"langsmith","old_version":"0.8.5","new_version":"0.8.15","repository_url":"https://github.com/langchain-ai/langsmith-sdk"},{"name":"textual","old_version":"8.2.6","new_version":"8.2.7","repository_url":"https://github.com/Textualize/textual"},{"name":"uuid-utils","old_version":"0.15.0","new_version":"0.16.0","repository_url":"https://github.com/aminalaee/uuid-utils"},{"name":"langchain-mcp-adapters","old_version":"0.2.2","new_version":"0.3.0","repository_url":"https://github.com/langchain-ai/langchain-mcp-adapters"},{"name":"pyjwt","old_version":"2.12.1","new_version":"2.13.0","repository_url":"https://github.com/jpadilla/pyjwt"},{"name":"python-multipart","old_version":"0.0.29","new_version":"0.0.32","repository_url":"https://github.com/Kludex/python-multipart"},{"name":"langchain-anthropic","old_version":"1.4.3","new_version":"1.4.6","repository_url":"https://github.com/langchain-ai/langchain"},{"name":"langchain-aws","old_version":"1.4.7","new_version":"1.5.1","repository_url":"https://github.com/langchain-ai/langchain-aws"},{"name":"langchain-cohere","old_version":"0.5.1","new_version":"0.6.0","repository_url":"https://github.com/langchain-ai/langchain-cohere"},{"name":"langchain-deepseek","old_version":"1.0.1","new_version":"1.1.0","repository_url":"https://github.com/langchain-ai/langchain"},{"name":"langchain-google-genai","old_version":"4.2.2","new_version":"4.2.5","repository_url":"https://github.com/langchain-ai/langchain-google"},{"name":"langchain-groq","old_version":"1.1.2","new_version":"1.1.3","repository_url":"https://github.com/langchain-ai/langchain"},{"name":"langchain-ibm","old_version":"1.0.10","new_version":"1.1.0","repository_url":"https://github.com/langchain-ai/langchain-ibm"},{"name":"langchain-litellm","old_version":"0.6.5","new_version":"0.6.6","repository_url":"https://github.com/langchain-ai/langchain-litellm"},{"name":"langchain-mistralai","old_version":"1.1.4","new_version":"1.1.5","repository_url":"https://github.com/langchain-ai/langchain"},{"name":"langchain-nvidia-ai-endpoints","old_version":"1.3.0","new_version":"1.4.1","repository_url":"https://github.com/langchain-ai/langchain-nvidia"},{"name":"langchain-perplexity","old_version":"1.2.0","new_version":"1.4.0","repository_url":"https://github.com/langchain-ai/langchain"},{"name":"langchain-google-vertexai","old_version":"3.2.3","new_version":"3.2.4","repository_url":"https://github.com/langchain-ai/langchain-google"},{"name":"daytona","old_version":"0.176.0","new_version":"0.187.0"},{"name":"modal","old_version":"1.4.2","new_version":"1.5.0","repository_url":"https://github.com/modal-labs/modal-client"},{"name":"runloop-api-client","old_version":"1.21.0","new_version":"1.23.2","repository_url":"https://github.com/runloopai/api-client-python"},{"name":"tavily-python","old_version":"0.7.24","new_version":"0.7.26","repository_url":"https://github.com/tavily-ai/tavily-python"},{"name":"ruff","old_version":"0.15.13","new_version":"0.15.17","repository_url":"https://github.com/astral-sh/ruff"},{"name":"ty","old_version":"0.0.37","new_version":"0.0.49","repository_url":"https://github.com/astral-sh/ty"},{"name":"pytest","old_version":"9.0.3","new_version":"9.1.0","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"pytest-asyncio","old_version":"1.3.0","new_version":"1.4.0","repository_url":"https://github.com/pytest-dev/pytest-asyncio"},{"name":"pytest-socket","old_version":"0.7.0","new_version":"0.8.0","repository_url":"https://github.com/miketheman/pytest-socket"},{"name":"responses","old_version":"0.26.0","new_version":"0.26.1","repository_url":"https://github.com/getsentry/responses"},{"name":"langchain-core","old_version":"1.4.0","new_version":"1.4.7","repository_url":"https://github.com/langchain-ai/langchain"},{"name":"starlette","old_version":"1.2.1","new_version":"1.3.1","repository_url":"https://github.com/Kludex/starlette"},{"name":"uvicorn","old_version":"0.47.0","new_version":"0.49.0","repository_url":"https://github.com/Kludex/uvicorn"},{"name":"agent-client-protocol","old_version":"0.10.0","new_version":"0.10.1","repository_url":"https://github.com/agentclientprotocol/python-sdk"}],"path":"/libs/cli","ecosystem":"pip"},"body":"Bumps the minor-and-patch group in /libs/cli with 36 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [langchain](https://github.com/langchain-ai/langchain) | `1.3.1` | `1.3.9` |\n| [langgraph](https://github.com/langchain-ai/langgraph) | `1.2.0` | `1.2.5` |\n| [langgraph-sdk](https://github.com/langchain-ai/langgraph) | `0.3.14` | `0.4.2` |\n| [langchain-openai](https://github.com/langchain-ai/langchain) | `1.2.1` | `1.3.2` |\n| [langsmith](https://github.com/langchain-ai/langsmith-sdk) | `0.8.5` | `0.8.15` |\n| [textual](https://github.com/Textualize/textual) | `8.2.6` | `8.2.7` |\n| [uuid-utils](https://github.com/aminalaee/uuid-utils) | `0.15.0` | `0.16.0` |\n| [langchain-mcp-adapters](https://github.com/langchain-ai/langchain-mcp-adapters) | `0.2.2` | `0.3.0` |\n| [pyjwt](https://github.com/jpadilla/pyjwt) | `2.12.1` | `2.13.0` |\n| [python-multipart](https://github.com/Kludex/python-multipart) | `0.0.29` | `0.0.32` |\n| [langchain-anthropic](https://github.com/langchain-ai/langchain) | `1.4.3` | `1.4.6` |\n| [langchain-aws](https://github.com/langchain-ai/langchain-aws) | `1.4.7` | `1.5.1` |\n| [langchain-cohere](https://github.com/langchain-ai/langchain-cohere) | `0.5.1` | `0.6.0` |\n| [langchain-deepseek](https://github.com/langchain-ai/langchain) | `1.0.1` | `1.1.0` |\n| [langchain-google-genai](https://github.com/langchain-ai/langchain-google) | `4.2.2` | `4.2.5` |\n| [langchain-groq](https://github.com/langchain-ai/langchain) | `1.1.2` | `1.1.3` |\n| [langchain-ibm](https://github.com/langchain-ai/langchain-ibm) | `1.0.10` | `1.1.0` |\n| [langchain-litellm](https://github.com/langchain-ai/langchain-litellm) | `0.6.5` | `0.6.6` |\n| [langchain-mistralai](https://github.com/langchain-ai/langchain) | `1.1.4` | `1.1.5` |\n| [langchain-nvidia-ai-endpoints](https://github.com/langchain-ai/langchain-nvidia) | `1.3.0` | `1.4.1` |\n| [langchain-perplexity](https://github.com/langchain-ai/langchain) | `1.2.0` | `1.4.0` |\n| [langchain-google-vertexai](https://github.com/langchain-ai/langchain-google) | `3.2.3` | `3.2.4` |\n| daytona | `0.176.0` | `0.187.0` |\n| [modal](https://github.com/modal-labs/modal-client) | `1.4.2` | `1.5.0` |\n| [runloop-api-client](https://github.com/runloopai/api-client-python) | `1.21.0` | `1.23.2` |\n| [tavily-python](https://github.com/tavily-ai/tavily-python) | `0.7.24` | `0.7.26` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.15.13` | `0.15.17` |\n| [ty](https://github.com/astral-sh/ty) | `0.0.37` | `0.0.49` |\n| [pytest](https://github.com/pytest-dev/pytest) | `9.0.3` | `9.1.0` |\n| [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) | `1.3.0` | `1.4.0` |\n| [pytest-socket](https://github.com/miketheman/pytest-socket) | `0.7.0` | `0.8.0` |\n| [responses](https://github.com/getsentry/responses) | `0.26.0` | `0.26.1` |\n| [langchain-core](https://github.com/langchain-ai/langchain) | `1.4.0` | `1.4.7` |\n| [starlette](https://github.com/Kludex/starlette) | `1.2.1` | `1.3.1` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.47.0` | `0.49.0` |\n| [agent-client-protocol](https://github.com/agentclientprotocol/python-sdk) | `0.10.0` | `0.10.1` |\n\nUpdates `langchain` from 1.3.1 to 1.3.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/langchain-ai/langchain/releases\"\u003elangchain's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003elangchain==1.3.9\u003c/h2\u003e\n\u003cp\u003eChanges since langchain==1.3.8\u003c/p\u003e\n\u003cp\u003erelease(anthropic): 1.4.6 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/38105\"\u003e#38105\u003c/a\u003e)\nrelease(langchain): 1.3.9 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/38104\"\u003e#38104\u003c/a\u003e)\nfix(langchain,anthropic): confine file-search results and tighten anthropic \u003ccode\u003eallowed_prefixes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/38106\"\u003e#38106\u003c/a\u003e)\u003c/p\u003e\n\u003ch2\u003elangchain==1.3.8\u003c/h2\u003e\n\u003cp\u003eChanges since langchain==1.3.7\u003c/p\u003e\n\u003cp\u003erelease(langchain): 1.3.8 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/38096\"\u003e#38096\u003c/a\u003e)\nstyle(core,langchain,langchain-classic,partners): replace double backticks in docstrings (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/38095\"\u003e#38095\u003c/a\u003e)\nrelease(core): 1.4.6 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/38061\"\u003e#38061\u003c/a\u003e)\nchore(langchain): add overloads to \u003ccode\u003ecreate_agent\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/34309\"\u003e#34309\u003c/a\u003e)\nchore(infra): bump mypy to 2.1 and unify type-check config across the monorepo (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/36470\"\u003e#36470\u003c/a\u003e)\nfix(langchain): support async middleware decorator typing (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/34584\"\u003e#34584\u003c/a\u003e)\nfix(langchain): tighten structured output model fallbacks (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/38042\"\u003e#38042\u003c/a\u003e)\nrelease(anthropic): 1.4.5 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/38036\"\u003e#38036\u003c/a\u003e)\nhotfix(core): bump lockfile(s) (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/38032\"\u003e#38032\u003c/a\u003e)\nrefactor(langchain): refactor \u003ccode\u003etest_create_agent_tool_validation\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/34443\"\u003e#34443\u003c/a\u003e)\u003c/p\u003e\n\u003ch2\u003elangchain==1.3.7\u003c/h2\u003e\n\u003cp\u003eChanges since langchain==1.3.6\u003c/p\u003e\n\u003cp\u003erelease(langchain): 1.3.7 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/38024\"\u003e#38024\u003c/a\u003e)\nstyle(langchain): add ruff rules ARG (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/34435\"\u003e#34435\u003c/a\u003e)\nfeat(langchain): add \u003ccode\u003eProviderToolSearchMiddleware\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/37969\"\u003e#37969\u003c/a\u003e)\nchore(langchain): activate mypy \u003ccode\u003ewarn_return_any\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/34249\"\u003e#34249\u003c/a\u003e)\ntest(langchain): mark legacy trigger view for 2.0 removal (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/38002\"\u003e#38002\u003c/a\u003e)\u003c/p\u003e\n\u003ch2\u003elangchain==1.3.6\u003c/h2\u003e\n\u003cp\u003eChanges since langchain==1.3.5\u003c/p\u003e\n\u003cp\u003erelease(langchain): 1.3.6 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/38001\"\u003e#38001\u003c/a\u003e)\nfix(langchain): preserve summarization trigger compatibility (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/38000\"\u003e#38000\u003c/a\u003e)\u003c/p\u003e\n\u003ch2\u003elangchain==1.3.5\u003c/h2\u003e\n\u003cp\u003eChanges since langchain==1.3.4\u003c/p\u003e\n\u003cp\u003erelease(langchain): 1.3.5 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/37998\"\u003e#37998\u003c/a\u003e)\nfeat(langchain): port AND-capable trigger conditions to \u003ccode\u003eSummarizationMiddleware\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/34576\"\u003e#34576\u003c/a\u003e)\nhotfix(openai): min core dep (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/37990\"\u003e#37990\u003c/a\u003e)\nfeat(openai): support \u003ccode\u003eapply_patch\u003c/code\u003e built-in tool (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/37157\"\u003e#37157\u003c/a\u003e)\nchore: bump pyarrow from 21.0.0 to 23.0.1 in /libs/langchain_v1 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/37930\"\u003e#37930\u003c/a\u003e)\nchore: bump dependencies  (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/37892\"\u003e#37892\u003c/a\u003e)\nchore: bump aiohttp from 3.13.4 to 3.14.0 in /libs/langchain_v1 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/37888\"\u003e#37888\u003c/a\u003e)\u003c/p\u003e\n\u003ch2\u003elangchain==1.3.4\u003c/h2\u003e\n\u003cp\u003eChanges since langchain==1.3.3\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/langchain-ai/langchain/commit/3bfb6a33e788aaca1626a7c09cbdbdbef6977012\"\u003e\u003ccode\u003e3bfb6a3\u003c/code\u003e\u003c/a\u003e release(langchain): 1.3.9 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/38104\"\u003e#38104\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/dcaf7795a3e6590af55c3ff7bda6add6355e9ea6\"\u003e\u003ccode\u003edcaf779\u003c/code\u003e\u003c/a\u003e fix(langchain,anthropic): confine file-search results and tighten anthropic `...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/0392b6bae4bdfc0b7ed5aeb2e9e414bbb7ea643b\"\u003e\u003ccode\u003e0392b6b\u003c/code\u003e\u003c/a\u003e fix(core): fix Pydantic v1 support in tools/runnable (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/33698\"\u003e#33698\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/f6d63bc9f344b2949e91a6904d301553376b4f10\"\u003e\u003ccode\u003ef6d63bc\u003c/code\u003e\u003c/a\u003e release(langchain): 1.3.8 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/38096\"\u003e#38096\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/5d20596d73789020f53c622b22c0a9893ba09606\"\u003e\u003ccode\u003e5d20596\u003c/code\u003e\u003c/a\u003e style(core,langchain,langchain-classic,partners): replace double backticks in...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/fb55c6660a2ac26038a64dac1534048294bc51ab\"\u003e\u003ccode\u003efb55c66\u003c/code\u003e\u003c/a\u003e chore: bump langsmith from 0.8.9 to 0.8.14 in /libs/partners/huggingface (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/38\"\u003e#38\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/51daae5c139712f6f1347b5a801f672680ba1eba\"\u003e\u003ccode\u003e51daae5\u003c/code\u003e\u003c/a\u003e chore: bump langsmith from 0.8.9 to 0.8.14 in /libs/partners/chroma (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/38092\"\u003e#38092\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/70e9579e433043321fb8e93a8a51770c946363d0\"\u003e\u003ccode\u003e70e9579\u003c/code\u003e\u003c/a\u003e chore: bump langsmith from 0.8.9 to 0.8.14 in /libs/partners/fireworks (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/38093\"\u003e#38093\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/6c0e9af3246e3bbf98838e4b9ec563ad563dd748\"\u003e\u003ccode\u003e6c0e9af\u003c/code\u003e\u003c/a\u003e chore: bump langsmith from 0.8.9 to 0.8.14 in /libs/partners/xai (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/38094\"\u003e#38094\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/222dc846e0e965a0d6764d772226590eec14b917\"\u003e\u003ccode\u003e222dc84\u003c/code\u003e\u003c/a\u003e ci(infra): clarify early PR auto-close guidance (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/38090\"\u003e#38090\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/langchain-ai/langchain/compare/langchain==1.3.1...langchain==1.3.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `langgraph` from 1.2.0 to 1.2.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/langchain-ai/langgraph/releases\"\u003elanggraph's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003elanggraph==1.2.5\u003c/h2\u003e\n\u003cp\u003eChanges since 1.2.4\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003erelease(langgraph): 1.2.5 (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/8062\"\u003e#8062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(langgraph): merge \u003ccode\u003elc_versions\u003c/code\u003e config metadata (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/8052\"\u003e#8052\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erelease(cli): 0.4.28 (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/8041\"\u003e#8041\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: updateState bug for deltaChannel on empty thread (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/8011\"\u003e#8011\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: migrate Python type checking to ty (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/8002\"\u003e#8002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump types-requests from 2.33.0.20260408 to 2.33.0.20260518 in /libs/langgraph (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7977\"\u003e#7977\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): bump the minor-and-patch group in /libs/langgraph with 14 updates (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7975\"\u003e#7975\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003elanggraph==1.2.4\u003c/h2\u003e\n\u003cp\u003eChanges since 1.2.3\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003erelease(langgraph): 1.2.4 (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7991\"\u003e#7991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest(sdk-py): add factory-graph integration test exercising the server factory path (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7978\"\u003e#7978\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(langgraph): keep _on_started backward-compatible with overrides predating cause (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7987\"\u003e#7987\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003elanggraph==1.2.3\u003c/h2\u003e\n\u003cp\u003eChanges since 1.2.2\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003erelease(langgraph): 1.2.3 (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7945\"\u003e#7945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(langgraph): wire RemoteGraph.interleave to sdk-py interleave_projections (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7938\"\u003e#7938\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(langgraph): add v3 streaming support to RemoteGraph (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7927\"\u003e#7927\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(langgraph): name tool-dispatched subagents via lc_agent_name (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7928\"\u003e#7928\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(langgraph): rename ProtocolEvent.eventId to event_id to match the wire field (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7942\"\u003e#7942\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(langgraph): merge instead of overwrite in ensure_config for callbacks, tags, metadata, configurable (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7926\"\u003e#7926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(langgraph): [LSD-1507] Distinguish between user cancelled and other cancellations (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7920\"\u003e#7920\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(cli): bump api bound to 0.10.0 (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7922\"\u003e#7922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(sdk-py): add websocket stream transports (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7830\"\u003e#7830\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(sdk-py): add messages and tool call projections (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7823\"\u003e#7823\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(sdk-py): add v3 streaming primitives and SSE transport (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7818\"\u003e#7818\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003elanggraph==1.2.2\u003c/h2\u003e\n\u003cp\u003eChanges since 1.2.1\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003echore(langgraph): bump version to 1.2.2 (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7914\"\u003e#7914\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(langgraph): assign stable IDs to id=None BaseMessages before DeltaChannel checkpoint writes (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7913\"\u003e#7913\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erelease(checkpoint): 4.1.1 (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7890\"\u003e#7890\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003elanggraph==1.2.1\u003c/h2\u003e\n\u003cp\u003eChanges since 1.2.0\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003erelease(langgraph): 1.2.1 (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7883\"\u003e#7883\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(langgraph): add \u003ccode\u003ebefore_builtins\u003c/code\u003e opt-in for stream transformers (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7882\"\u003e#7882\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): bump idna from 3.11 to 3.15 in /libs/langgraph (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7866\"\u003e#7866\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(langgraph): keep tool results out of v3 messages (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7838\"\u003e#7838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): bump langsmith from 0.7.31 to 0.8.0 in /libs/langgraph (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7788\"\u003e#7788\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/langchain-ai/langgraph/commit/7ab79f9f3e94fb4357334d902f5fd69ec0088eb4\"\u003e\u003ccode\u003e7ab79f9\u003c/code\u003e\u003c/a\u003e release(langgraph): 1.2.5 (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/8062\"\u003e#8062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langgraph/commit/385033fd9cfc356a0ed9028bef53f5490e9c0939\"\u003e\u003ccode\u003e385033f\u003c/code\u003e\u003c/a\u003e fix(langgraph): merge \u003ccode\u003elc_versions\u003c/code\u003e config metadata (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/8052\"\u003e#8052\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langgraph/commit/93307d6a427d7f15bcba3264f3774d07af7d7dca\"\u003e\u003ccode\u003e93307d6\u003c/code\u003e\u003c/a\u003e release(cli): 0.4.29 (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/8046\"\u003e#8046\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langgraph/commit/e05ba2965db5373c14ada7ddb3740d9b59a28206\"\u003e\u003ccode\u003ee05ba29\u003c/code\u003e\u003c/a\u003e feat(cli): add support for passing certfile and cert key to run dev server un...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langgraph/commit/f0e814796be5e4a27f58a6979064ba35fb39bcf1\"\u003e\u003ccode\u003ef0e8147\u003c/code\u003e\u003c/a\u003e release(cli): 0.4.28 (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/8041\"\u003e#8041\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langgraph/commit/d57a74f950b87bfb9cb51240cc8dccf34b5edfaa\"\u003e\u003ccode\u003ed57a74f\u003c/code\u003e\u003c/a\u003e fix: updateState bug for deltaChannel on empty thread (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/8011\"\u003e#8011\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langgraph/commit/6f83cc9dc2a24c7884ae7da20c9f39f469be35d7\"\u003e\u003ccode\u003e6f83cc9\u003c/code\u003e\u003c/a\u003e chore(deps): bump starlette from 1.0.0 to 1.0.1 in /libs/cli (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/8005\"\u003e#8005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langgraph/commit/2ae62c6f870660deb620d7008035f9c4848bfc58\"\u003e\u003ccode\u003e2ae62c6\u003c/code\u003e\u003c/a\u003e chore(deps-dev): bump starlette from 1.0.0 to 1.0.1 in /libs/sdk-py (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/8006\"\u003e#8006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langgraph/commit/2b1abc807b282245211f5ba8f292aaf3e24f1e07\"\u003e\u003ccode\u003e2b1abc8\u003c/code\u003e\u003c/a\u003e chore: migrate Python type checking to ty (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/8002\"\u003e#8002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langgraph/commit/43682f0830f312822f18206dfa18c599becbff38\"\u003e\u003ccode\u003e43682f0\u003c/code\u003e\u003c/a\u003e chore(deps): bump the minor-and-patch group in /libs/cli with 4 updates (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7962\"\u003e#7962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/langchain-ai/langgraph/compare/1.2.0...1.2.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `langgraph-sdk` from 0.3.14 to 0.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/langchain-ai/langgraph/releases\"\u003elanggraph-sdk's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003elanggraph-sdk==0.4.2\u003c/h2\u003e\n\u003cp\u003eChanges since sdk==0.4.1\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003erelease(sdk-py): 0.4.2 (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7955\"\u003e#7955\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(sdk-py): percent-encode thread_id in v3 stream transport default paths (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7954\"\u003e#7954\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003elanggraph-sdk==0.4.1\u003c/h2\u003e\n\u003cp\u003eChanges since sdk==0.4.0\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003erelease(sdk-py): 0.4.1 (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7944\"\u003e#7944\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(sdk-py): extract stream decoders and add interleave_projections (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7935\"\u003e#7935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(langgraph): add v3 streaming support to RemoteGraph (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7927\"\u003e#7927\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(sdk-py): make \u003ccode\u003etools_agent\u003c/code\u003e fake model stateless (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7930\"\u003e#7930\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003elanggraph-sdk==0.4.0\u003c/h2\u003e\n\u003cp\u003eChanges since sdk==0.3.15\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003erelease(sdk-py): 0.4.0 (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7923\"\u003e#7923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(sdk-py): add thread stream helpers (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7833\"\u003e#7833\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(sdk-py): wire websocket stream selection (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7832\"\u003e#7832\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(sdk-py): add websocket stream transports (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7830\"\u003e#7830\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(sdk-py): harden streaming reconnects (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7829\"\u003e#7829\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(sdk-py): add sync scoped subgraphs (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7828\"\u003e#7828\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(sdk-py): add sync messages and tool calls (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7827\"\u003e#7827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(sdk-py): add sync thread stream core (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7826\"\u003e#7826\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(sdk-py): add async stream reconnect support (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7825\"\u003e#7825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(sdk-py): add scoped subgraph handles (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7824\"\u003e#7824\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(sdk-py): add messages and tool call projections (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7823\"\u003e#7823\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(sdk-py): add output, values, and controller extraction (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7822\"\u003e#7822\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(sdk-py): wire lifecycle state and output prerequisites (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7821\"\u003e#7821\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(sdk-py): add shared stream subscriptions (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7820\"\u003e#7820\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(sdk-py): add async thread stream skeleton (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7819\"\u003e#7819\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(sdk-py): add v3 streaming primitives and SSE transport (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7818\"\u003e#7818\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(langgraph): bump version to 1.2.2 (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7914\"\u003e#7914\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003elanggraph-sdk==0.3.15\u003c/h2\u003e\n\u003cp\u003eChanges since sdk==0.3.14\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003erelease(checkpoint): 4.1.1 (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7890\"\u003e#7890\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erelease(sdk-py): 0.3.15 (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7891\"\u003e#7891\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(sdk-py): percent-encode caller-supplied identifiers in URL paths (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7893\"\u003e#7893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erelease(langgraph): 1.2.1 (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7883\"\u003e#7883\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): bump idna from 3.11 to 3.15 in /libs/sdk-py (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7863\"\u003e#7863\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): bump urllib3 from 2.6.3 to 2.7.0 in /libs/sdk-py (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7764\"\u003e#7764\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): bump langsmith from 0.7.31 to 0.8.0 in /libs/sdk-py (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7789\"\u003e#7789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erelease: bump alpha packages to official versions (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7775\"\u003e#7775\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(langgraph): bump langchain-core to 1.4.0 (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7767\"\u003e#7767\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(sdk-py): support metadata filter for crons search/count (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7737\"\u003e#7737\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): bump ty from 0.0.23 to 0.0.33 in /libs/sdk-py (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7666\"\u003e#7666\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/langchain-ai/langgraph/commit/4aeaffef4e0d14de09fa4e34636372cb01992c6a\"\u003e\u003ccode\u003e4aeaffe\u003c/code\u003e\u003c/a\u003e 0.4.2 (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/4570\"\u003e#4570\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langgraph/commit/f1bfd6051a7a3e840c3a9ddc437a2e7f14dd41c8\"\u003e\u003ccode\u003ef1bfd60\u003c/code\u003e\u003c/a\u003e update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langgraph/commit/998be75f3430d87f5fa361c790b41ae8314fc64e\"\u003e\u003ccode\u003e998be75\u003c/code\u003e\u003c/a\u003e langgraph: decouple name from assistant ID in RemoteGraph\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langgraph/commit/365dd5f459e2bd9f4fcf38805837fc8cf9356869\"\u003e\u003ccode\u003e365dd5f\u003c/code\u003e\u003c/a\u003e sdk-py: Prefix private functions in sdk with _\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langgraph/commit/0e61cc2cf6100e0e053614bc2c5dcdeec04b07a8\"\u003e\u003ccode\u003e0e61cc2\u003c/code\u003e\u003c/a\u003e prebuilt: remove state_modifier (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/4439\"\u003e#4439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langgraph/commit/a0a302dec50af869c07851210f3a9dd77200e8a0\"\u003e\u003ccode\u003ea0a302d\u003c/code\u003e\u003c/a\u003e prebuilt: switch to executing parallel tool calls via Send by default (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/4438\"\u003e#4438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langgraph/commit/4e05db85374a652c8ddfa26b9adb9ff638fce581\"\u003e\u003ccode\u003e4e05db8\u003c/code\u003e\u003c/a\u003e Release checkpoint-sqlite (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/4509\"\u003e#4509\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langgraph/commit/d6e20e6d093a4fe53cb04afa5af8a5b3d3b8ef31\"\u003e\u003ccode\u003ed6e20e6\u003c/code\u003e\u003c/a\u003e Add missing 'running' RunStatus (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/4508\"\u003e#4508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langgraph/commit/fcd06acd3365aa2c7ba5091349a6f850aedd09c4\"\u003e\u003ccode\u003efcd06ac\u003c/code\u003e\u003c/a\u003e Add support for specifying a custom base image in docker commands (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/4500\"\u003e#4500\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langgraph/commit/94994a8d995596c1a3c035572062987c71811d83\"\u003e\u003ccode\u003e94994a8\u003c/code\u003e\u003c/a\u003e meaningless commit to get vercel going sigh\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/langchain-ai/langgraph/compare/0.3.14...0.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `langchain-openai` from 1.2.1 to 1.3.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/langchain-ai/langchain/releases\"\u003elangchain-openai's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003elangchain-openai==1.3.2\u003c/h2\u003e\n\u003cp\u003eChanges since langchain-openai==1.3.1\u003c/p\u003e\n\u003cp\u003erelease(openai): 1.3.2 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/38130\"\u003e#38130\u003c/a\u003e)\u003c/p\u003e\n\u003ch2\u003elangchain-openai==1.3.1\u003c/h2\u003e\n\u003cp\u003eChanges since langchain-openai==1.3.0\u003c/p\u003e\n\u003cp\u003edocs: refresh \u003ccode\u003eREADME\u003c/code\u003e installation and resources (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/38119\"\u003e#38119\u003c/a\u003e)\ntest(core,langchain): update tests for explicit deserialization allowlists (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/38118\"\u003e#38118\u003c/a\u003e)\nrelease(core): 1.4.7 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/38111\"\u003e#38111\u003c/a\u003e)\nfix(core,partners): rename package version trace metadata (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/38110\"\u003e#38110\u003c/a\u003e)\nstyle(core,langchain,langchain-classic,partners): replace double backticks in docstrings (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/38095\"\u003e#38095\u003c/a\u003e)\ntest(openai): use \u003ccode\u003egpt-4o\u003c/code\u003e for image token counting (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/38089\"\u003e#38089\u003c/a\u003e)\nrelease(core): 1.4.6 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/38061\"\u003e#38061\u003c/a\u003e)\nfeat(core,partners): add package version tracking to tracing metadata (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35295\"\u003e#35295\u003c/a\u003e)\nfix(core,openai): normalize v1 streamed tool calls (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35983\"\u003e#35983\u003c/a\u003e)\nchore(infra): bump mypy to 2.1 and unify type-check config across the monorepo (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/36470\"\u003e#36470\u003c/a\u003e)\nfeat(standard-tests): validate tool call chunks during streaming (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/34707\"\u003e#34707\u003c/a\u003e)\nfix(langchain): tighten structured output model fallbacks (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/38042\"\u003e#38042\u003c/a\u003e)\u003c/p\u003e\n\u003ch2\u003elangchain-openai==1.3.0\u003c/h2\u003e\n\u003cp\u003eChanges since langchain-openai==1.2.2\u003c/p\u003e\n\u003cp\u003ehotfix(openai): min core dep (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/37990\"\u003e#37990\u003c/a\u003e)\nrelease(openai): 1.3.0 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/37989\"\u003e#37989\u003c/a\u003e)\nfeat(openai): support \u003ccode\u003eapply_patch\u003c/code\u003e built-in tool (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/37157\"\u003e#37157\u003c/a\u003e)\nchore(model-profiles): refresh model profile data (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/37973\"\u003e#37973\u003c/a\u003e)\ntest(langchain,partners): disable pytest-benchmark under xdist to silence \u003ccode\u003ePytestBenchmarkWarning\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/37901\"\u003e#37901\u003c/a\u003e)\nchore(model-profiles): refresh model profile data (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/37895\"\u003e#37895\u003c/a\u003e)\u003c/p\u003e\n\u003ch2\u003elangchain-openai==1.2.2\u003c/h2\u003e\n\u003cp\u003eChanges since langchain-openai==1.2.1\u003c/p\u003e\n\u003cp\u003erelease(openai): 1.2.2 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/37617\"\u003e#37617\u003c/a\u003e)\nchore(infra): bump \u003ccode\u003elangchain-tests\u003c/code\u003e floor to 1.1.9 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/37610\"\u003e#37610\u003c/a\u003e)\ntest(openai): unbreak audio chat and Azure embedding integration tests (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/37589\"\u003e#37589\u003c/a\u003e)\nfix(openai): guard httpx finalizers (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/37570\"\u003e#37570\u003c/a\u003e)\nchore: bump langsmith from 0.8.4 to 0.8.5 in /libs/partners/openai (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/37549\"\u003e#37549\u003c/a\u003e)\nchore: bump idna from 3.11 to 3.15 in /libs/partners/openai (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/37548\"\u003e#37548\u003c/a\u003e)\nci(infra): harden Dependabot version-bound preservation (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/37510\"\u003e#37510\u003c/a\u003e)\ntest(standard-tests): assert \u003ccode\u003els_model_name\u003c/code\u003e honors per-call model override (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/37504\"\u003e#37504\u003c/a\u003e)\nfix(openai): source LLM context size from model profiles (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/37489\"\u003e#37489\u003c/a\u003e)\nchore(core,langchain,openai): refresh stale OpenAI model references (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/37487\"\u003e#37487\u003c/a\u003e)\nfix(openai): broaden condition for ContextOverflowError to accommodate other providers (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/37457\"\u003e#37457\u003c/a\u003e)\ndocs(openai): document \u003ccode\u003ebase_url\u003c/code\u003e env var fallback chain (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/37436\"\u003e#37436\u003c/a\u003e)\nchore: bump langsmith from 0.8.0 to 0.8.4 in /libs/partners/openai (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/37416\"\u003e#37416\u003c/a\u003e)\nchore: bump langsmith from 0.7.31 to 0.8.0 in /libs/partners/openai (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/37398\"\u003e#37398\u003c/a\u003e)\nchore(infra): merge v1.4 into master (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/37350\"\u003e#37350\u003c/a\u003e)\nchore: bump urllib3 from 2.6.3 to 2.7.0 in /libs/partners/openai (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/37330\"\u003e#37330\u003c/a\u003e)\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/879cad06769913c8329d72e700263537ff436053\"\u003e\u003ccode\u003e879cad0\u003c/code\u003e\u003c/a\u003e release(openai): 1.3.2 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/38130\"\u003e#38130\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/37b339f8c468f4c6ba82514629e631c189c4fc50\"\u003e\u003ccode\u003e37b339f\u003c/code\u003e\u003c/a\u003e fix(openai): build Codex async headers off the event loop in \u003ccode\u003e_agenerate\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/3\"\u003e#3\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/11429a9e1c37efccd1da92246d6f5b878a2af74a\"\u003e\u003ccode\u003e11429a9\u003c/code\u003e\u003c/a\u003e fix(openai): avoid sync token reads in Codex streaming (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/38128\"\u003e#38128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/454e19588c027b97ea54f5d079a19798b229b84f\"\u003e\u003ccode\u003e454e195\u003c/code\u003e\u003c/a\u003e hotfix(openai): skip Codex live integration tests in CI (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/38124\"\u003e#38124\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/9e6f58ba4650904f161bea80337566cf3751fccc\"\u003e\u003ccode\u003e9e6f58b\u003c/code\u003e\u003c/a\u003e hotfix(openai): switch version (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/38123\"\u003e#38123\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/bf7b0180f2e5ccc71b15143e14622ba4e132c421\"\u003e\u003ccode\u003ebf7b018\u003c/code\u003e\u003c/a\u003e refactor(openai): mark Codex OAuth classes private (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/38122\"\u003e#38122\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/34af8839c341bcd12e246634c1b6d75532fb1ee8\"\u003e\u003ccode\u003e34af883\u003c/code\u003e\u003c/a\u003e chore(infra): wire up per-partner version-consistency pre-commit hooks (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/38121\"\u003e#38121\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/8180a09dd7712e231f501c1795985b7bacba8735\"\u003e\u003ccode\u003e8180a09\u003c/code\u003e\u003c/a\u003e release(openai): 1.4.0 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/38120\"\u003e#38120\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/6c2b70e60e51de9987b2a96529f18c5ff8559a0d\"\u003e\u003ccode\u003e6c2b70e\u003c/code\u003e\u003c/a\u003e feat(openai): add ChatGPT OAuth-backed \u003ccode\u003eChatOpenAICodex\u003c/code\u003e chat model (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/37569\"\u003e#37569\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/63cc1f4e7d3dbaaa284d25ddac89cafe35bd8874\"\u003e\u003ccode\u003e63cc1f4\u003c/code\u003e\u003c/a\u003e docs: refresh \u003ccode\u003eREADME\u003c/code\u003e installation and resources (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/38119\"\u003e#38119\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/langchain-ai/langchain/compare/langchain-openai==1.2.1...langchain-openai==1.3.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `langsmith` from 0.8.5 to 0.8.15\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/langchain-ai/langsmith-sdk/releases\"\u003elangsmith's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.8.15\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore(js): exclude generated _openapi_client from linters and type-checker by \u003ca href=\"https://github.com/KiewanVillatel\"\u003e\u003ccode\u003e@​KiewanVillatel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3015\"\u003elangchain-ai/langsmith-sdk#3015\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: sync langsmith_api by \u003ca href=\"https://github.com/langtions-bot\"\u003e\u003ccode\u003e@​langtions-bot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3006\"\u003elangchain-ai/langsmith-sdk#3006\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: protect JS openapi client in workflow by \u003ca href=\"https://github.com/KiewanVillatel\"\u003e\u003ccode\u003e@​KiewanVillatel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3017\"\u003elangchain-ai/langsmith-sdk#3017\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(js): deliver sandbox output callbacks across stream reconnects by \u003ca href=\"https://github.com/langchain-infra\"\u003e\u003ccode\u003e@​langchain-infra\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3022\"\u003elangchain-ai/langsmith-sdk#3022\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(python): deliver sandbox output callbacks across stream reconnects by \u003ca href=\"https://github.com/langchain-infra\"\u003e\u003ccode\u003e@​langchain-infra\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3023\"\u003elangchain-ai/langsmith-sdk#3023\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: bump JS to 0.7.7 and Python to 0.8.15 by \u003ca href=\"https://github.com/langchain-infra\"\u003e\u003ccode\u003e@​langchain-infra\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3025\"\u003elangchain-ai/langsmith-sdk#3025\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/langchain-ai/langsmith-sdk/compare/v0.8.14...v0.8.15\"\u003ehttps://github.com/langchain-ai/langsmith-sdk/compare/v0.8.14...v0.8.15\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.8.14\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: add deepagent compatibility smoke tests to Python and JS CI [LSDK-214] by \u003ca href=\"https://github.com/QuentinBrosse\"\u003e\u003ccode\u003e@​QuentinBrosse\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2997\"\u003elangchain-ai/langsmith-sdk#2997\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(py): bump Python SDK to 0.8.14 by \u003ca href=\"https://github.com/vishnu-ssuresh\"\u003e\u003ccode\u003e@​vishnu-ssuresh\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3013\"\u003elangchain-ai/langsmith-sdk#3013\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/langchain-ai/langsmith-sdk/compare/v0.8.13...v0.8.14\"\u003ehttps://github.com/langchain-ai/langsmith-sdk/compare/v0.8.13...v0.8.14\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.8.13\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix(py): type sandbox startup errors by \u003ca href=\"https://github.com/vishnu-ssuresh\"\u003e\u003ccode\u003e@​vishnu-ssuresh\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3004\"\u003elangchain-ai/langsmith-sdk#3004\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(py): bump Python SDK to 0.8.13 by \u003ca href=\"https://github.com/vishnu-ssuresh\"\u003e\u003ccode\u003e@​vishnu-ssuresh\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3012\"\u003elangchain-ai/langsmith-sdk#3012\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/langchain-ai/langsmith-sdk/compare/v0.8.12...v0.8.13\"\u003ehttps://github.com/langchain-ai/langsmith-sdk/compare/v0.8.12...v0.8.13\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.8.12\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eci: protect _openapi_client from unauthorized changes by \u003ca href=\"https://github.com/KiewanVillatel\"\u003e\u003ccode\u003e@​KiewanVillatel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2999\"\u003elangchain-ai/langsmith-sdk#2999\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: gemini double counting of over 200k tokens by \u003ca href=\"https://github.com/dqbd\"\u003e\u003ccode\u003e@​dqbd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3003\"\u003elangchain-ai/langsmith-sdk#3003\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(python): cross-process OAuth refresh filesystem lock by \u003ca href=\"https://github.com/langchain-infra\"\u003e\u003ccode\u003e@​langchain-infra\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2988\"\u003elangchain-ai/langsmith-sdk#2988\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(js): cross-process OAuth refresh filesystem lock by \u003ca href=\"https://github.com/langchain-infra\"\u003e\u003ccode\u003e@​langchain-infra\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2989\"\u003elangchain-ai/langsmith-sdk#2989\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: avoid duplicate /v1 in hub URLs when endpoint includes /api/v1 by \u003ca href=\"https://github.com/langchain-infra\"\u003e\u003ccode\u003e@​langchain-infra\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3008\"\u003elangchain-ai/langsmith-sdk#3008\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: bump JS to 0.7.6 and Python to 0.8.12 by \u003ca href=\"https://github.com/langchain-infra\"\u003e\u003ccode\u003e@​langchain-infra\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3011\"\u003elangchain-ai/langsmith-sdk#3011\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/langchain-ai/langsmith-sdk/compare/v0.8.11...v0.8.12\"\u003ehttps://github.com/langchain-ai/langsmith-sdk/compare/v0.8.11...v0.8.12\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.8.11\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: match async feedback client to sync behavior [LSEN-206] by \u003ca href=\"https://github.com/vishnu-ssuresh\"\u003e\u003ccode\u003e@​vishnu-ssuresh\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3001\"\u003elangchain-ai/langsmith-sdk#3001\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/langchain-ai/langsmith-sdk/compare/v0.8.10...v0.8.11\"\u003ehttps://github.com/langchain-ai/langsmith-sdk/compare/v0.8.10...v0.8.11\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.8.10\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat(sandbox): size the dockerfile-build sandbox via vCpus/memBytes (js) by \u003ca href=\"https://github.com/langchain-infra\"\u003e\u003ccode\u003e@​langchain-infra\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2980\"\u003elangchain-ai/langsmith-sdk#2980\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langsmith-sdk/commit/84b7144242e5cc53ce55752cc5be6369ffc1bd9f\"\u003e\u003ccode\u003e84b7144\u003c/code\u003e\u003c/a\u003e chore: bump JS to 0.7.7 and Python to 0.8.15 (\u003ca href=\"https://redirect.github.com/langchain-ai/langsmith-sdk/issues/3025\"\u003e#3025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langsmith-sdk/commit/909390fb9ac66d15e3630ad6e2bf01ac5c9e1774\"\u003e\u003ccode\u003e909390f\u003c/code\u003e\u003c/a\u003e fix(python): deliver sandbox output callbacks across stream reconnects (\u003ca href=\"https://redirect.github.com/langchain-ai/langsmith-sdk/issues/3023\"\u003e#3023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langsmith-sdk/commit/504f641d0ff0d4dfa6b3fb8ed1617d9bb9754f64\"\u003e\u003ccode\u003e504f641\u003c/code\u003e\u003c/a\u003e fix(js): deliver sandbox output callbacks across stream reconnects (\u003ca href=\"https://redirect.github.com/langchain-ai/langsmith-sdk/issues/3022\"\u003e#3022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langsmith-sdk/commit/f10fe78b0d1efbab7c76d6d99e0fa6ac48fb285d\"\u003e\u003ccode\u003ef10fe78\u003c/code\u003e\u003c/a\u003e chore: protect JS openapi client in workflow (\u003ca href=\"https://redirect.github.com/langchain-ai/langsmith-sdk/issues/3017\"\u003e#3017\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langsmith-sdk/commit/7423a8aa98b3650fc12e64d156cb1ad958444037\"\u003e\u003ccode\u003e7423a8a\u003c/code\u003e\u003c/a\u003e chore: sync langsmith_api (\u003ca href=\"https://redirect.github.com/langchain-ai/langsmith-sdk/issues/3006\"\u003e#3006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langsmith-sdk/commit/047adc9535e45d06cadf4383c85db058d0790e4a\"\u003e\u003ccode\u003e047adc9\u003c/code\u003e\u003c/a\u003e chore(js): exclude generated _openapi_client from linters and type-checker (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langsmith-sdk/commit/3ac6bb8a5cde1f079265842f6f82273b0ce9e543\"\u003e\u003ccode\u003e3ac6bb8\u003c/code\u003e\u003c/a\u003e chore(py): bump Python SDK to 0.8.14 (\u003ca href=\"https://redirect.github.com/langchain-ai/langsmith-sdk/issues/3013\"\u003e#3013\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langsmith-sdk/commit/36fe84563405928b73cdb2f28b2be8349c897515\"\u003e\u003ccode\u003e36fe845\u003c/code\u003e\u003c/a\u003e feat: add deepagent compatibility smoke tests to Python and JS CI [LSDK-214] ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langsmith-sdk/commit/572014cd2cbad1c26e6372614a1a972be9b086c7\"\u003e\u003ccode\u003e572014c\u003c/code\u003e\u003c/a\u003e chore(py): bump Python SDK to 0.8.13 (\u003ca href=\"https://redirect.github.com/langchain-ai/langsmith-sdk/issues/3012\"\u003e#3012\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langsmith-sdk/commit/03f3b8c741efcbd595dd39849199b7ffa18b9c03\"\u003e\u003ccode\u003e03f3b8c\u003c/code\u003e\u003c/a\u003e fix(py): type sandbox startup errors (\u003ca href=\"https://redirect.github.com/langchain-ai/langsmith-sdk/issues/3004\"\u003e#3004\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/langchain-ai/langsmith-sdk/compare/v0.8.5...v0.8.15\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `textual` from 8.2.6 to 8.2.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/textual/releases\"\u003etextual's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eThe more Kitty Release\u003c/h2\u003e\n\u003cp\u003eThis release adds additional support for the Kitty key protocol. Which enables some additional keys on some terminals. Additionally, Textual will report modifier keys as separate key events.\u003c/p\u003e\n\u003cp\u003eAdditionally there are a few more shortcuts to the Text Area.\u003c/p\u003e\n\u003cp\u003eThis release sponsored by Mistral AI. See release notes for detail.\u003c/p\u003e\n\u003ch2\u003e[8.2.7] - 2026-05-19\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Kitty key protocol \u0026quot;Report all keys as escape codes\u0026quot; which enabled alt+backspace on Warp \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6544\"\u003eTextualize/textual#6544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded support for detecting separate modifier keys for terminals that support the Kitty key protocol \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6544\"\u003eTextualize/textual#6544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eTEXTUAL_DISABLE_KITTY_KEY\u003c/code\u003e env var to disable Kitty key protocol support (debug aid). \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6544\"\u003eTextualize/textual#6544\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUndo/redo/copy/cut/paste in TextArea will now work with cmd+ on supported terminals \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6543\"\u003eTextualize/textual#6543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIn TextArea, ctrl+u will now delete a newline if the cursor is at the start \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6543\"\u003eTextualize/textual#6543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ein TextArea alt+delete is now bound to delete word right \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6543\"\u003eTextualize/textual#6543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eText opacity applied to an ansi theme will now set the dim attribute if the opacity is \u0026lt; 50% \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6546\"\u003eTextualize/textual#6546\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/Textualize/textual/blob/main/CHANGELOG.md\"\u003etextual's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[8.2.7] - 2026-05-19\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Kitty key protocol \u0026quot;Report all keys as escape codes\u0026quot; which enabled alt+backspace on Warp \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6544\"\u003eTextualize/textual#6544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded support for detecting separate modifier keys for terminals that support the Kitty key protocol \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6544\"\u003eTextualize/textual#6544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eTEXTUAL_DISABLE_KITTY_KEY\u003c/code\u003e env var to disable Kitty key protocol support (debug aid). \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6544\"\u003eTextualize/textual#6544\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUndo/redo/copy/cut/paste in TextArea will now work with cmd+ on supported terminals \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6543\"\u003eTextualize/textual#6543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIn TextArea, ctrl+u will now delete a newline if the cursor is at the start \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6543\"\u003eTextualize/textual#6543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ein TextArea alt+delete is now bound to delete word right \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6543\"\u003eTextualize/textual#6543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eText opacity applied to an ansi theme will now set the dim attribute if the opacity is \u0026lt; 50% \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6546\"\u003eTextualize/textual#6546\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed text opacity with ANSI themes creating RGB colors.  \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6546\"\u003eTextualize/textual#6546\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/Textualize/textual/commit/182277f69011ba0b9665a9a1b1b0c3e89630e913\"\u003e\u003ccode\u003e182277f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6546\"\u003e#6546\u003c/a\u003e from Textualize/ansi-opacity\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/49cbec44ffef26d94ddd42065bcb59a0017acd1a\"\u003e\u003ccode\u003e49cbec4\u003c/code\u003e\u003c/a\u003e bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/b24ef07d422b4ca82d0e65189a0659d032036bf4\"\u003e\u003ccode\u003eb24ef07\u003c/code\u003e\u003c/a\u003e snapshot\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/24e34e48a375ae83c607400809c699d88d423b88\"\u003e\u003ccode\u003e24e34e4\u003c/code\u003e\u003c/a\u003e changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/0c8bbc7eaa3a83b3e2b8b8a35f3e69ec07682b41\"\u003e\u003ccode\u003e0c8bbc7\u003c/code\u003e\u003c/a\u003e text opacity change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/3b04f316e72d071e212046a01f6b9f9976c77e5c\"\u003e\u003ccode\u003e3b04f31\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6543\"\u003e#6543\u003c/a\u003e from Textualize/textarea-actions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/913f5d28cd4aa423f5d9fb9a967cebffa41646aa\"\u003e\u003ccode\u003e913f5d2\u003c/code\u003e\u003c/a\u003e test fixes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/1027c41662ec4c6c3e50f658f548ea33cbdf9233\"\u003e\u003ccode\u003e1027c41\u003c/code\u003e\u003c/a\u003e ctrl+f replaced with ctrl+delete\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/01fb6fd73af092fe6e5da03c032d3e9c3fa161f1\"\u003e\u003ccode\u003e01fb6fd\u003c/code\u003e\u003c/a\u003e ctrl+backspace binding\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/54317091b8a57ab19a5512ef8479d1748d0c6de4\"\u003e\u003ccode\u003e5431709\u003c/code\u003e\u003c/a\u003e words\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/textual/compare/v8.2.6...v8.2.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `uuid-utils` from 0.15.0 to 0.16.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aminalaee/uuid-utils/releases\"\u003euuid-utils's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.16.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eOptimize uuid_utils.compat with \u003ccode\u003efrom_int\u003c/code\u003e by \u003ca href=\"https://github.com/aminalaee\"\u003e\u003ccode\u003e@​aminalaee\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aminalaee/uuid-utils/pull/166\"\u003eaminalaee/uuid-utils#166\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: return version None for non-RFC UUIDs by \u003ca href=\"https://github.com/aminalaee\"\u003e\u003ccode\u003e@​aminalaee\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aminalaee/uuid-utils/pull/163\"\u003eaminalaee/uuid-utils#163\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eValidate \u003ccode\u003enode\u003c/code\u003e argument out of range in constructor by \u003ca href=\"https://github.com/aminalaee\"\u003e\u003ccode\u003e@​aminalaee\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aminalaee/uuid-utils/pull/164\"\u003eaminalaee/uuid-utils#164\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop Python3.9 by \u003ca href=\"https://github.com/aminalaee\"\u003e\u003ccode\u003e@​aminalaee\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aminalaee/uuid-utils/pull/168\"\u003eaminalaee/uuid-utils#168\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/aminalaee/uuid-utils/compare/0.15.0...0.16.0\"\u003ehttps://github.com/aminalaee/uuid-utils/compare/0.15.0...0.16.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminalaee/uuid-utils/commit/5fbd5e6eec51fe20faa3fc67c1274ed7abd9388d\"\u003e\u003ccode\u003e5fbd5e6\u003c/code\u003e\u003c/a\u003e Version 0.16.0 (\u003ca href=\"https://redirect.github.com/aminalaee/uuid-utils/issues/169\"\u003e#169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminalaee/uuid-utils/commit/24438fb3ed80a2e565addedf5cb63e9032319a2c\"\u003e\u003ccode\u003e24438fb\u003c/code\u003e\u003c/a\u003e Drop Python3.9 (\u003ca href=\"https://redirect.github.com/aminalaee/uuid-utils/issues/168\"\u003e#168\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminalaee/uuid-utils/commit/2bc4813859608bd09cc7335a70174eff5c31f037\"\u003e\u003ccode\u003e2bc4813\u003c/code\u003e\u003c/a\u003e Migrate to Zensical (\u003ca href=\"https://redirect.github.com/aminalaee/uuid-utils/issues/167\"\u003e#167\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminalaee/uuid-utils/commit/cf0bdf46b63c66faf42d8543bb89976a1da52abf\"\u003e\u003ccode\u003ecf0bdf4\u003c/code\u003e\u003c/a\u003e Switch mypy to ty\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminalaee/uuid-utils/commit/304700ea6c74d9c60a8e5dff1342893c3b85fb4d\"\u003e\u003ccode\u003e304700e\u003c/code\u003e\u003c/a\u003e chore: minor improvements for consistency\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminalaee/uuid-utils/commit/0aeb1d4f68fec5bf2eb221886f60bdd6325f3a53\"\u003e\u003ccode\u003e0aeb1d4\u003c/code\u003e\u003c/a\u003e Fix benchmark URL in README\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminalaee/uuid-utils/commit/49ca99d5e386a24729d7b0aa6d1c9c0802b7218d\"\u003e\u003ccode\u003e49ca99d\u003c/code\u003e\u003c/a\u003e Optimize uuid_utils.compat with \u003ccode\u003efrom_int\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/aminalaee/uuid-utils/issues/166\"\u003e#166\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminalaee/uuid-utils/commit/c6b04aaa294b5ce7463a50d84715cf963eac14f6\"\u003e\u003ccode\u003ec6b04aa\u003c/code\u003e\u003c/a\u003e Validate \u003ccode\u003enode\u003c/code\u003e argument out of range in constructor (\u003ca href=\"https://redirect.github.com/aminalaee/uuid-utils/issues/164\"\u003e#164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminalaee/uuid-utils/commit/f3faea976cd6b60ff078f23f86ef919b75b319dc\"\u003e\u003ccode\u003ef3faea9\u003c/code\u003e\u003c/a\u003e fix: return version None for non-RFC UUIDs (\u003ca href=\"https://redirect.github.com/aminalaee/uuid-utils/issues/163\"\u003e#163\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/aminalaee/uuid-utils/compare/0.15.0...0.16.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `langchain-mcp-adapters` from 0.2.2 to 0.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/langchain-ai/langchain-mcp-adapters/releases\"\u003elangchain-mcp-adapters's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003elangchain-mcp-adapters==0.3.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebuild(deps): bump ncipollo/release-action from 1.20.0 to 1.21.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/441\"\u003elangchain-ai/langchain-mcp-adapters#441\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: update dependabot.yml to comply with posture checks by \u003ca href=\"https://github.com/jkennedyvz\"\u003e\u003ccode\u003e@​jkennedyvz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/448\"\u003elangchain-ai/langchain-mcp-adapters#448\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: pin pypa/gh-action-pypi-publish to stable commit SHA by \u003ca href=\"https://github.com/jkennedyvz\"\u003e\u003ccode\u003e@​jkennedyvz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/447\"\u003elangchain-ai/langchain-mcp-adapters#447\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump requests from 2.32.5 to 2.33.0 in the uv group across 1 directory by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/446\"\u003elangchain-ai/langchain-mcp-adapters#446\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump pypa/gh-action-pypi-publish from 106e0b0b7c337fa67ed433972f777c6357f78598 to ed0c53931b1dc9bd32cbe73a98c7f6766f8a527e by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/449\"\u003elangchain-ai/langchain-mcp-adapters#449\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump the minor-and-patch group with 6 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/450\"\u003elangchain-ai/langchain-mcp-adapters#450\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump pytest from 8.4.2 to 9.0.2 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/451\"\u003elangchain-ai/langchain-mcp-adapters#451\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump websockets from 15.0.1 to 16.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/452\"\u003elangchain-ai/langchain-mcp-adapters#452\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump types-setuptools from 80.9.0.20250822 to 82.0.0.20260210 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/453\"\u003elangchain-ai/langchain-mcp-adapters#453\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump cryptography from 46.0.5 to 46.0.6 in /examples/servers/streamable-http-stateless in the uv group across 1 directory by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/454\"\u003elangchain-ai/langchain-mcp-adapters#454\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump cryptography from 46.0.5 to 46.0.6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/455\"\u003elangchain-ai/langchain-mcp-adapters#455\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump the minor-and-patch group with 4 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/461\"\u003elangchain-ai/langchain-mcp-adapters#461\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: patch 3 security alerts (high + low severity) by \u003ca href=\"https://github.com/jkennedyvz\"\u003e\u003ccode\u003e@​jkennedyvz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/463\"\u003elangchain-ai/langchain-mcp-adapters#463\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump cryptography from 46.0.6 to 46.0.7 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/473\"\u003elangchain-ai/langchain-mcp-adapters#473\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump cryptography from 46.0.6 to 46.0.7 in /examples/servers/streamable-http-stateless in the uv group across 1 directory by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/471\"\u003elangchain-ai/langchain-mcp-adapters#471\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump langchain-core from 1.2.24 to 1.2.28 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/472\"\u003elangchain-ai/langchain-mcp-adapters#472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump pytest from 8.3.5 to 9.0.3 in /examples/servers/streamable-http-stateless in the uv group across 1 directory by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/476\"\u003elangchain-ai/langchain-mcp-adapters#476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump pytest from 9.0.2 to 9.0.3 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/477\"\u003elangchain-ai/langchain-mcp-adapters#477\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump python-multipart from 0.0.22 to 0.0.26 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/481\"\u003elangchain-ai/langchain-mcp-adapters#481\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump langsmith from 0.6.3 to 0.7.31 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/482\"\u003elangchain-ai/langchain-mcp-adapters#482\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump python-multipart from 0.0.22 to 0.0.26 in /examples/servers/streamable-http-stateless in the uv group across 1 directory by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/483\"\u003elangchain-ai/langchain-mcp-adapters#483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump python-dotenv from 1.1.0 to 1.2.2 in /examples/servers/streamable-http-stateless in the uv group across 1 directory by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/485\"\u003elangchain-ai/langchain-mcp-adapters#485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump python-dotenv from 1.1.1 to 1.2.2 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/486\"\u003elangchain-ai/langchain-mcp-adapters#486\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci(infra): harden Dependabot version-bound preservation by \u003ca href=\"https://github.com/open-swe\"\u003e\u003ccode\u003e@​open-swe\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/512\"\u003elangchain-ai/langchain-mcp-adapters#512\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump urllib3 from 2.6.3 to 2.7.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/506\"\u003elangchain-ai/langchain-mcp-adapters#506\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump langsmith from 0.7.31 to 0.8.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/508\"\u003elangchain-ai/langchain-mcp-adapters#508\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump the minor-and-patch group across 1 directory with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/513\"\u003elangchain-ai/langchain-mcp-adapters#513\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump types-setuptools from 82.0.0.20260210 to 82.0.0.20260518 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/514\"\u003elangchain-ai/langchain-mcp-adapters#514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump idna from 3.10 to 3.15 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/516\"\u003elangchain-ai/langchain-mcp-adapters#516\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump python-multipart from 0.0.26 to 0.0.27 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/504\"\u003elangchain-ai/langchain-mcp-adapters#504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump pypa/gh-action-pypi-publish from 1.13.0 to 1.14.0 in the minor-and-patch group across 1 directory by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/499\"\u003elangchain-ai/langchain-mcp-adapters#499\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump the uv group across 1 directory with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/517\"\u003elangchain-ai/langchain-mcp-adapters#517\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump starlette from 0.50.0 to 1.0.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/537\"\u003elangchain-ai/langchain-mcp-adapters#537\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump starlette from 0.49.1 to 1.0.1 in /examples/servers/streamable-http-stateless in the uv group across 1 directory by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/536\"\u003elangchain-ai/langchain-mcp-adapters#536\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump mypy from 1.20.0 to 2.1.0 in the major group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/535\"\u003elangchain-ai/langchain-mcp-adapters#535\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump the minor-and-patch group with 4 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/534\"\u003elangchain-ai/langchain-mcp-adapters#534\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: use non-deprecated streamable HTTP client by \u003ca href=\"https://github.com/mdrxy\"\u003e\u003ccode\u003e@​mdrxy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/541\"\u003elangchain-ai/langchain-mcp-adapters#541\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: surface MCP tool execution errors as failed tool output by \u003ca href=\"https://github.com/mdrxy\"\u003e\u003ccode\u003e@​mdrxy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/540\"\u003elangchain-ai/langchain-mcp-adapters#540\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erelease: 0.3.0 by \u003ca href=\"https://github.com/mdrxy\"\u003e\u003ccode\u003e@​mdrxy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/542\"\u003elangchain-ai/langchain-mcp-adapters#542\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-swe\"\u003e\u003ccode\u003e@​open-swe\u003c/code\u003e\u003c/a\u003e[bot] made their first contribution in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/512\"\u003elangchain-ai/langchain-mcp-adapters#512\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/langchain-ai/langchain-mcp-adapters/compare/langchain-mcp-adapters==0.2.2...langchain-mcp-adapters==0.3.0\"\u003ehttps://github.com/langchain-ai/langchain-mcp-adapters/compare/langchain-mcp-adapters==0.2.2...langchain-mcp-adapters==0.3.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain-mcp-adapters/commit/a61c783a7949719a8c3fbe4aeba961f45f3b7849\"\u003e\u003ccode\u003ea61c783\u003c/code\u003e\u003c/a\u003e release: 0.3.0 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/issues/542\"\u003e#542\u003c/a\u003e...\n\n_Description has been truncated_","html_url":"https://github.com/bogware/bog-agents/pull/130","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/bogware%2Fbog-agents/issues/130","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/130/packages"},{"uuid":"4636379098","node_id":"PR_kwDOM3LsYc7lHMoY","number":93,"state":"open","title":"chore(deps): bump textual from 1.0.0 to 8.2.7","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-11T01:27:07.000Z","updated_at":"2026-06-11T01:27:08.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"textual","old_version":"1.0.0","new_version":"8.2.7","repository_url":"https://github.com/Textualize/textual"}],"path":null,"ecosystem":"pip"},"body":"Bumps [textual](https://github.com/Textualize/textual) from 1.0.0 to 8.2.7.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/textual/releases\"\u003etextual's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eThe more Kitty Release\u003c/h2\u003e\n\u003cp\u003eThis release adds additional support for the Kitty key protocol. Which enables some additional keys on some terminals. Additionally, Textual will report modifier keys as separate key events.\u003c/p\u003e\n\u003cp\u003eAdditionally there are a few more shortcuts to the Text Area.\u003c/p\u003e\n\u003cp\u003eThis release sponsored by Mistral AI. See release notes for detail.\u003c/p\u003e\n\u003ch2\u003e[8.2.7] - 2026-05-19\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Kitty key protocol \u0026quot;Report all keys as escape codes\u0026quot; which enabled alt+backspace on Warp \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6544\"\u003eTextualize/textual#6544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded support for detecting separate modifier keys for terminals that support the Kitty key protocol \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6544\"\u003eTextualize/textual#6544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eTEXTUAL_DISABLE_KITTY_KEY\u003c/code\u003e env var to disable Kitty key protocol support (debug aid). \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6544\"\u003eTextualize/textual#6544\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUndo/redo/copy/cut/paste in TextArea will now work with cmd+ on supported terminals \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6543\"\u003eTextualize/textual#6543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIn TextArea, ctrl+u will now delete a newline if the cursor is at the start \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6543\"\u003eTextualize/textual#6543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ein TextArea alt+delete is now bound to delete word right \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6543\"\u003eTextualize/textual#6543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eText opacity applied to an ansi theme will now set the dim attribute if the opacity is \u0026lt; 50% \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6546\"\u003eTextualize/textual#6546\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eThe more selective release\u003c/h2\u003e\n\u003cp\u003eImproved text select logic. You can select text without first clicking on a content area.\u003c/p\u003e\n\u003cp\u003eMay break snapshots without affecting appearance.\u003c/p\u003e\n\u003ch2\u003e[8.2.6] - 2026-04-13\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed selection to the right of code fence blocks (may break some snapshots)\u003c/li\u003e\n\u003cli\u003eFixed Markdown code fences losing content when switching themes \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6537\"\u003eTextualize/textual#6537\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded ability to select outside of text, so the user doesn't need to be quite so precise \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6523\"\u003eTextualize/textual#6523\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eThe Antsy Release\u003c/h2\u003e\n\u003cp\u003eThis release adds support for dedicated ansi themes, which are also exposed from the command palette.\u003c/p\u003e\n\u003cp\u003eThere were a few tweaks to the theming system which may result in broken snapshots, but there should be no visual changes.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003e[8.2.5] - 2026-04-30\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/textual/blob/main/CHANGELOG.md\"\u003etextual's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[8.2.7] - 2026-05-19\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Kitty key protocol \u0026quot;Report all keys as escape codes\u0026quot; which enabled alt+backspace on Warp \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6544\"\u003eTextualize/textual#6544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded support for detecting separate modifier keys for terminals that support the Kitty key protocol \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6544\"\u003eTextualize/textual#6544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eTEXTUAL_DISABLE_KITTY_KEY\u003c/code\u003e env var to disable Kitty key protocol support (debug aid). \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6544\"\u003eTextualize/textual#6544\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUndo/redo/copy/cut/paste in TextArea will now work with cmd+ on supported terminals \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6543\"\u003eTextualize/textual#6543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIn TextArea, ctrl+u will now delete a newline if the cursor is at the start \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6543\"\u003eTextualize/textual#6543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ein TextArea alt+delete is now bound to delete word right \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6543\"\u003eTextualize/textual#6543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eText opacity applied to an ansi theme will now set the dim attribute if the opacity is \u0026lt; 50% \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6546\"\u003eTextualize/textual#6546\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed text opacity with ANSI themes creating RGB colors.  \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6546\"\u003eTextualize/textual#6546\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.6] - 2026-05-13\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed selection to the right of code fence blocks (may break some snapshots)\u003c/li\u003e\n\u003cli\u003eFixed Markdown code fences losing content when switching themes \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6537\"\u003eTextualize/textual#6537\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded ability to select outside of text, so the user doesn't need to be quite so precise \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6523\"\u003eTextualize/textual#6523\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.5] - 2026-04-30\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eTwo new themes: \u0026quot;ansi-dark\u0026quot; and \u0026quot;ansi-light\u0026quot; \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded an \u003ccode\u003eansi\u003c/code\u003e value to themes \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eApp.ansi_color\u003c/code\u003e may now be \u003ccode\u003eNone\u003c/code\u003e to use the \u003ccode\u003eansi\u003c/code\u003e value from the theme. \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.4] - 2026-04-19\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eDOM.update_classes\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6478\"\u003eTextualize/textual#6478\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed anchor released when scrolling down with the trackpad \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6503\"\u003eTextualize/textual#6503\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/182277f69011ba0b9665a9a1b1b0c3e89630e913\"\u003e\u003ccode\u003e182277f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6546\"\u003e#6546\u003c/a\u003e from Textualize/ansi-opacity\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/49cbec44ffef26d94ddd42065bcb59a0017acd1a\"\u003e\u003ccode\u003e49cbec4\u003c/code\u003e\u003c/a\u003e bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/b24ef07d422b4ca82d0e65189a0659d032036bf4\"\u003e\u003ccode\u003eb24ef07\u003c/code\u003e\u003c/a\u003e snapshot\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/24e34e48a375ae83c607400809c699d88d423b88\"\u003e\u003ccode\u003e24e34e4\u003c/code\u003e\u003c/a\u003e changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/0c8bbc7eaa3a83b3e2b8b8a35f3e69ec07682b41\"\u003e\u003ccode\u003e0c8bbc7\u003c/code\u003e\u003c/a\u003e text opacity change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/3b04f316e72d071e212046a01f6b9f9976c77e5c\"\u003e\u003ccode\u003e3b04f31\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6543\"\u003e#6543\u003c/a\u003e from Textualize/textarea-actions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/913f5d28cd4aa423f5d9fb9a967cebffa41646aa\"\u003e\u003ccode\u003e913f5d2\u003c/code\u003e\u003c/a\u003e test fixes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/1027c41662ec4c6c3e50f658f548ea33cbdf9233\"\u003e\u003ccode\u003e1027c41\u003c/code\u003e\u003c/a\u003e ctrl+f replaced with ctrl+delete\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/01fb6fd73af092fe6e5da03c032d3e9c3fa161f1\"\u003e\u003ccode\u003e01fb6fd\u003c/code\u003e\u003c/a\u003e ctrl+backspace binding\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/54317091b8a57ab19a5512ef8479d1748d0c6de4\"\u003e\u003ccode\u003e5431709\u003c/code\u003e\u003c/a\u003e words\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/textual/compare/v1.0.0...v8.2.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=textual\u0026package-manager=pip\u0026previous-version=1.0.0\u0026new-version=8.2.7)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/edurdias/flux/pull/93","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/edurdias%2Fflux/issues/93","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/93/packages"},{"uuid":"4610482800","node_id":"PR_kwDOR-7nxM7jxxc5","number":163,"state":"open","title":"chore(deps-dev): Bump the dev-dependencies group across 1 directory with 28 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-08T06:18:25.000Z","updated_at":"2026-06-08T06:20:50.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev): Bump","group_name":"dev-dependencies","update_count":28,"packages":[{"name":"uv","old_version":"0.11.7","new_version":"0.11.19","repository_url":"https://github.com/astral-sh/uv"},{"name":"ruff","old_version":"0.15.11","new_version":"0.15.16","repository_url":"https://github.com/astral-sh/ruff"},{"name":"ty","old_version":"0.0.31","new_version":"0.0.44","repository_url":"https://github.com/astral-sh/ty"},{"name":"hypothesis","old_version":"6.152.1","new_version":"6.155.2","repository_url":"https://github.com/HypothesisWorks/hypothesis"},{"name":"beautifulsoup4","old_version":"4.14.3","new_version":"4.15.0"},{"name":"mutmut","old_version":"3.5.0","new_version":"3.6.0","repository_url":"https://github.com/boxed/mutmut"},{"name":"pre-commit","old_version":"4.5.1","new_version":"4.6.0","repository_url":"https://github.com/pre-commit/pre-commit"},{"name":"certifi","old_version":"2026.2.25","new_version":"2026.5.20","repository_url":"https://github.com/certifi/python-certifi"},{"name":"coverage","old_version":"7.13.5","new_version":"7.14.1","repository_url":"https://github.com/coveragepy/coveragepy"},{"name":"cyclonedx-python-lib","old_version":"11.7.0","new_version":"11.8.0","repository_url":"https://github.com/CycloneDX/cyclonedx-python-lib"},{"name":"distlib","old_version":"0.4.0","new_version":"0.4.1","repository_url":"https://github.com/pypa/distlib"},{"name":"filelock","old_version":"3.25.2","new_version":"3.29.1","repository_url":"https://github.com/tox-dev/py-filelock"},{"name":"identify","old_version":"2.6.18","new_version":"2.6.19","repository_url":"https://github.com/pre-commit/identify"},{"name":"idna","old_version":"3.11","new_version":"3.18","repository_url":"https://github.com/kjd/idna"},{"name":"mdit-py-plugins","old_version":"0.5.0","new_version":"0.6.1","repository_url":"https://github.com/executablebooks/mdit-py-plugins"},{"name":"packaging","old_version":"26.0","new_version":"26.2","repository_url":"https://github.com/pypa/packaging"},{"name":"pip","old_version":"26.0.1","new_version":"26.1.2","repository_url":"https://github.com/pypa/pip"},{"name":"platformdirs","old_version":"4.9.6","new_version":"4.10.0","repository_url":"https://github.com/tox-dev/platformdirs"},{"name":"pyjwt","old_version":"2.12.1","new_version":"2.13.0","repository_url":"https://github.com/jpadilla/pyjwt"},{"name":"pyopenssl","old_version":"26.0.0","new_version":"26.2.0","repository_url":"https://github.com/pyca/pyopenssl"},{"name":"python-discovery","old_version":"1.2.2","new_version":"1.4.0","repository_url":"https://github.com/tox-dev/python-discovery"},{"name":"requests","old_version":"2.33.1","new_version":"2.34.2","repository_url":"https://github.com/psf/requests"},{"name":"securesystemslib","old_version":"1.3.1","new_version":"1.4.0","repository_url":"https://github.com/secure-systems-lab/securesystemslib"},{"name":"sigstore","old_version":"4.2.0","new_version":"4.3.0","repository_url":"https://github.com/sigstore/sigstore-python"},{"name":"soupsieve","old_version":"2.8.3","new_version":"2.8.4","repository_url":"https://github.com/facelessuser/soupsieve"},{"name":"textual","old_version":"8.2.4","new_version":"8.2.7","repository_url":"https://github.com/Textualize/textual"},{"name":"urllib3","old_version":"2.6.3","new_version":"2.7.0","repository_url":"https://github.com/urllib3/urllib3"},{"name":"virtualenv","old_version":"21.2.0","new_version":"21.4.2","repository_url":"https://github.com/pypa/virtualenv"}],"path":null,"ecosystem":"pip"},"body":"Bumps the dev-dependencies group with 28 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [uv](https://github.com/astral-sh/uv) | `0.11.7` | `0.11.19` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.15.11` | `0.15.16` |\n| [ty](https://github.com/astral-sh/ty) | `0.0.31` | `0.0.44` |\n| [hypothesis](https://github.com/HypothesisWorks/hypothesis) | `6.152.1` | `6.155.2` |\n| [beautifulsoup4](https://www.crummy.com/software/BeautifulSoup/bs4/) | `4.14.3` | `4.15.0` |\n| [mutmut](https://github.com/boxed/mutmut) | `3.5.0` | `3.6.0` |\n| [pre-commit](https://github.com/pre-commit/pre-commit) | `4.5.1` | `4.6.0` |\n| [certifi](https://github.com/certifi/python-certifi) | `2026.2.25` | `2026.5.20` |\n| [coverage](https://github.com/coveragepy/coveragepy) | `7.13.5` | `7.14.1` |\n| [cyclonedx-python-lib](https://github.com/CycloneDX/cyclonedx-python-lib) | `11.7.0` | `11.8.0` |\n| [distlib](https://github.com/pypa/distlib) | `0.4.0` | `0.4.1` |\n| [filelock](https://github.com/tox-dev/py-filelock) | `3.25.2` | `3.29.1` |\n| [identify](https://github.com/pre-commit/identify) | `2.6.18` | `2.6.19` |\n| [idna](https://github.com/kjd/idna) | `3.11` | `3.18` |\n| [mdit-py-plugins](https://github.com/executablebooks/mdit-py-plugins) | `0.5.0` | `0.6.1` |\n| [packaging](https://github.com/pypa/packaging) | `26.0` | `26.2` |\n| [pip](https://github.com/pypa/pip) | `26.0.1` | `26.1.2` |\n| [platformdirs](https://github.com/tox-dev/platformdirs) | `4.9.6` | `4.10.0` |\n| [pyjwt](https://github.com/jpadilla/pyjwt) | `2.12.1` | `2.13.0` |\n| [pyopenssl](https://github.com/pyca/pyopenssl) | `26.0.0` | `26.2.0` |\n| [python-discovery](https://github.com/tox-dev/python-discovery) | `1.2.2` | `1.4.0` |\n| [requests](https://github.com/psf/requests) | `2.33.1` | `2.34.2` |\n| [securesystemslib](https://github.com/secure-systems-lab/securesystemslib) | `1.3.1` | `1.4.0` |\n| [sigstore](https://github.com/sigstore/sigstore-python) | `4.2.0` | `4.3.0` |\n| [soupsieve](https://github.com/facelessuser/soupsieve) | `2.8.3` | `2.8.4` |\n| [textual](https://github.com/Textualize/textual) | `8.2.4` | `8.2.7` |\n| [urllib3](https://github.com/urllib3/urllib3) | `2.6.3` | `2.7.0` |\n| [virtualenv](https://github.com/pypa/virtualenv) | `21.2.0` | `21.4.2` |\n\n\nUpdates `uv` from 0.11.7 to 0.11.19\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/uv/releases\"\u003euv's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.11.19\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-06-03.\u003c/p\u003e\n\u003ch3\u003ePython\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd CPython 3.15.0b2 (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19531\"\u003e#19531\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAlways compute SHA256 for remote distributions (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19662\"\u003e#19662\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd PyEmscripten platform (PEP 783) (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19629\"\u003e#19629\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Pyodide 2025 target triple (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19653\"\u003e#19653\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMake preview features for commands have names that aren't ambiguous with the command (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19645\"\u003e#19645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRespect \u003ccode\u003e--isolated\u003c/code\u003e in \u003ccode\u003euv check\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19666\"\u003e#19666\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eContinue tool uninstall after dangling receipts (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19623\"\u003e#19623\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip Unix-specific installation steps when cross-installing Windows Python distributions (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19424\"\u003e#19424\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall uv 0.11.19\u003c/h2\u003e\n\u003ch3\u003eInstall prebuilt binaries via shell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ecurl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/uv/releases/download/0.11.19/uv-installer.sh | sh\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via powershell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003epowershell -ExecutionPolicy Bypass -c \u0026quot;irm https://releases.astral.sh/github/uv/releases/download/0.11.19/uv-installer.ps1 | iex\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eDownload uv 0.11.19\u003c/h2\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eFile\u003c/th\u003e\n\u003cth\u003ePlatform\u003c/th\u003e\n\u003cth\u003eChecksum\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/uv/releases/download/0.11.19/uv-aarch64-apple-darwin.tar.gz\"\u003euv-aarch64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eApple Silicon macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/uv/releases/download/0.11.19/uv-aarch64-apple-darwin.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/uv/releases/download/0.11.19/uv-x86_64-apple-darwin.tar.gz\"\u003euv-x86_64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eIntel macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/uv/releases/download/0.11.19/uv-x86_64-apple-darwin.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/uv/releases/download/0.11.19/uv-aarch64-pc-windows-msvc.zip\"\u003euv-aarch64-pc-windows-msvc.zip\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eARM64 Windows\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/uv/releases/download/0.11.19/uv-aarch64-pc-windows-msvc.zip.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/uv/releases/download/0.11.19/uv-i686-pc-windows-msvc.zip\"\u003euv-i686-pc-windows-msvc.zip\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ex86 Windows\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/uv/releases/download/0.11.19/uv-i686-pc-windows-msvc.zip.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/uv/releases/download/0.11.19/uv-x86_64-pc-windows-msvc.zip\"\u003euv-x86_64-pc-windows-msvc.zip\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ex64 Windows\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/uv/releases/download/0.11.19/uv-x86_64-pc-windows-msvc.zip.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/uv/releases/download/0.11.19/uv-aarch64-unknown-linux-gnu.tar.gz\"\u003euv-aarch64-unknown-linux-gnu.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eARM64 Linux\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/uv/releases/download/0.11.19/uv-aarch64-unknown-linux-gnu.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/uv/releases/download/0.11.19/uv-i686-unknown-linux-gnu.tar.gz\"\u003euv-i686-unknown-linux-gnu.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ex86 Linux\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/uv/releases/download/0.11.19/uv-i686-unknown-linux-gnu.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/uv/blob/main/CHANGELOG.md\"\u003euv's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.11.19\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-06-03.\u003c/p\u003e\n\u003ch3\u003ePython\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd CPython 3.15.0b2 (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19531\"\u003e#19531\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAlways compute SHA256 for remote distributions (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19662\"\u003e#19662\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd PyEmscripten platform (PEP 783) (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19629\"\u003e#19629\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Pyodide 2025 target triple (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19653\"\u003e#19653\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMake preview features for commands have names that aren't ambiguous with the command (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19645\"\u003e#19645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRespect \u003ccode\u003e--isolated\u003c/code\u003e in \u003ccode\u003euv check\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19666\"\u003e#19666\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eContinue tool uninstall after dangling receipts (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19623\"\u003e#19623\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip Unix-specific installation steps when cross-installing Windows Python distributions (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19424\"\u003e#19424\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.11.18\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-06-01.\u003c/p\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix performance regression in unzip of local wheels (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19637\"\u003e#19637\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003euv check\u003c/code\u003e to run \u003ccode\u003ety\u003c/code\u003e from uv (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19605\"\u003e#19605\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate activation scripts with upstream fixes (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19628\"\u003e#19628\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump MSRV to 1.94 (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19600\"\u003e#19600\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.11.17\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-28.\u003c/p\u003e\n\u003ch3\u003eEnhancements\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/astral-sh/uv/commit/7b2cff1c316eb3b7f52b1cc121d7e25eeea1b17c\"\u003e\u003ccode\u003e7b2cff1\u003c/code\u003e\u003c/a\u003e Bump version to 0.11.19 (\u003ca href=\"https://redirect.github.com/astral-sh/uv/issues/19668\"\u003e#19668\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/uv/commit/ebd5033d77bca6a58c329cbbc351406a9415c920\"\u003e\u003ccode\u003eebd5033\u003c/code\u003e\u003c/a\u003e Fix setup-crates-io-publish call (\u003ca href=\"https://redirect.github.com/astral-sh/uv/issues/19667\"\u003e#19667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/uv/commit/9abd9b122b963dc6d71a8b29729efa86b3b41d4c\"\u003e\u003ccode\u003e9abd9b1\u003c/code\u003e\u003c/a\u003e Respect \u003ccode\u003e--isolated\u003c/code\u003e in \u003ccode\u003euv check\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/uv/issues/19666\"\u003e#19666\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/uv/commit/95507374d81bee4c6ffe55d9ccef60c5120e20b2\"\u003e\u003ccode\u003e9550737\u003c/code\u003e\u003c/a\u003e Use global preview in \u003ccode\u003eCondaEnvironmentKind::from_prefix_path\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/uv/issues/19649\"\u003e#19649\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/uv/commit/b82cadf1555c23a0971bd660ed07fba223290aee\"\u003e\u003ccode\u003eb82cadf\u003c/code\u003e\u003c/a\u003e Remove more duplication in \u003ccode\u003eshow_settings\u003c/code\u003e tests (\u003ca href=\"https://redirect.github.com/astral-sh/uv/issues/19664\"\u003e#19664\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/uv/commit/d3cd632c83dbce8452cd2d4c3ccd8a3cd8ff5069\"\u003e\u003ccode\u003ed3cd632\u003c/code\u003e\u003c/a\u003e Always compute SHA256 for remote distributions (\u003ca href=\"https://redirect.github.com/astral-sh/uv/issues/19662\"\u003e#19662\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/uv/commit/48548c496e835a84c9a69d7d7e7d3b4b809fad8c\"\u003e\u003ccode\u003e48548c4\u003c/code\u003e\u003c/a\u003e Sync latest Python releases (\u003ca href=\"https://redirect.github.com/astral-sh/uv/issues/19531\"\u003e#19531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/uv/commit/8df759892cd54488c66a77852d7fc3f87a066f64\"\u003e\u003ccode\u003e8df7598\u003c/code\u003e\u003c/a\u003e fix feature-gates on \u003ccode\u003eformat\u003c/code\u003e and \u003ccode\u003echeck\u003c/code\u003e tests to specify they access r2 (\u003ca href=\"https://redirect.github.com/astral-sh/uv/issues/1\"\u003e#1\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/uv/commit/68ae09e00cb4a1b7eb512b0ac77b79e4683cfaf4\"\u003e\u003ccode\u003e68ae09e\u003c/code\u003e\u003c/a\u003e Remove unused \u003ccode\u003epub\u003c/code\u003e code from workspace (\u003ca href=\"https://redirect.github.com/astral-sh/uv/issues/19565\"\u003e#19565\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/uv/commit/d4450f385074cd2a639e2525f44608c3c27f6414\"\u003e\u003ccode\u003ed4450f3\u003c/code\u003e\u003c/a\u003e Remove a bunch of duplication in \u003ccode\u003eshow_settings\u003c/code\u003e tests by using diffs (\u003ca href=\"https://redirect.github.com/astral-sh/uv/issues/19654\"\u003e#19654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/uv/compare/0.11.7...0.11.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruff` from 0.15.11 to 0.15.16\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.16\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-06-04.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-async\u003c/code\u003e] Implement \u003ccode\u003eyield-in-context-manager-in-async-generator\u003c/code\u003e (\u003ccode\u003eASYNC119\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24644\"\u003e#24644\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Narrow diagnostic range and exclude cases without exception handlers (\u003ccode\u003ePLW0717\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25440\"\u003e#25440\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Treat \u003ccode\u003eyield\u003c/code\u003e before \u003ccode\u003ebreak\u003c/code\u003e from a terminal loop as terminal (\u003ccode\u003eRUF075\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25447\"\u003e#25447\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eeradicate\u003c/code\u003e] Avoid flagging \u003ccode\u003eruff:ignore\u003c/code\u003e comments as code (\u003ccode\u003eERA001\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25537\"\u003e#25537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eeradicate\u003c/code\u003e] Fix \u003ccode\u003eERA001\u003c/code\u003e/\u003ccode\u003eRUF100\u003c/code\u003e conflict when \u003ccode\u003enoqa\u003c/code\u003e is on commented-out code (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25414\"\u003e#25414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Avoid removing the \u003ccode\u003eformat\u003c/code\u003e call when it would change behavior (\u003ccode\u003eF523\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25320\"\u003e#25320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Avoid syntax errors in invalid character replacements in f-strings before Python 3.12 (\u003ccode\u003ePLE2510\u003c/code\u003e, \u003ccode\u003ePLE2512\u003c/code\u003e, \u003ccode\u003ePLE2513\u003c/code\u003e, \u003ccode\u003ePLE2514\u003c/code\u003e, \u003ccode\u003ePLE2515\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25544\"\u003e#25544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Avoid converting \u003ccode\u003eformat\u003c/code\u003e calls with more kinds of side effects (\u003ccode\u003eUP032\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25484\"\u003e#25484\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pytest-style\u003c/code\u003e] Avoid fixes for ambiguous \u003ccode\u003eargnames\u003c/code\u003e and \u003ccode\u003eargvalues\u003c/code\u003e combinations (\u003ccode\u003ePT006\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24776\"\u003e#24776\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDrop excess capacity from statement suites during parsing (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25368\"\u003e#25368\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003epydocstyle\u003c/code\u003e] Improve discoverability of rules enabled for each convention (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24973\"\u003e#24973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Restore example code for Python versions before 3.15 (\u003ccode\u003eRUF017\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25439\"\u003e#25439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix typo \u003ccode\u003ebin/active\u003c/code\u003e → \u003ccode\u003ebin/activate\u003c/code\u003e in tutorial (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25473\"\u003e#25473\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShrink additional parser AST collections (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25465\"\u003e#25465\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Redslayer112\"\u003e\u003ccode\u003e@​Redslayer112\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/koriyoshi2041\"\u003e\u003ccode\u003e@​koriyoshi2041\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/George-Ogden\"\u003e\u003ccode\u003e@​George-Ogden\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TejasAmle\"\u003e\u003ccode\u003e@​TejasAmle\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anishgirianish\"\u003e\u003ccode\u003e@​anishgirianish\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MichaReiser\"\u003e\u003ccode\u003e@​MichaReiser\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/loganrosen\"\u003e\u003ccode\u003e@​loganrosen\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RafaelJohn9\"\u003e\u003ccode\u003e@​RafaelJohn9\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adityasingh2400\"\u003e\u003ccode\u003e@​adityasingh2400\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.16\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-06-04.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-async\u003c/code\u003e] Implement \u003ccode\u003eyield-in-context-manager-in-async-generator\u003c/code\u003e (\u003ccode\u003eASYNC119\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24644\"\u003e#24644\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Narrow diagnostic range and exclude cases without exception handlers (\u003ccode\u003ePLW0717\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25440\"\u003e#25440\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Treat \u003ccode\u003eyield\u003c/code\u003e before \u003ccode\u003ebreak\u003c/code\u003e from a terminal loop as terminal (\u003ccode\u003eRUF075\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25447\"\u003e#25447\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eeradicate\u003c/code\u003e] Avoid flagging \u003ccode\u003eruff:ignore\u003c/code\u003e comments as code (\u003ccode\u003eERA001\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25537\"\u003e#25537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eeradicate\u003c/code\u003e] Fix \u003ccode\u003eERA001\u003c/code\u003e/\u003ccode\u003eRUF100\u003c/code\u003e conflict when \u003ccode\u003enoqa\u003c/code\u003e is on commented-out code (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25414\"\u003e#25414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Avoid removing the \u003ccode\u003eformat\u003c/code\u003e call when it would change behavior (\u003ccode\u003eF523\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25320\"\u003e#25320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Avoid syntax errors in invalid character replacements in f-strings before Python 3.12 (\u003ccode\u003ePLE2510\u003c/code\u003e, \u003ccode\u003ePLE2512\u003c/code\u003e, \u003ccode\u003ePLE2513\u003c/code\u003e, \u003ccode\u003ePLE2514\u003c/code\u003e, \u003ccode\u003ePLE2515\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25544\"\u003e#25544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Avoid converting \u003ccode\u003eformat\u003c/code\u003e calls with more kinds of side effects (\u003ccode\u003eUP032\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25484\"\u003e#25484\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pytest-style\u003c/code\u003e] Avoid fixes for ambiguous \u003ccode\u003eargnames\u003c/code\u003e and \u003ccode\u003eargvalues\u003c/code\u003e combinations (\u003ccode\u003ePT006\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24776\"\u003e#24776\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDrop excess capacity from statement suites during parsing (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25368\"\u003e#25368\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003epydocstyle\u003c/code\u003e] Improve discoverability of rules enabled for each convention (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24973\"\u003e#24973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Restore example code for Python versions before 3.15 (\u003ccode\u003eRUF017\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25439\"\u003e#25439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix typo \u003ccode\u003ebin/active\u003c/code\u003e → \u003ccode\u003ebin/activate\u003c/code\u003e in tutorial (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25473\"\u003e#25473\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShrink additional parser AST collections (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25465\"\u003e#25465\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Redslayer112\"\u003e\u003ccode\u003e@​Redslayer112\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/koriyoshi2041\"\u003e\u003ccode\u003e@​koriyoshi2041\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/George-Ogden\"\u003e\u003ccode\u003e@​George-Ogden\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TejasAmle\"\u003e\u003ccode\u003e@​TejasAmle\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anishgirianish\"\u003e\u003ccode\u003e@​anishgirianish\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MichaReiser\"\u003e\u003ccode\u003e@​MichaReiser\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/loganrosen\"\u003e\u003ccode\u003e@​loganrosen\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RafaelJohn9\"\u003e\u003ccode\u003e@​RafaelJohn9\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adityasingh2400\"\u003e\u003ccode\u003e@​adityasingh2400\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.15.15\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/6c498ab5394edc5622d7f348e12956bf86203716\"\u003e\u003ccode\u003e6c498ab\u003c/code\u003e\u003c/a\u003e Bump 0.15.16 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25635\"\u003e#25635\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/e51e132831c4e1c4a5ac00fca4c9256354ab99bf\"\u003e\u003ccode\u003ee51e132\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eflake8-async\u003c/code\u003e] Implement \u003ccode\u003eyield-in-context-manager-in-async-generator\u003c/code\u003e (`AS...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/7c6dcd9f2611999c449143d241c582dedf287964\"\u003e\u003ccode\u003e7c6dcd9\u003c/code\u003e\u003c/a\u003e [ty] Add caching for pattern match narrowing (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25613\"\u003e#25613\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/27058fc071b542bf06395ba89cabed061d313ca6\"\u003e\u003ccode\u003e27058fc\u003c/code\u003e\u003c/a\u003e [ty] Compact retained definition and expression identities (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25606\"\u003e#25606\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/bf80d05f007c939799f530c9e775ed9449f5b2eb\"\u003e\u003ccode\u003ebf80d05\u003c/code\u003e\u003c/a\u003e Fix CODEOWNERS syntax (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25622\"\u003e#25622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/10ccd511e94a81d1e836b174f1c553a73ff3f1b3\"\u003e\u003ccode\u003e10ccd51\u003c/code\u003e\u003c/a\u003e Shrink additional parser AST collections (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25465\"\u003e#25465\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/0d7135f4d23e7f4d8404daed16b9ef11d14f3fb9\"\u003e\u003ccode\u003e0d7135f\u003c/code\u003e\u003c/a\u003e [ty] Upgrade Salsa (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25545\"\u003e#25545\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/49493a3cea83a08fa9aa143695017c816a540f1d\"\u003e\u003ccode\u003e49493a3\u003c/code\u003e\u003c/a\u003e [ty] Show type alias value on hover (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25381\"\u003e#25381\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/85207d3b7657a84252f266766cb0d56034dc21cc\"\u003e\u003ccode\u003e85207d3\u003c/code\u003e\u003c/a\u003e [ty] sys.implementation.version is not sys.version_info (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25608\"\u003e#25608\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/a8a0614348c1fcf47fc9b666eff61a103914d520\"\u003e\u003ccode\u003ea8a0614\u003c/code\u003e\u003c/a\u003e [ty] Avoid retaining duplicate function signatures (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25609\"\u003e#25609\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.15.11...0.15.16\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ty` from 0.0.31 to 0.0.44\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ty/releases\"\u003ety's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.44\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-06-04.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid treating \u003ccode\u003esys.implementation.version\u003c/code\u003e like \u003ccode\u003esys.version_info\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25608\"\u003e#25608\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix anchor point for override diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25621\"\u003e#25621\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLSP server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShow type alias value on hover (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25381\"\u003e#25381\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd caching for pattern match narrowing (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25613\"\u003e#25613\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCompact retained definition and expression identities (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25606\"\u003e#25606\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReuse expression cache for TypedDict union inference (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25643\"\u003e#25643\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade Salsa (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25545\"\u003e#25545\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCore type checking\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnable narrowing for unions of TypedDict (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25188\"\u003e#25188\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lerebear\"\u003e\u003ccode\u003e@​lerebear\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MichaReiser\"\u003e\u003ccode\u003e@​MichaReiser\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/carljm\"\u003e\u003ccode\u003e@​carljm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pierrem964\"\u003e\u003ccode\u003e@​pierrem964\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/charliermarsh\"\u003e\u003ccode\u003e@​charliermarsh\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Hugo-Polloli\"\u003e\u003ccode\u003e@​Hugo-Polloli\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall ty 0.0.44\u003c/h2\u003e\n\u003ch3\u003eInstall prebuilt binaries via shell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ecurl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/ty/releases/download/0.0.44/ty-installer.sh | sh\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via powershell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003epowershell -ExecutionPolicy Bypass -c \u0026quot;irm https://releases.astral.sh/github/ty/releases/download/0.0.44/ty-installer.ps1 | iex\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eDownload ty 0.0.44\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ty/blob/main/CHANGELOG.md\"\u003ety's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.44\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-06-04.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid treating \u003ccode\u003esys.implementation.version\u003c/code\u003e like \u003ccode\u003esys.version_info\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25608\"\u003e#25608\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix anchor point for override diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25621\"\u003e#25621\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLSP server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShow type alias value on hover (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25381\"\u003e#25381\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd caching for pattern match narrowing (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25613\"\u003e#25613\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCompact retained definition and expression identities (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25606\"\u003e#25606\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReuse expression cache for TypedDict union inference (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25643\"\u003e#25643\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade Salsa (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25545\"\u003e#25545\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCore type checking\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnable narrowing for unions of TypedDict (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25188\"\u003e#25188\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lerebear\"\u003e\u003ccode\u003e@​lerebear\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MichaReiser\"\u003e\u003ccode\u003e@​MichaReiser\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/carljm\"\u003e\u003ccode\u003e@​carljm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pierrem964\"\u003e\u003ccode\u003e@​pierrem964\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/charliermarsh\"\u003e\u003ccode\u003e@​charliermarsh\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Hugo-Polloli\"\u003e\u003ccode\u003e@​Hugo-Polloli\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.43\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-06-03.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't inject \u003ccode\u003eUnknown\u003c/code\u003e from non-callable elements of intersection call (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25538\"\u003e#25538\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't needlessly disambiguate the same type alias (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25563\"\u003e#25563\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix variance inference for nested type aliases (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25567\"\u003e#25567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIgnore rejected member annotations for synthesized bindings (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25427\"\u003e#25427\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNormalize dynamic class literals in cycle recovery (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25558\"\u003e#25558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRegister file roots for first-party search paths (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25522\"\u003e#25522\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTreat union-bound typevars like unions for \u003ccode\u003epossibly-missing-attribute\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25561\"\u003e#25561\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLSP server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSuppress importable completions that are already in scope (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25479\"\u003e#25479\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/f5523e256eb275c9b473f174aedc383e7b050c34\"\u003e\u003ccode\u003ef5523e2\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.44 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3667\"\u003e#3667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/29ce3146faa2d42867dadd7ecbda84759b8183be\"\u003e\u003ccode\u003e29ce314\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.43 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3648\"\u003e#3648\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/794322d34624abc56301bd85ac354b94ca54fbb2\"\u003e\u003ccode\u003e794322d\u003c/code\u003e\u003c/a\u003e Update docker/build-push-action action to v7.2.0 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3629\"\u003e#3629\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/ce89685310383494c7dfec92bd2fc2dd2a46d074\"\u003e\u003ccode\u003ece89685\u003c/code\u003e\u003c/a\u003e Update prek dependencies (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3628\"\u003e#3628\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/792fb71ca172f8d67fcfdb5fdd452a049724c8fd\"\u003e\u003ccode\u003e792fb71\u003c/code\u003e\u003c/a\u003e Update docker/login-action action to v4.2.0 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3630\"\u003e#3630\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/5c377476823a4b77a903fb5340d77b51d68db389\"\u003e\u003ccode\u003e5c37747\u003c/code\u003e\u003c/a\u003e Update docker/metadata-action action to v6.1.0 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3631\"\u003e#3631\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/5a3e1695ce1e2205070afc18d9a7449e0ed045d0\"\u003e\u003ccode\u003e5a3e169\u003c/code\u003e\u003c/a\u003e Update docker/setup-buildx-action action to v4.1.0 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3632\"\u003e#3632\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/c2500cc57e4aea85ae8e3287351538ad60a9ee00\"\u003e\u003ccode\u003ec2500cc\u003c/code\u003e\u003c/a\u003e Release: Force usage of PyPI as the index (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3616\"\u003e#3616\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/7f8cb6457e8d77178ae9204f9b81a516f44444ed\"\u003e\u003ccode\u003e7f8cb64\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.42 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3615\"\u003e#3615\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/41bb0d24412ad97c214bd0019e602c463ae3feba\"\u003e\u003ccode\u003e41bb0d2\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.41 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3601\"\u003e#3601\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ty/compare/0.0.31...0.0.44\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `hypothesis` from 6.152.1 to 6.155.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/HypothesisWorks/hypothesis/releases\"\u003ehypothesis's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eHypothesis for Python - version 6.152.9\u003c/h2\u003e\n\u003cp\u003eThis release substantially improves our internal distribution for\ngenerating integers. This release has the most visible effect on\n\u0026quot;integers()\u0026quot;, but may incidentally improve other strategies which draw\nintegers internally.\u003c/p\u003e\n\u003cp\u003eOur integers distribution had two problems. First, it had jagged\ndiscontinuities at certain values where we switched sampling\napproaches. Second, it used a different distribution for bounded and\nunbounded ranges, which resulted in \u0026quot;st.integers()\u0026quot; and\n\u0026quot;st.integers(-2\u003cstrong\u003e64, 2\u003c/strong\u003e64)\u0026quot; producing very different distributions\ndespite being semantically similar.\u003c/p\u003e\n\u003cp\u003eWe now use a smooth distribution for both \u0026quot;st.integers()\u0026quot; and\n\u0026quot;st.integers(a, b)\u0026quot;, which fixes both of these issues. This should\nsubstantially improve our testing power in certain cases.\u003c/p\u003e\n\u003cp\u003eThe only way this release should be user-visible is that it finds more\nbugs! If this release is user-visible in other ways - for example,\nbecause it is slower, or produces a worse distribution in some cases -\nplease open an issue.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e\u003ca href=\"https://hypothesis.readthedocs.io/en/latest/changelog.html#v6-152-9\"\u003eThe canonical version of these notes (with links) is on readthedocs.\u003c/a\u003e\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eHypothesis for Python - version 6.152.8\u003c/h2\u003e\n\u003cp\u003eThis release drops support for end-of-life Django 4.2.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e\u003ca href=\"https://hypothesis.readthedocs.io/en/latest/changelog.html#v6-152-8\"\u003eThe canonical version of these notes (with links) is on readthedocs.\u003c/a\u003e\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eHypothesis for Python - version 6.152.7\u003c/h2\u003e\n\u003cp\u003eThis patch improves our type hints for \u0026quot;.filter()\u0026quot; to work with\n\u0026quot;typing.TypeGuard\u0026quot;. For example:\u003c/p\u003e\n\u003cp\u003efrom typing import TypeGuard\u003c/p\u003e\n\u003cp\u003efrom hypothesis import strategies as st\u003c/p\u003e\n\u003cp\u003edef is_str(x: object) -\u0026gt; TypeGuard[str]:\nreturn isinstance(x, str)\u003c/p\u003e\n\u003cp\u003es = st.from_type(object).filter(is_str)\u003c/p\u003e\n\u003ch1\u003epreviously: SearchStrategy[object]\u003c/h1\u003e\n\u003ch1\u003enow: SearchStrategy[str]\u003c/h1\u003e\n\u003cp\u003ereveal_type(s)\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e\u003ca href=\"https://hypothesis.readthedocs.io/en/latest/changelog.html#v6-152-7\"\u003eThe canonical version of these notes (with links) is on readthedocs.\u003c/a\u003e\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eHypothesis for Python - version 6.152.6\u003c/h2\u003e\n\u003cp\u003eThis patch adds a shrinking pass that tries natural text\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/HypothesisWorks/hypothesis/commit/fcc26c4c67eb9aaf4f153417f373f4c349128b54\"\u003e\u003ccode\u003efcc26c4\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.155.2 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/13cdd0b401f23468171e8d424da391892d5e5b26\"\u003e\u003ccode\u003e13cdd0b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4760\"\u003e#4760\u003c/a\u003e from Zac-HD/datetime-symbolic-4759\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/e48846d29ac846ca054697f4a2463f9550847e26\"\u003e\u003ccode\u003ee48846d\u003c/code\u003e\u003c/a\u003e format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/b4152eaeae285ef4e24f0ebdc72b1e9ce817f769\"\u003e\u003ccode\u003eb4152ea\u003c/code\u003e\u003c/a\u003e rewrite comments and improve test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/6b18db3fd215d15484f072b31bddafcef1a0b162\"\u003e\u003ccode\u003e6b18db3\u003c/code\u003e\u003c/a\u003e fixed flake\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/eb7d53abdc3a0c06efe919b4c75f6e4dc766d3f2\"\u003e\u003ccode\u003eeb7d53a\u003c/code\u003e\u003c/a\u003e Update pinned dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/1bbeb59dce2f9cfe5a4bde03bac16e8f09ae6da9\"\u003e\u003ccode\u003e1bbeb59\u003c/code\u003e\u003c/a\u003e Fix update_pyodide_versions for relocated xbuildenv metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/552a461a915fe2deb610db19766c9d120272d492\"\u003e\u003ccode\u003e552a461\u003c/code\u003e\u003c/a\u003e Make date/time drawing symbolic-execution friendly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/2c6dfdb16694041a49110590ef598b0324ff89f8\"\u003e\u003ccode\u003e2c6dfdb\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4758\"\u003e#4758\u003c/a\u003e from bsluther/docs-fix-assume-condition\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/1416fe1a5d906a5dffa176bddee8899da9e4b129\"\u003e\u003ccode\u003e1416fe1\u003c/code\u003e\u003c/a\u003e Fix assume condition in \u003ccode\u003eadapting-strategies.rst\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/HypothesisWorks/hypothesis/compare/hypothesis-python-6.152.1...v6.155.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `beautifulsoup4` from 4.14.3 to 4.15.0\n\nUpdates `mutmut` from 3.5.0 to 3.6.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/boxed/mutmut/blob/main/HISTORY.rst\"\u003emutmut's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e3.6.0\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Add `# pragma: no mutate block` and `# pragma: no mutate start/end` comments\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd \u003ccode\u003edo_not_mutate_patterns\u003c/code\u003e to disable mutations with a regex\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd \u003ccode\u003eonly_mutate\u003c/code\u003e config to select which files get mutated\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAlso mutate methods decorated with (only) \u003ccode\u003e@staticmethod\u003c/code\u003e or \u003ccode\u003e@classmethod\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd \u003ccode\u003euse_setproctitle\u003c/code\u003e option to disable process renaming (automatically disabled on MacOS)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd (unstable) \u003ccode\u003etimeout_multiplier\u003c/code\u003e and \u003ccode\u003etimeout_constant\u003c/code\u003e options\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRename \u003ccode\u003epaths_to_mutate\u003c/code\u003e to \u003ccode\u003esource_paths\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDeprecate \u003ccode\u003etests_dir\u003c/code\u003e in favor of \u003ccode\u003epytest_add_cli_args_test_selection\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eChange \u003ccode\u003emax_stack_depth\u003c/code\u003e to only consider functions inside \u003ccode\u003esource_paths\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDisable mutation of enums and \u003ccode\u003e@staticmethod\u003c/code\u003e/\u003ccode\u003e@classmethod\u003c/code\u003e methods when \u003ccode\u003etype_check_command\u003c/code\u003e is set, as these mutations break type checking\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix mutation for enum class methods\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix mutate_only_covered_lines when project uses custom coverage.py config\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix execution when running mutmut via \u003ccode\u003epython -m mutmut run\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix mutation of \u003ccode\u003eclass _SomePrivateClass\u003c/code\u003e class methods\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix mutation of default args\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003emutmut browse\u003c/code\u003e crash when no file is selected yet\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix timeout checker looking up the wrong mutant's expected test time, which could cause mutants to hang\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCompare stats paths after resolving symlinks\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eWarn when mutmut cannot match mutants with the collected stats\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/boxed/mutmut/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pre-commit` from 4.5.1 to 4.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pre-commit/pre-commit/releases\"\u003epre-commit's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epre-commit v4.6.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003epre-commit hook-impl\u003c/code\u003e: allow \u003ccode\u003e--hook-dir\u003c/code\u003e to be missing to enable easier usage with \u003ccode\u003egit\u003c/code\u003e 2.54+ git hooks.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3662\"\u003e#3662\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003epre-commit hook-impl\u003c/code\u003e: \u003ccode\u003e--hook-type\u003c/code\u003e is required.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3661\"\u003e#3661\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md\"\u003epre-commit's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e4.6.0 - 2026-04-21\u003c/h1\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003epre-commit hook-impl\u003c/code\u003e: allow \u003ccode\u003e--hook-dir\u003c/code\u003e to be missing to enable easier\nusage with \u003ccode\u003egit\u003c/code\u003e 2.54+ git hooks.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3662\"\u003e#3662\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003epre-commit hook-impl\u003c/code\u003e: \u003ccode\u003e--hook-type\u003c/code\u003e is required.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3661\"\u003e#3661\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/f35134b05028ec938ac605ae500fdf95462655d3\"\u003e\u003ccode\u003ef35134b\u003c/code\u003e\u003c/a\u003e v4.6.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/2a51ffcb81f6c8ed2e6467913c3343a8800f3ab9\"\u003e\u003ccode\u003e2a51ffc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3662\"\u003e#3662\u003c/a\u003e from pre-commit/hook-impl-optional-hook-dir\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/d7dee322abfc765b042f2e3b872aab3c3a867610\"\u003e\u003ccode\u003ed7dee32\u003c/code\u003e\u003c/a\u003e make --hook-dir optional for hook-impl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/965aeb1c680e8b526342153547f0ec014484c63d\"\u003e\u003ccode\u003e965aeb1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3661\"\u003e#3661\u003c/a\u003e from pre-commit/hook-impl-required\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/2eacc064aa9b5bb33d3a0d84a234b475e34f3096\"\u003e\u003ccode\u003e2eacc06\u003c/code\u003e\u003c/a\u003e --hook-type is required for hook-impl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/f5678bf4ac35cffc0ff7174ad85f7fdc2a5c977e\"\u003e\u003ccode\u003ef5678bf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3657\"\u003e#3657\u003c/a\u003e from pre-commit/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/054cc5bd6bb1b20faa1eefe09f0de3b68fceee94\"\u003e\u003ccode\u003e054cc5b\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/5c0f3024d2524f6e029a4c333392fd9be9fb27f6\"\u003e\u003ccode\u003e5c0f302\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3652\"\u003e#3652\u003c/a\u003e from pre-commit/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/a5d91142676630f8130020b35e166e0c0e92b8f4\"\u003e\u003ccode\u003ea5d9114\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/129a1f5ca1eaee0c952a5e7a07faae305c5e15bc\"\u003e\u003ccode\u003e129a1f5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3641\"\u003e#3641\u003c/a\u003e from pre-commit/mxr-patch-1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pre-commit/pre-commit/compare/v4.5.1...v4.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `certifi` from 2026.2.25 to 2026.5.20\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/d7ea151afc2ce6bef0555b9349902bd867e928dd\"\u003e\u003ccode\u003ed7ea151\u003c/code\u003e\u003c/a\u003e 2026.05.20 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/413\"\u003e#413\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/5dddfb072243da27adde885b73ba9b809c3224ca\"\u003e\u003ccode\u003e5dddfb0\u003c/code\u003e\u003c/a\u003e 2026.04.22 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/410\"\u003e#410\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/f99eccdaf87f7c10e521a58a700ca3eb94a0787e\"\u003e\u003ccode\u003ef99eccd\u003c/code\u003e\u003c/a\u003e Bump peter-evans/create-pull-request from 8.1.0 to 8.1.1 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/404\"\u003e#404\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/918bed055f7291719512af186c1c24710f845660\"\u003e\u003ccode\u003e918bed0\u003c/code\u003e\u003c/a\u003e Bump actions/upload-artifact from 7.0.0 to 7.0.1 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/405\"\u003e#405\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/0a49067eb434e53e1f8df5f7707d5dc05ef9def4\"\u003e\u003ccode\u003e0a49067\u003c/code\u003e\u003c/a\u003e Bump pypa/gh-action-pypi-publish from 1.13.0 to 1.14.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/403\"\u003e#403\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/acf6ce8e39e3b125f4349e11904295e4fe4c1bed\"\u003e\u003ccode\u003eacf6ce8\u003c/code\u003e\u003c/a\u003e Bump actions/download-artifact from 8.0.0 to 8.0.1 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/398\"\u003e#398\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/feb0ed26163a9417ea0fb8eb52d47e79fcf202ab\"\u003e\u003ccode\u003efeb0ed2\u003c/code\u003e\u003c/a\u003e Bump actions/download-artifact from 7.0.0 to 8.0.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/397\"\u003e#397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/d9c11a50369cc377abb40f7909ded3d6da4d98a3\"\u003e\u003ccode\u003ed9c11a5\u003c/code\u003e\u003c/a\u003e Bump actions/upload-artifact from 6.0.0 to 7.0.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/396\"\u003e#396\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/certifi/python-certifi/compare/2026.02.25...2026.05.20\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `coverage` from 7.13.5 to 7.14.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/coveragepy/coveragepy/blob/main/CHANGES.rst\"\u003ecoverage's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 7.14.1 — 2026-05-26\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix: the HTML report used typographic niceties to make file paths more\nreadable by adding a small amount of space around slashes. Those spaces\ninterfered with searching the page for file paths of interest. Now the report\nuses CSS to accomplish the same visual tweak so that searches with slashes\nwork correctly. Closes \u003ccode\u003eissue 2170\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eAdd a 3.16 PyPI classifier \u0026lt;hugo-316_\u0026gt;\u003c/code\u003e_ since we test on the 3.16 main\nbranch.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _issue 2170: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2170\"\u003ecoveragepy/coveragepy#2170\u003c/a\u003e\n.. _hugo-316: \u003ca href=\"https://mastodon.social/@hugovk/116588523571204490\"\u003ehttps://mastodon.social/@​hugovk/116588523571204490\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e.. _changes_7-14-0:\u003c/p\u003e\n\u003ch2\u003eVersion 7.14.0 — 2026-05-10\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeature: now when running one of the reporting commands, if there are\nparallel data files that need combining, they will be implicitly combined\nbefore creating the report. There is no option to avoid the combination; let\nus know if you have a use case that requires it.  Thanks, \u003ccode\u003eTim Hatch \u0026lt;pull 2162_\u0026gt;\u003c/code\u003e\u003cem\u003e. Closes \u003ccode\u003eissue 1781\u003c/code\u003e\u003c/em\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: the output from \u003ccode\u003ecombine\u003c/code\u003e was too verbose, listing each file\nconsidered. Now it shows a single line with the counts of files combined,\nfiles skipped, and files with errors. The \u003ccode\u003e-q\u003c/code\u003e flag suppresses this line.\nThe old detailed lines are available with the new \u003ccode\u003e--debug=combine\u003c/code\u003e option.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: running a Python file through a symlink now sets the sys.path correctly,\nmatching regular Python behavior. Fixes \u003ccode\u003eissue 2157\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: \u003ccode\u003eCollector.flush_data\u003c/code\u003e could fail with \u0026quot;RuntimeError: Set changed\nsize during iteration\u0026quot; when a tracer in another thread added a line to the\nper-file set that \u003ccode\u003eadd_lines\u003c/code\u003e (or \u003ccode\u003eadd_arcs\u003c/code\u003e) was iterating. The values\npassed to \u003ccode\u003eCoverageData\u003c/code\u003e are now snapshotted via \u003ccode\u003edict.copy()\u003c/code\u003e and\n\u003ccode\u003eset.copy()\u003c/code\u003e, which are atomic under the GIL. Thanks, \u003ccode\u003eAlex Vandiver \u0026lt;pull 2165_\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: the soft keyword \u003ccode\u003elazy\u003c/code\u003e is now bolded in HTML reports.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eWe are no longer testing eventlet support. Eventlet started issuing stern\ndeprecation warnings that break our tests. Our support code is still there.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _issue 1781: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/1781\"\u003ecoveragepy/coveragepy#1781\u003c/a\u003e\n.. _issue 2157: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2157\"\u003ecoveragepy/coveragepy#2157\u003c/a\u003e\n.. _pull 2162: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/pull/2162\"\u003ecoveragepy/coveragepy#2162\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/64d9b66fd852c1920ffe6cb8b58d7e4fdae90226\"\u003e\u003ccode\u003e64d9b66\u003c/code\u003e\u003c/a\u003e docs: correct the date for 7.14.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/6fa7dd44c25e1a660252faaf030dd8f2f1e20861\"\u003e\u003ccode\u003e6fa7dd4\u003c/code\u003e\u003c/a\u003e chore: bump actions/dependency-review-action (\u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2181\"\u003e#2181\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/078afae263597b004eb9a85d880b6a65008e75ed\"\u003e\u003ccode\u003e078afae\u003c/code\u003e\u003c/a\u003e docs: sample HTML for 7.14.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/cb4f028a36e008b664739d04f387b90ee5105044\"\u003e\u003ccode\u003ecb4f028\u003c/code\u003e\u003c/a\u003e docs: prep for 7.14.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/ae2d09f562271c6169534e1c242d015dd0823dda\"\u003e\u003ccode\u003eae2d09f\u003c/code\u003e\u003c/a\u003e Merge branch 'nedbat/classifire-316-kits'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/2c3568b2e041f2c0dbbc8eaa3919d46ee891b743\"\u003e\u003ccode\u003e2c3568b\u003c/code\u003e\u003c/a\u003e build: declare 3.16 compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/faa68f8601cf098701b68976dbb73b9fc23c9297\"\u003e\u003ccode\u003efaa68f8\u003c/code\u003e\u003c/a\u003e chore: bump github/codeql-action in the action-dependencies group (\u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2173\"\u003e#2173\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/eb55feedf54b363e3d0b678f20abf3bfd3551a88\"\u003e\u003ccode\u003eeb55fee\u003c/code\u003e\u003c/a\u003e test: we don't need PyPy \u0026lt; 7.3.22 anymore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/ac168fe53c04cdb2ff5231c0c4e5045021ee339b\"\u003e\u003ccode\u003eac168fe\u003c/code\u003e\u003c/a\u003e test: the text summary should show missing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/fed4bd2db3c1cb2916a07791041da693fbf8e996\"\u003e\u003ccode\u003efed4bd2\u003c/code\u003e\u003c/a\u003e chore: upgrade virtualenv\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/coveragepy/coveragepy/compare/7.13.5...7.14.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cyclonedx-python-lib` from 11.7.0 to 11.8.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/releases\"\u003ecyclonedx-python-lib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev11.8.0 (2026-06-04)\u003c/h2\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate CDX summary (\u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/951\"\u003e#951\u003c/a\u003e, \u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/commit/752b1620a23e319add81c505fe7197a2ae3cca06\"\u003e\u003ccode\u003e752b162\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support CycloneDX 1.7.1 \u0026amp; 1.6.2 \u0026amp; 1.5.1 (\u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/985\"\u003e#985\u003c/a\u003e, \u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/commit/303889ba2b47033ae693c1af8bff552664e1910c\"\u003e\u003ccode\u003e303889b\u003c/code\u003e\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePull SPDX license IDs v1.1-3.28.0 (\u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/986\"\u003e#986\u003c/a\u003e, \u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/commit/42ff04444fa054d86da2302bc62e1bffd3b397df\"\u003e\u003ccode\u003e42ff044\u003c/code\u003e\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore: extract glob for pyupgrade to separate script for cross-platform compatibility by \u003ca href=\"https://github.com/peschuster\"\u003e\u003ccode\u003e@​peschuster\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/950\"\u003eCycloneDX/cyclonedx-python-lib#950\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update CDX summary by \u003ca href=\"https://github.com/jkowalleck\"\u003e\u003ccode\u003e@​jkowalleck\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/951\"\u003eCycloneDX/cyclonedx-python-lib#951\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: fix test coverage reporting by \u003ca href=\"https://github.com/jkowalleck\"\u003e\u003ccode\u003e@​jkowalleck\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/956\"\u003eCycloneDX/cyclonedx-python-lib#956\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): update tomli requirement from 2.3.0 to 2.4.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/954\"\u003eCycloneDX/cyclonedx-python-lib#954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(release): use own GH app for releasing by \u003ca href=\"https://github.com/jkowalleck\"\u003e\u003ccode\u003e@​jkowalleck\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/958\"\u003eCycloneDX/cyclonedx-python-lib#958\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(ci): pin GitHub Actions to immutable SHAs while preserving tag tracking by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/961\"\u003eCycloneDX/cyclonedx-python-lib#961\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: add zizmor workflow to harden GitHub Actions security by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/968\"\u003eCycloneDX/cyclonedx-python-lib#968\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate PULL_REQUEST_TEMPLATE.md by \u003ca href=\"https://github.com/jkowalleck\"\u003e\u003ccode\u003e@​jkowalleck\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/974\"\u003eCycloneDX/cyclonedx-python-lib#974\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Update CONTRIBUTING.md by \u003ca href=\"https://github.com/jkowalleck\"\u003e\u003ccode\u003e@​jkowalleck\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/975\"\u003eCycloneDX/cyclonedx-python-lib#975\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(ci): comments for pinned actions by \u003ca href=\"https://github.com/jkowalleck\"\u003e\u003ccode\u003e@​jkowalleck\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/984\"\u003eCycloneDX/cyclonedx-python-lib#984\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add support CycloneDX 1.7.1 \u0026amp; 1.6.2 \u0026amp; 1.5.1 by \u003ca href=\"https://github.com/jkowalleck\"\u003e\u003ccode\u003e@​jkowalleck\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/985\"\u003eCycloneDX/cyclonedx-python-lib#985\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump actions/create-github-app-token from 3.1.1 to 3.2.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/982\"\u003eCycloneDX/cyclonedx-python-lib#982\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump actions/download-artifact from 7.0.0 to 8.0.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/964\"\u003eCycloneDX/cyclonedx-python-lib#964\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump actions/upload-artifact from 6.0.0 to 7.0.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/963\"\u003eCycloneDX/cyclonedx-python-lib#963\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: pull SPDX license IDs v1.1-3.28.0 by \u003ca href=\"https://github.com/jkowalleck\"\u003e\u003ccode\u003e@​jkowalleck\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/986\"\u003eCycloneDX/cyclonedx-python-lib#986\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/compare/v11.7.0...v11.8.0\"\u003ehttps://github.com/CycloneDX/cyclonedx-python-lib/compare/v11.7.0...v11.8.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev11.7.1-alpha.2 (2026-05-04)\u003c/h2\u003e\n\u003cp\u003etest release during \u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/969\"\u003eCycloneDX/cyclonedx-python-lib#969\u003c/a\u003e\u003c/p\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003cstrong\u003eDetailed Changes\u003c/strong\u003e: \u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/compare/v11.7.0...v11.7.1-alpha.2\"\u003ev11.7.0...v11.7.1-alpha.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev11.7.1-alpha.1 (2026-05-04)\u003c/h2\u003e\n\u003cp\u003etest release during \u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/969\"\u003eCycloneDX/cyclonedx-python-lib#969\u003c/a\u003e\u003c/p\u003e\n\u003chr /\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/blob/main/CHANGELOG.md\"\u003ecyclonedx-python-lib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev11.8.0 (2026-06-04)\u003c/h2\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate CDX summary (\u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/951\"\u003e#951\u003c/a\u003e,\n\u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/commit/752b1620a23e319add81c505fe7197a2ae3cca06\"\u003e\u003ccode\u003e752b162\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support CycloneDX 1.7.1 \u0026amp; 1.6.2 \u0026amp; 1.5.1\n(\u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/985\"\u003e#985\u003c/a\u003e,\n\u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/commit/303889ba2b47033ae693c1af8bff552664e1910c\"\u003e\u003ccode\u003e303889b\u003c/code\u003e\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePull SPDX license IDs v1.1-3.28.0\n(\u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/986\"\u003e#986\u003c/a\u003e,\n\u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/commit/42ff04444fa054d86da2302bc62e1bffd3b397df\"\u003e\u003ccode\u003e42ff044\u003c/code\u003e\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/commit/e537812860bc7800ee6252524da2353bee71aba3\"\u003e\u003ccode\u003ee537812\u003c/code\u003e\u003c/a\u003e chore(release): 11.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/commit/42ff04444fa054d86da2302bc62e1bffd3b397df\"\u003e\u003ccode\u003e42ff044\u003c/code\u003e\u003c/a\u003e feat: pull SPDX license IDs v1.1-3.28.0 (\u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/issues/986\"\u003e#986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/commit/590402a0c963816a48902eba86d6be963ebf3ed0\"\u003e\u003ccode\u003e590402a\u003c/code\u003e\u003c/a\u003e chore(deps): bump actions/upload-artifact from 6.0.0 to 7.0.1 (\u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/issues/963\"\u003e#963\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/commit/051abcef774a606b93da55b8fed4aa4ae056a744\"\u003e\u003ccode\u003e051abce\u003c/code\u003e\u003c/a\u003e chore(deps): bump actions/download-artifact from 7.0.0 to 8.0.1 (\u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/issues/964\"\u003e#964\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/commit/bc961efabd6a898f2d349ad97d2804d66b60e45c\"\u003e\u003ccode\u003ebc961ef\u003c/code\u003e\u003c/a\u003e chore(deps): bump actions/create-github-app-token from 3.1.1 to 3.2.0 (\u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/issues/982\"\u003e#982\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/commit/303889ba2b47033ae693c1af8bff552664e1910c\"\u003e\u003ccode\u003e303889b\u003c/code\u003e\u003c/a\u003e feat: add support CycloneDX 1.7.1 \u0026amp; 1.6.2 \u0026amp; 1.5.1 (\u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/issues/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/commit/392ba604f2510bdfaab5020f8cd7c54f8140dd6a\"\u003e\u003ccode\u003e392ba60\u003c/code\u003e\u003c/a\u003e chore(ci): comments for pinned actions (\u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/issues/984\"\u003e#984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/commit/0daf3f99c171d64634443cfecea12eb10c84fde9\"\u003e\u003ccode\u003e0daf3f9\u003c/code\u003e\u003c/a\u003e chore: Update CONTRIBUTING.md (\u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/issues/975\"\u003e#975\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/commit/1a6dfb047631085d2acddc38afbe41413a4f9420\"\u003e\u003ccode\u003e1a6dfb0\u003c/code\u003e\u003c/a\u003e Update PULL_REQUEST_TEMPLATE.md (\u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/issues/974\"\u003e#974\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/commit/52c29afe0e17339daf77fc107f21072d4bf52425\"\u003e\u003ccode\u003e52c29af\u003c/code\u003e\u003c/a\u003e chore: add zizmor workflow to harden GitHub Actions security (\u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/issues/968\"\u003e#968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/compare/v11.7.0...v11.8.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `distlib` from 0.4.0 to 0.4.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/distlib/blob/master/CHANGES.rst\"\u003edistlib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e0.4.1\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\nReleased: 2026-06-02\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003escripts\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix path traversal bug in handling entry points which allowed escaping the scripts directory.\nThanks to tonghuaroot for the comprehensive report.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003etests\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ca href=\"https://redirect.github.com/pypa/distlib/issues/251\"\u003e#251\u003c/a\u003e: Change test function following a reorganization which happened in the Python stdlib.\n\u003c/code\u003e\u003c/pre\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/distlib/commit/d562ad5aabe23dc03b22fccdf84dc01fddf0d336\"\u003e\u003ccode\u003ed562ad5\u003c/code\u003e\u003c/a\u003e Changes for 0.4.1.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/distlib/commit/6286442857de9f734686d08f0e59ca8048ee357a\"\u003e\u003ccode\u003e6286442\u003c/code\u003e\u003c/a\u003e Fix \u003ca href=\"https://redirect.github.com/pypa/distlib/issues/251\"\u003e#251\u003c/a\u003e: Use more appropriate function in test.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/distlib/commit/e3b1cd6ec121058ae71a2aab08aa2a120360c872\"\u003e\u003ccode\u003ee3b1cd6\u003c/code\u003e\u003c/a\u003e Bump version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/distlib/commit/da3e90aef9c2ea545ac653039dd970174b48ebd4\"\u003e\u003ccode\u003eda3e90a\u003c/code\u003e\u003c/a\u003e Added tag 0.4.0 for changeset d31f0b340fde\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pypa/distlib/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 `filelock` from 3.25.2 to 3.29.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tox-dev/py-filelock/releases\"\u003efilelock's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.29.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edocs: fix API docs of \u003ccode\u003erelease()\u003c/code\u003e by \u003ca href=\"https://github.com/MrAnno\"\u003e\u003ccode\u003e@​MrAnno\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/540\"\u003etox-dev/filelock#540\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: clarify per-thread scope of FileLock configuration by \u003ca href=\"https://github.com/Gares95\"\u003e\u003ccode\u003e@​Gares95\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/543\"\u003etox-dev/filelock#543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: improve filelock maintenance path by \u003ca href=\"https://github.com/lphuc2250gma\"\u003e\u003ccode\u003e@​lphuc2250gma\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/542\"\u003etox-dev/filelock#542\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: improve filelock maintenance path by \u003ca href=\"https://github.com/lphuc2250gma\"\u003e\u003ccode\u003e@​lphuc2250gma\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/544\"\u003etox-dev/filelock#544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: improve filelock maintenance path by \u003ca href=\"https://github.com/lphuc2250gma\"\u003e\u003ccode\u003e@​lphuc2250gma\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/545\"\u003etox-dev/filelock#545\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(soft): refuse to follow symlinks when reading the lock file by \u003ca href=\"https://github.com/dxbjavid\"\u003e\u003ccode\u003e@​dxbjavid\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/548\"\u003etox-dev/filelock#548\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MrAnno\"\u003e\u003ccode\u003e@​MrAnno\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/540\"\u003etox-dev/filelock#540\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Gares95\"\u003e\u003ccode\u003e@​Gares95\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/543\"\u003etox-dev/filelock#543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lphuc2250gma\"\u003e\u003ccode\u003e@​lphuc2250gma\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/542\"\u003etox-dev/filelock#542\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dxbjavid\"\u003e\u003ccode\u003e@​dxbjavid\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/548\"\u003etox-dev/filelock#548\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tox-dev/filelock/compare/3.29.0...3.29.1\"\u003ehttps://github.com/tox-dev/filelock/compare/3.29.0...3.29.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.29.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 fix(async): use single-thread executor for lock consistency by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/533\"\u003etox-dev/filelock#533\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(soft): enable stale lock detection on Windows by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/534\"\u003etox-dev/filelock#534\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tox-dev/filelock/compare/3.28.0...3.29.0\"\u003ehttps://github.com/tox-dev/filelock/compare/3.28.0...3.29.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.28.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 fix(ci): unbreak release workflow, publish to PyPI again by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/529\"\u003etox-dev/filelock#529\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tox-dev/filelock/compare/3.27.0...3.28.0\"\u003ehttps://github.com/tox-dev/filelock/compare/3.27.0...3.28.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.27.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e✨ feat(rw): add SoftReadWriteLock for NFS and HPC clusters by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/528\"\u003etox-dev/filelock#528\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tox-dev/filelock/compare/3.26.1...3.27.0\"\u003ehttps://github.com/tox-dev/filelock/compare/3.26.1...3.27.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.26.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blo...\n\n_Description has been truncated_","html_url":"https://github.com/IvanAnishchuk/geek42/pull/163","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/IvanAnishchuk%2Fgeek42/issues/163","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/163/packages"},{"uuid":"4516738292","node_id":"PR_kwDOSeLHK87fB7Ug","number":3,"state":"closed","title":"chore(deps): bump textual from 8.2.6 to 8.2.7 in the all-deps group","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-02T01:18:41.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-25T12:00:51.000Z","updated_at":"2026-06-02T01:18:43.000Z","time_to_close":652670,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"textual","old_version":"8.2.6","new_version":"8.2.7","repository_url":"https://github.com/Textualize/textual"}],"path":"the all-deps group","ecosystem":"pip"},"body":"Bumps the all-deps group with 1 update: [textual](https://github.com/Textualize/textual).\n\nUpdates `textual` from 8.2.6 to 8.2.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/textual/releases\"\u003etextual's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eThe more Kitty Release\u003c/h2\u003e\n\u003cp\u003eThis release adds additional support for the Kitty key protocol. Which enables some additional keys on some terminals. Additionally, Textual will report modifier keys as separate key events.\u003c/p\u003e\n\u003cp\u003eAdditionally there are a few more shortcuts to the Text Area.\u003c/p\u003e\n\u003cp\u003eThis release sponsored by Mistral AI. See release notes for detail.\u003c/p\u003e\n\u003ch2\u003e[8.2.7] - 2026-05-19\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Kitty key protocol \u0026quot;Report all keys as escape codes\u0026quot; which enabled alt+backspace on Warp \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6544\"\u003eTextualize/textual#6544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded support for detecting separate modifier keys for terminals that support the Kitty key protocol \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6544\"\u003eTextualize/textual#6544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eTEXTUAL_DISABLE_KITTY_KEY\u003c/code\u003e env var to disable Kitty key protocol support (debug aid). \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6544\"\u003eTextualize/textual#6544\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUndo/redo/copy/cut/paste in TextArea will now work with cmd+ on supported terminals \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6543\"\u003eTextualize/textual#6543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIn TextArea, ctrl+u will now delete a newline if the cursor is at the start \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6543\"\u003eTextualize/textual#6543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ein TextArea alt+delete is now bound to delete word right \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6543\"\u003eTextualize/textual#6543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eText opacity applied to an ansi theme will now set the dim attribute if the opacity is \u0026lt; 50% \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6546\"\u003eTextualize/textual#6546\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/Textualize/textual/blob/main/CHANGELOG.md\"\u003etextual's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[8.2.7] - 2026-05-19\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Kitty key protocol \u0026quot;Report all keys as escape codes\u0026quot; which enabled alt+backspace on Warp \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6544\"\u003eTextualize/textual#6544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded support for detecting separate modifier keys for terminals that support the Kitty key protocol \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6544\"\u003eTextualize/textual#6544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eTEXTUAL_DISABLE_KITTY_KEY\u003c/code\u003e env var to disable Kitty key protocol support (debug aid). \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6544\"\u003eTextualize/textual#6544\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUndo/redo/copy/cut/paste in TextArea will now work with cmd+ on supported terminals \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6543\"\u003eTextualize/textual#6543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIn TextArea, ctrl+u will now delete a newline if the cursor is at the start \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6543\"\u003eTextualize/textual#6543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ein TextArea alt+delete is now bound to delete word right \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6543\"\u003eTextualize/textual#6543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eText opacity applied to an ansi theme will now set the dim attribute if the opacity is \u0026lt; 50% \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6546\"\u003eTextualize/textual#6546\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed text opacity with ANSI themes creating RGB colors.  \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6546\"\u003eTextualize/textual#6546\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/Textualize/textual/commit/182277f69011ba0b9665a9a1b1b0c3e89630e913\"\u003e\u003ccode\u003e182277f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6546\"\u003e#6546\u003c/a\u003e from Textualize/ansi-opacity\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/49cbec44ffef26d94ddd42065bcb59a0017acd1a\"\u003e\u003ccode\u003e49cbec4\u003c/code\u003e\u003c/a\u003e bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/b24ef07d422b4ca82d0e65189a0659d032036bf4\"\u003e\u003ccode\u003eb24ef07\u003c/code\u003e\u003c/a\u003e snapshot\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/24e34e48a375ae83c607400809c699d88d423b88\"\u003e\u003ccode\u003e24e34e4\u003c/code\u003e\u003c/a\u003e changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/0c8bbc7eaa3a83b3e2b8b8a35f3e69ec07682b41\"\u003e\u003ccode\u003e0c8bbc7\u003c/code\u003e\u003c/a\u003e text opacity change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/3b04f316e72d071e212046a01f6b9f9976c77e5c\"\u003e\u003ccode\u003e3b04f31\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6543\"\u003e#6543\u003c/a\u003e from Textualize/textarea-actions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/913f5d28cd4aa423f5d9fb9a967cebffa41646aa\"\u003e\u003ccode\u003e913f5d2\u003c/code\u003e\u003c/a\u003e test fixes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/1027c41662ec4c6c3e50f658f548ea33cbdf9233\"\u003e\u003ccode\u003e1027c41\u003c/code\u003e\u003c/a\u003e ctrl+f replaced with ctrl+delete\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/01fb6fd73af092fe6e5da03c032d3e9c3fa161f1\"\u003e\u003ccode\u003e01fb6fd\u003c/code\u003e\u003c/a\u003e ctrl+backspace binding\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/54317091b8a57ab19a5512ef8479d1748d0c6de4\"\u003e\u003ccode\u003e5431709\u003c/code\u003e\u003c/a\u003e words\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/textual/compare/v8.2.6...v8.2.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=textual\u0026package-manager=pip\u0026previous-version=8.2.6\u0026new-version=8.2.7)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \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/Tombo1001/battery-extender/pull/3","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tombo1001%2Fbattery-extender/issues/3","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/3/packages"},{"uuid":"4510938726","node_id":"PR_kwDOQ7csuc7ev20M","number":1903,"state":"closed","title":"chore(deps): update textual requirement from \u003e=0.40.0 to \u003e=8.2.7","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-05-24T08:22:40.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-24T08:15:28.000Z","updated_at":"2026-05-24T08:24:32.000Z","time_to_close":432,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): update","packages":[{"name":"textual","old_version":"\u003e=0.40.0","new_version":"\u003e=8.2.7","repository_url":"https://github.com/Textualize/textual"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [textual](https://github.com/Textualize/textual) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/textual/releases\"\u003etextual's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eThe more Kitty Release\u003c/h2\u003e\n\u003cp\u003eThis release adds additional support for the Kitty key protocol. Which enables some additional keys on some terminals. Additionally, Textual will report modifier keys as separate key events.\u003c/p\u003e\n\u003cp\u003eAdditionally there are a few more shortcuts to the Text Area.\u003c/p\u003e\n\u003cp\u003eThis release sponsored by Mistral AI. See release notes for detail.\u003c/p\u003e\n\u003ch2\u003e[8.2.7] - 2026-05-19\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Kitty key protocol \u0026quot;Report all keys as escape codes\u0026quot; which enabled alt+backspace on Warp \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6544\"\u003eTextualize/textual#6544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded support for detecting separate modifier keys for terminals that support the Kitty key protocol \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6544\"\u003eTextualize/textual#6544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eTEXTUAL_DISABLE_KITTY_KEY\u003c/code\u003e env var to disable Kitty key protocol support (debug aid). \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6544\"\u003eTextualize/textual#6544\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUndo/redo/copy/cut/paste in TextArea will now work with cmd+ on supported terminals \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6543\"\u003eTextualize/textual#6543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIn TextArea, ctrl+u will now delete a newline if the cursor is at the start \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6543\"\u003eTextualize/textual#6543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ein TextArea alt+delete is now bound to delete word right \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6543\"\u003eTextualize/textual#6543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eText opacity applied to an ansi theme will now set the dim attribute if the opacity is \u0026lt; 50% \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6546\"\u003eTextualize/textual#6546\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/Textualize/textual/blob/main/CHANGELOG.md\"\u003etextual's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[8.2.7] - 2026-05-19\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Kitty key protocol \u0026quot;Report all keys as escape codes\u0026quot; which enabled alt+backspace on Warp \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6544\"\u003eTextualize/textual#6544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded support for detecting separate modifier keys for terminals that support the Kitty key protocol \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6544\"\u003eTextualize/textual#6544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eTEXTUAL_DISABLE_KITTY_KEY\u003c/code\u003e env var to disable Kitty key protocol support (debug aid). \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6544\"\u003eTextualize/textual#6544\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUndo/redo/copy/cut/paste in TextArea will now work with cmd+ on supported terminals \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6543\"\u003eTextualize/textual#6543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIn TextArea, ctrl+u will now delete a newline if the cursor is at the start \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6543\"\u003eTextualize/textual#6543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ein TextArea alt+delete is now bound to delete word right \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6543\"\u003eTextualize/textual#6543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eText opacity applied to an ansi theme will now set the dim attribute if the opacity is \u0026lt; 50% \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6546\"\u003eTextualize/textual#6546\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed text opacity with ANSI themes creating RGB colors.  \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6546\"\u003eTextualize/textual#6546\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.6] - 2026-05-13\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed selection to the right of code fence blocks (may break some snapshots)\u003c/li\u003e\n\u003cli\u003eFixed Markdown code fences losing content when switching themes \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6537\"\u003eTextualize/textual#6537\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded ability to select outside of text, so the user doesn't need to be quite so precise \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6523\"\u003eTextualize/textual#6523\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.5] - 2026-04-30\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eTwo new themes: \u0026quot;ansi-dark\u0026quot; and \u0026quot;ansi-light\u0026quot; \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded an \u003ccode\u003eansi\u003c/code\u003e value to themes \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eApp.ansi_color\u003c/code\u003e may now be \u003ccode\u003eNone\u003c/code\u003e to use the \u003ccode\u003eansi\u003c/code\u003e value from the theme. \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.4] - 2026-04-19\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eDOM.update_classes\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6478\"\u003eTextualize/textual#6478\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed anchor released when scrolling down with the trackpad \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6503\"\u003eTextualize/textual#6503\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/182277f69011ba0b9665a9a1b1b0c3e89630e913\"\u003e\u003ccode\u003e182277f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6546\"\u003e#6546\u003c/a\u003e from Textualize/ansi-opacity\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/49cbec44ffef26d94ddd42065bcb59a0017acd1a\"\u003e\u003ccode\u003e49cbec4\u003c/code\u003e\u003c/a\u003e bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/b24ef07d422b4ca82d0e65189a0659d032036bf4\"\u003e\u003ccode\u003eb24ef07\u003c/code\u003e\u003c/a\u003e snapshot\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/24e34e48a375ae83c607400809c699d88d423b88\"\u003e\u003ccode\u003e24e34e4\u003c/code\u003e\u003c/a\u003e changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/0c8bbc7eaa3a83b3e2b8b8a35f3e69ec07682b41\"\u003e\u003ccode\u003e0c8bbc7\u003c/code\u003e\u003c/a\u003e text opacity change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/3b04f316e72d071e212046a01f6b9f9976c77e5c\"\u003e\u003ccode\u003e3b04f31\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6543\"\u003e#6543\u003c/a\u003e from Textualize/textarea-actions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/913f5d28cd4aa423f5d9fb9a967cebffa41646aa\"\u003e\u003ccode\u003e913f5d2\u003c/code\u003e\u003c/a\u003e test fixes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/1027c41662ec4c6c3e50f658f548ea33cbdf9233\"\u003e\u003ccode\u003e1027c41\u003c/code\u003e\u003c/a\u003e ctrl+f replaced with ctrl+delete\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/01fb6fd73af092fe6e5da03c032d3e9c3fa161f1\"\u003e\u003ccode\u003e01fb6fd\u003c/code\u003e\u003c/a\u003e ctrl+backspace binding\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/54317091b8a57ab19a5512ef8479d1748d0c6de4\"\u003e\u003ccode\u003e5431709\u003c/code\u003e\u003c/a\u003e words\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/textual/compare/v0.40.0...v8.2.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/issdandavis/SCBE-AETHERMOORE/pull/1903","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/issdandavis%2FSCBE-AETHERMOORE/issues/1903","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1903/packages"},{"uuid":"4481992861","node_id":"PR_kwDOFGF0JM7dTSgl","number":640,"state":"closed","title":"Bump textual from 8.2.6 to 8.2.7","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":["PabloLec"],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-20T00:03:15.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-20T00:02:27.000Z","updated_at":"2026-05-20T00:03:22.000Z","time_to_close":48,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"textual","old_version":"8.2.6","new_version":"8.2.7","repository_url":"https://github.com/Textualize/textual"}],"path":null,"ecosystem":"pip"},"body":"Bumps [textual](https://github.com/Textualize/textual) from 8.2.6 to 8.2.7.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/textual/releases\"\u003etextual's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eThe more Kitty Release\u003c/h2\u003e\n\u003cp\u003eThis release adds additional support for the Kitty key protocol. Which enables some additional keys on some terminals. Additionally, Textual will report modifier keys as separate key events.\u003c/p\u003e\n\u003cp\u003eAdditionally there are a few more shortcuts to the Text Area.\u003c/p\u003e\n\u003cp\u003eThis release sponsored by Mistral AI. See release notes for detail.\u003c/p\u003e\n\u003ch2\u003e[8.2.7] - 2026-05-19\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Kitty key protocol \u0026quot;Report all keys as escape codes\u0026quot; which enabled alt+backspace on Warp \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6544\"\u003eTextualize/textual#6544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded support for detecting separate modifier keys for terminals that support the Kitty key protocol \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6544\"\u003eTextualize/textual#6544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eTEXTUAL_DISABLE_KITTY_KEY\u003c/code\u003e env var to disable Kitty key protocol support (debug aid). \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6544\"\u003eTextualize/textual#6544\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUndo/redo/copy/cut/paste in TextArea will now work with cmd+ on supported terminals \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6543\"\u003eTextualize/textual#6543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIn TextArea, ctrl+u will now delete a newline if the cursor is at the start \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6543\"\u003eTextualize/textual#6543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ein TextArea alt+delete is now bound to delete word right \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6543\"\u003eTextualize/textual#6543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eText opacity applied to an ansi theme will now set the dim attribute if the opacity is \u0026lt; 50% \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6546\"\u003eTextualize/textual#6546\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/Textualize/textual/blob/main/CHANGELOG.md\"\u003etextual's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[8.2.7] - 2026-05-19\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Kitty key protocol \u0026quot;Report all keys as escape codes\u0026quot; which enabled alt+backspace on Warp \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6544\"\u003eTextualize/textual#6544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded support for detecting separate modifier keys for terminals that support the Kitty key protocol \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6544\"\u003eTextualize/textual#6544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eTEXTUAL_DISABLE_KITTY_KEY\u003c/code\u003e env var to disable Kitty key protocol support (debug aid). \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6544\"\u003eTextualize/textual#6544\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUndo/redo/copy/cut/paste in TextArea will now work with cmd+ on supported terminals \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6543\"\u003eTextualize/textual#6543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIn TextArea, ctrl+u will now delete a newline if the cursor is at the start \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6543\"\u003eTextualize/textual#6543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ein TextArea alt+delete is now bound to delete word right \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6543\"\u003eTextualize/textual#6543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eText opacity applied to an ansi theme will now set the dim attribute if the opacity is \u0026lt; 50% \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6546\"\u003eTextualize/textual#6546\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed text opacity with ANSI themes creating RGB colors.  \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6546\"\u003eTextualize/textual#6546\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/Textualize/textual/commit/182277f69011ba0b9665a9a1b1b0c3e89630e913\"\u003e\u003ccode\u003e182277f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6546\"\u003e#6546\u003c/a\u003e from Textualize/ansi-opacity\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/49cbec44ffef26d94ddd42065bcb59a0017acd1a\"\u003e\u003ccode\u003e49cbec4\u003c/code\u003e\u003c/a\u003e bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/b24ef07d422b4ca82d0e65189a0659d032036bf4\"\u003e\u003ccode\u003eb24ef07\u003c/code\u003e\u003c/a\u003e snapshot\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/24e34e48a375ae83c607400809c699d88d423b88\"\u003e\u003ccode\u003e24e34e4\u003c/code\u003e\u003c/a\u003e changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/0c8bbc7eaa3a83b3e2b8b8a35f3e69ec07682b41\"\u003e\u003ccode\u003e0c8bbc7\u003c/code\u003e\u003c/a\u003e text opacity change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/3b04f316e72d071e212046a01f6b9f9976c77e5c\"\u003e\u003ccode\u003e3b04f31\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6543\"\u003e#6543\u003c/a\u003e from Textualize/textarea-actions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/913f5d28cd4aa423f5d9fb9a967cebffa41646aa\"\u003e\u003ccode\u003e913f5d2\u003c/code\u003e\u003c/a\u003e test fixes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/1027c41662ec4c6c3e50f658f548ea33cbdf9233\"\u003e\u003ccode\u003e1027c41\u003c/code\u003e\u003c/a\u003e ctrl+f replaced with ctrl+delete\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/01fb6fd73af092fe6e5da03c032d3e9c3fa161f1\"\u003e\u003ccode\u003e01fb6fd\u003c/code\u003e\u003c/a\u003e ctrl+backspace binding\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/54317091b8a57ab19a5512ef8479d1748d0c6de4\"\u003e\u003ccode\u003e5431709\u003c/code\u003e\u003c/a\u003e words\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/textual/compare/v8.2.6...v8.2.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=textual\u0026package-manager=pip\u0026previous-version=8.2.6\u0026new-version=8.2.7)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/PabloLec/RecoverPy/pull/640","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/PabloLec%2FRecoverPy/issues/640","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/640/packages"},{"uuid":"4457940223","node_id":"PR_kwDOSYYgoM7cHjEc","number":14,"state":"open","title":"chore(deps): update textual requirement from \u003e=0.50.0 to \u003e=8.2.6","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-16T00:52:54.000Z","updated_at":"2026-05-16T00:54:38.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): update","packages":[{"name":"textual","old_version":"\u003e=0.50.0","new_version":"\u003e=8.2.6","repository_url":"https://github.com/Textualize/textual"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [textual](https://github.com/Textualize/textual) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/textual/releases\"\u003etextual's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eThe more selective release\u003c/h2\u003e\n\u003cp\u003eImproved text select logic. You can select text without first clicking on a content area.\u003c/p\u003e\n\u003cp\u003eMay break snapshots without affecting appearance.\u003c/p\u003e\n\u003ch2\u003e[8.2.6] - 2026-04-13\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed selection to the right of code fence blocks (may break some snapshots)\u003c/li\u003e\n\u003cli\u003eFixed Markdown code fences losing content when switching themes \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6537\"\u003eTextualize/textual#6537\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded ability to select outside of text, so the user doesn't need to be quite so precise \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6523\"\u003eTextualize/textual#6523\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/Textualize/textual/blob/main/CHANGELOG.md\"\u003etextual's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[8.2.6] - 2026-04-13\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed selection to the right of code fence blocks (may break some snapshots)\u003c/li\u003e\n\u003cli\u003eFixed Markdown code fences losing content when switching themes \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6537\"\u003eTextualize/textual#6537\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded ability to select outside of text, so the user doesn't need to be quite so precise \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6523\"\u003eTextualize/textual#6523\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.5] - 2026-04-30\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eTwo new themes: \u0026quot;ansi-dark\u0026quot; and \u0026quot;ansi-light\u0026quot; \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded an \u003ccode\u003eansi\u003c/code\u003e value to themes \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eApp.ansi_color\u003c/code\u003e may now be \u003ccode\u003eNone\u003c/code\u003e to use the \u003ccode\u003eansi\u003c/code\u003e value from the theme. \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.4] - 2026-04-19\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eDOM.update_classes\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6478\"\u003eTextualize/textual#6478\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed anchor released when scrolling down with the trackpad \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6503\"\u003eTextualize/textual#6503\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.3] - 2026-04-05\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReduce lag when resizing window, by moving resize from idle to a timer \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6471\"\u003eTextualize/textual#6471\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.2] - 2026-04-03\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed Pointless style updates when resizing \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6464\"\u003eTextualize/textual#6464\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.1] - 2026-03-29\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix crash when a widget disapears between selections \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6455\"\u003eTextualize/textual#6455\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/f1929043fc5a9346a7a13649c1c2bc6ac4199a3b\"\u003e\u003ccode\u003ef192904\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6538\"\u003e#6538\u003c/a\u003e from Textualize/bump826\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/018a448f5e5f2f1c6b02732d318c90843a98788c\"\u003e\u003ccode\u003e018a448\u003c/code\u003e\u003c/a\u003e bump to 8.2.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/36bb351496b8a1a4c8aecd78a41e5c25f3b8a7d0\"\u003e\u003ccode\u003e36bb351\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6537\"\u003e#6537\u003c/a\u003e from Textualize/markdown-context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/0bdce31cfd14da3fe1f2c3a78490c95da03ea3a8\"\u003e\u003ccode\u003e0bdce31\u003c/code\u003e\u003c/a\u003e remove time factor\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/f4bc21b3367dce5b04d70ec869859190adcdef3c\"\u003e\u003ccode\u003ef4bc21b\u003c/code\u003e\u003c/a\u003e snapshot test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/d979a7d2f3d8d4c36f17a56573e85bae6673aef1\"\u003e\u003ccode\u003ed979a7d\u003c/code\u003e\u003c/a\u003e snapshot\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/35452692c46be734b4332dcd02bd187407756a0c\"\u003e\u003ccode\u003e3545269\u003c/code\u003e\u003c/a\u003e fix markdown context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/2f7b768aeeb3ed1ac338bc2bbc733d8417e4e3cc\"\u003e\u003ccode\u003e2f7b768\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6523\"\u003e#6523\u003c/a\u003e from Textualize/select-state\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/1c0cda228a60d06015222024f7bfec2e847eabbc\"\u003e\u003ccode\u003e1c0cda2\u003c/code\u003e\u003c/a\u003e punctuation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/aaa0fc452dbc328403513e4d3fa0a9388fb5bc58\"\u003e\u003ccode\u003eaaa0fc4\u003c/code\u003e\u003c/a\u003e clarify\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/textual/compare/v0.50.0...v8.2.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore 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/zlj-zz/muster/pull/14","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/zlj-zz%2Fmuster/issues/14","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/14/packages"},{"uuid":"4457096708","node_id":"PR_kwDOQGVpfs7cE0fG","number":211,"state":"closed","title":"⬆️ Bump textual from 8.2.4 to 8.2.6","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-22T21:36:40.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-15T21:36:09.000Z","updated_at":"2026-05-22T21:36:42.000Z","time_to_close":604831,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"⬆️ Bump","packages":[{"name":"textual","old_version":"8.2.4","new_version":"8.2.6","repository_url":"https://github.com/Textualize/textual"}],"path":null,"ecosystem":"pip"},"body":"Bumps [textual](https://github.com/Textualize/textual) from 8.2.4 to 8.2.6.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/textual/releases\"\u003etextual's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eThe more selective release\u003c/h2\u003e\n\u003cp\u003eImproved text select logic. You can select text without first clicking on a content area.\u003c/p\u003e\n\u003cp\u003eMay break snapshots without affecting appearance.\u003c/p\u003e\n\u003ch2\u003e[8.2.6] - 2026-04-13\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed selection to the right of code fence blocks (may break some snapshots)\u003c/li\u003e\n\u003cli\u003eFixed Markdown code fences losing content when switching themes \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6537\"\u003eTextualize/textual#6537\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded ability to select outside of text, so the user doesn't need to be quite so precise \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6523\"\u003eTextualize/textual#6523\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eThe Antsy Release\u003c/h2\u003e\n\u003cp\u003eThis release adds support for dedicated ansi themes, which are also exposed from the command palette.\u003c/p\u003e\n\u003cp\u003eThere were a few tweaks to the theming system which may result in broken snapshots, but there should be no visual changes.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003e[8.2.5] - 2026-04-30\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eTwo new themes: \u0026quot;ansi-dark\u0026quot; and \u0026quot;ansi-light\u0026quot; \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded an \u003ccode\u003eansi\u003c/code\u003e value to themes \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eApp.ansi_color\u003c/code\u003e may now be \u003ccode\u003eNone\u003c/code\u003e to use the \u003ccode\u003eansi\u003c/code\u003e value from the theme. \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\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/Textualize/textual/blob/main/CHANGELOG.md\"\u003etextual's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[8.2.6] - 2026-04-13\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed selection to the right of code fence blocks (may break some snapshots)\u003c/li\u003e\n\u003cli\u003eFixed Markdown code fences losing content when switching themes \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6537\"\u003eTextualize/textual#6537\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded ability to select outside of text, so the user doesn't need to be quite so precise \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6523\"\u003eTextualize/textual#6523\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.5] - 2026-04-30\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eTwo new themes: \u0026quot;ansi-dark\u0026quot; and \u0026quot;ansi-light\u0026quot; \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded an \u003ccode\u003eansi\u003c/code\u003e value to themes \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eApp.ansi_color\u003c/code\u003e may now be \u003ccode\u003eNone\u003c/code\u003e to use the \u003ccode\u003eansi\u003c/code\u003e value from the theme. \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\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/Textualize/textual/commit/f1929043fc5a9346a7a13649c1c2bc6ac4199a3b\"\u003e\u003ccode\u003ef192904\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6538\"\u003e#6538\u003c/a\u003e from Textualize/bump826\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/018a448f5e5f2f1c6b02732d318c90843a98788c\"\u003e\u003ccode\u003e018a448\u003c/code\u003e\u003c/a\u003e bump to 8.2.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/36bb351496b8a1a4c8aecd78a41e5c25f3b8a7d0\"\u003e\u003ccode\u003e36bb351\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6537\"\u003e#6537\u003c/a\u003e from Textualize/markdown-context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/0bdce31cfd14da3fe1f2c3a78490c95da03ea3a8\"\u003e\u003ccode\u003e0bdce31\u003c/code\u003e\u003c/a\u003e remove time factor\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/f4bc21b3367dce5b04d70ec869859190adcdef3c\"\u003e\u003ccode\u003ef4bc21b\u003c/code\u003e\u003c/a\u003e snapshot test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/d979a7d2f3d8d4c36f17a56573e85bae6673aef1\"\u003e\u003ccode\u003ed979a7d\u003c/code\u003e\u003c/a\u003e snapshot\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/35452692c46be734b4332dcd02bd187407756a0c\"\u003e\u003ccode\u003e3545269\u003c/code\u003e\u003c/a\u003e fix markdown context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/2f7b768aeeb3ed1ac338bc2bbc733d8417e4e3cc\"\u003e\u003ccode\u003e2f7b768\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6523\"\u003e#6523\u003c/a\u003e from Textualize/select-state\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/1c0cda228a60d06015222024f7bfec2e847eabbc\"\u003e\u003ccode\u003e1c0cda2\u003c/code\u003e\u003c/a\u003e punctuation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/aaa0fc452dbc328403513e4d3fa0a9388fb5bc58\"\u003e\u003ccode\u003eaaa0fc4\u003c/code\u003e\u003c/a\u003e clarify\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/textual/compare/v8.2.4...v8.2.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=textual\u0026package-manager=uv\u0026previous-version=8.2.4\u0026new-version=8.2.6)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/davep/oldnews/pull/211","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/davep%2Foldnews/issues/211","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/211/packages"},{"uuid":"4440618029","node_id":"PR_kwDOR3Nnos7bQYmy","number":25,"state":"closed","title":"chore(deps-dev): bump textual from 8.2.4 to 8.2.6","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-05-20T22:43:51.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-13T19:28:08.000Z","updated_at":"2026-05-20T22:43:53.000Z","time_to_close":616543,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev)","packages":[{"name":"textual","old_version":"8.2.4","new_version":"8.2.6","repository_url":"https://github.com/Textualize/textual"}],"path":null,"ecosystem":"pip"},"body":"Bumps [textual](https://github.com/Textualize/textual) from 8.2.4 to 8.2.6.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/textual/releases\"\u003etextual's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eThe more selective release\u003c/h2\u003e\n\u003cp\u003eImproved text select logic. You can select text without first clicking on a content area.\u003c/p\u003e\n\u003cp\u003eMay break snapshots without affecting appearance.\u003c/p\u003e\n\u003ch2\u003e[8.2.6] - 2026-04-13\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed selection to the right of code fence blocks (may break some snapshots)\u003c/li\u003e\n\u003cli\u003eFixed Markdown code fences losing content when switching themes \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6537\"\u003eTextualize/textual#6537\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded ability to select outside of text, so the user doesn't need to be quite so precise \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6523\"\u003eTextualize/textual#6523\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eThe Antsy Release\u003c/h2\u003e\n\u003cp\u003eThis release adds support for dedicated ansi themes, which are also exposed from the command palette.\u003c/p\u003e\n\u003cp\u003eThere were a few tweaks to the theming system which may result in broken snapshots, but there should be no visual changes.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003e[8.2.5] - 2026-04-30\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eTwo new themes: \u0026quot;ansi-dark\u0026quot; and \u0026quot;ansi-light\u0026quot; \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded an \u003ccode\u003eansi\u003c/code\u003e value to themes \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eApp.ansi_color\u003c/code\u003e may now be \u003ccode\u003eNone\u003c/code\u003e to use the \u003ccode\u003eansi\u003c/code\u003e value from the theme. \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\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/Textualize/textual/blob/main/CHANGELOG.md\"\u003etextual's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[8.2.6] - 2026-04-13\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed selection to the right of code fence blocks (may break some snapshots)\u003c/li\u003e\n\u003cli\u003eFixed Markdown code fences losing content when switching themes \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6537\"\u003eTextualize/textual#6537\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded ability to select outside of text, so the user doesn't need to be quite so precise \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6523\"\u003eTextualize/textual#6523\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.5] - 2026-04-30\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eTwo new themes: \u0026quot;ansi-dark\u0026quot; and \u0026quot;ansi-light\u0026quot; \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded an \u003ccode\u003eansi\u003c/code\u003e value to themes \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eApp.ansi_color\u003c/code\u003e may now be \u003ccode\u003eNone\u003c/code\u003e to use the \u003ccode\u003eansi\u003c/code\u003e value from the theme. \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\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/Textualize/textual/commit/f1929043fc5a9346a7a13649c1c2bc6ac4199a3b\"\u003e\u003ccode\u003ef192904\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6538\"\u003e#6538\u003c/a\u003e from Textualize/bump826\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/018a448f5e5f2f1c6b02732d318c90843a98788c\"\u003e\u003ccode\u003e018a448\u003c/code\u003e\u003c/a\u003e bump to 8.2.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/36bb351496b8a1a4c8aecd78a41e5c25f3b8a7d0\"\u003e\u003ccode\u003e36bb351\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6537\"\u003e#6537\u003c/a\u003e from Textualize/markdown-context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/0bdce31cfd14da3fe1f2c3a78490c95da03ea3a8\"\u003e\u003ccode\u003e0bdce31\u003c/code\u003e\u003c/a\u003e remove time factor\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/f4bc21b3367dce5b04d70ec869859190adcdef3c\"\u003e\u003ccode\u003ef4bc21b\u003c/code\u003e\u003c/a\u003e snapshot test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/d979a7d2f3d8d4c36f17a56573e85bae6673aef1\"\u003e\u003ccode\u003ed979a7d\u003c/code\u003e\u003c/a\u003e snapshot\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/35452692c46be734b4332dcd02bd187407756a0c\"\u003e\u003ccode\u003e3545269\u003c/code\u003e\u003c/a\u003e fix markdown context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/2f7b768aeeb3ed1ac338bc2bbc733d8417e4e3cc\"\u003e\u003ccode\u003e2f7b768\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6523\"\u003e#6523\u003c/a\u003e from Textualize/select-state\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/1c0cda228a60d06015222024f7bfec2e847eabbc\"\u003e\u003ccode\u003e1c0cda2\u003c/code\u003e\u003c/a\u003e punctuation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/aaa0fc452dbc328403513e4d3fa0a9388fb5bc58\"\u003e\u003ccode\u003eaaa0fc4\u003c/code\u003e\u003c/a\u003e clarify\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/textual/compare/v8.2.4...v8.2.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=textual\u0026package-manager=pip\u0026previous-version=8.2.4\u0026new-version=8.2.6)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/firattamurcw/app-reviews/pull/25","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/firattamurcw%2Fapp-reviews/issues/25","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/25/packages"},{"uuid":"4439904561","node_id":"PR_kwDOOgNN9M7bODN3","number":90,"state":"closed","title":"Bump the python-dependencies group across 1 directory with 2 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-26T22:49:50.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-13T17:25:44.000Z","updated_at":"2026-05-26T22:49:52.000Z","time_to_close":1142646,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"python-dependencies","update_count":2,"packages":[{"name":"pydantic","old_version":"2.13.3","new_version":"2.13.4","repository_url":"https://github.com/pydantic/pydantic"},{"name":"textual","old_version":"8.2.5","new_version":"8.2.6","repository_url":"https://github.com/Textualize/textual"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-dependencies group with 2 updates in the / directory: [pydantic](https://github.com/pydantic/pydantic) and [textual](https://github.com/Textualize/textual).\n\nUpdates `pydantic` from 2.13.3 to 2.13.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/releases\"\u003epydantic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.13.4 2026-05-06\u003c/h2\u003e\n\u003ch2\u003ev2.13.4 (2026-05-06)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003ePackaging\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eBump libc from 0.2.155 to 0.2.185 by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13109\"\u003e#13109\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdapt \u003ccode\u003epydantic-core\u003c/code\u003e linker flags on macOS by \u003ca href=\"https://github.com/washingtoneg\"\u003e\u003ccode\u003e@​washingtoneg\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13147\"\u003e#13147\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve \u003ccode\u003eRootModel\u003c/code\u003e core metadata by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13129\"\u003e#13129\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.13.3...v2.13.4\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.3...v2.13.4\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/blob/v2.13.4/HISTORY.md\"\u003epydantic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.13.4 (2026-05-06)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.4\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003ePackaging\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eBump libc from 0.2.155 to 0.2.185 by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13109\"\u003e#13109\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdapt \u003ccode\u003epydantic-core\u003c/code\u003e linker flags on macOS by \u003ca href=\"https://github.com/washingtoneg\"\u003e\u003ccode\u003e@​washingtoneg\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13147\"\u003e#13147\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve \u003ccode\u003eRootModel\u003c/code\u003e core metadata by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13129\"\u003e#13129\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/cf67d4b3193c3fe43ede18612ed62785eee11382\"\u003e\u003ccode\u003ecf67d4b\u003c/code\u003e\u003c/a\u003e Fix linting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/f0d8a214a5803036db46a56b1f62f1e56b81d662\"\u003e\u003ccode\u003ef0d8a21\u003c/code\u003e\u003c/a\u003e Prepare release v2.13.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/5e3fe1d41a00f441204241c66078003ae0391f9a\"\u003e\u003ccode\u003e5e3fe1d\u003c/code\u003e\u003c/a\u003e Check for pydantic tag pattern in CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/7f9edcc2a191d2eaa9751220eb910914e716a686\"\u003e\u003ccode\u003e7f9edcc\u003c/code\u003e\u003c/a\u003e Document tagging conventions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/b46a0c9b8a4dd967fda8ec1a92f6437076bf262c\"\u003e\u003ccode\u003eb46a0c9\u003c/code\u003e\u003c/a\u003e Adapt \u003ccode\u003epydantic-core\u003c/code\u003e linker flags on macOS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/50629c851e61d887d5420452c311ec6203f1f400\"\u003e\u003ccode\u003e50629c8\u003c/code\u003e\u003c/a\u003e Update to PyPy 7.3.22\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/8522ebb71e5e9a6f7188af5f009f01785b8cf725\"\u003e\u003ccode\u003e8522ebb\u003c/code\u003e\u003c/a\u003e Preserve \u003ccode\u003eRootModel\u003c/code\u003e core metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/a37f3aff090ca342dc5f48304889963530b993f8\"\u003e\u003ccode\u003ea37f3af\u003c/code\u003e\u003c/a\u003e Adapt \u003ccode\u003eMISSING\u003c/code\u003e sentinel test to work with unreleased \u003ccode\u003etyping_extensions\u003c/code\u003e ver...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/909259a9df660518033aa686b689f045a6eaf9d2\"\u003e\u003ccode\u003e909259a\u003c/code\u003e\u003c/a\u003e Remove Logfire example in documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/2c4174c366606fc2dc46cb806833a080aefa77df\"\u003e\u003ccode\u003e2c4174c\u003c/code\u003e\u003c/a\u003e Bump libc from 0.2.155 to 0.2.185\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.13.3...v2.13.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `textual` from 8.2.5 to 8.2.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/textual/releases\"\u003etextual's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eThe more selective release\u003c/h2\u003e\n\u003cp\u003eImproved text select logic. You can select text without first clicking on a content area.\u003c/p\u003e\n\u003cp\u003eMay break snapshots without affecting appearance.\u003c/p\u003e\n\u003ch2\u003e[8.2.6] - 2026-04-13\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed selection to the right of code fence blocks (may break some snapshots)\u003c/li\u003e\n\u003cli\u003eFixed Markdown code fences losing content when switching themes \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6537\"\u003eTextualize/textual#6537\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded ability to select outside of text, so the user doesn't need to be quite so precise \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6523\"\u003eTextualize/textual#6523\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/Textualize/textual/blob/main/CHANGELOG.md\"\u003etextual's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[8.2.6] - 2026-04-13\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed selection to the right of code fence blocks (may break some snapshots)\u003c/li\u003e\n\u003cli\u003eFixed Markdown code fences losing content when switching themes \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6537\"\u003eTextualize/textual#6537\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded ability to select outside of text, so the user doesn't need to be quite so precise \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6523\"\u003eTextualize/textual#6523\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/Textualize/textual/commit/f1929043fc5a9346a7a13649c1c2bc6ac4199a3b\"\u003e\u003ccode\u003ef192904\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6538\"\u003e#6538\u003c/a\u003e from Textualize/bump826\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/018a448f5e5f2f1c6b02732d318c90843a98788c\"\u003e\u003ccode\u003e018a448\u003c/code\u003e\u003c/a\u003e bump to 8.2.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/36bb351496b8a1a4c8aecd78a41e5c25f3b8a7d0\"\u003e\u003ccode\u003e36bb351\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6537\"\u003e#6537\u003c/a\u003e from Textualize/markdown-context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/0bdce31cfd14da3fe1f2c3a78490c95da03ea3a8\"\u003e\u003ccode\u003e0bdce31\u003c/code\u003e\u003c/a\u003e remove time factor\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/f4bc21b3367dce5b04d70ec869859190adcdef3c\"\u003e\u003ccode\u003ef4bc21b\u003c/code\u003e\u003c/a\u003e snapshot test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/d979a7d2f3d8d4c36f17a56573e85bae6673aef1\"\u003e\u003ccode\u003ed979a7d\u003c/code\u003e\u003c/a\u003e snapshot\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/35452692c46be734b4332dcd02bd187407756a0c\"\u003e\u003ccode\u003e3545269\u003c/code\u003e\u003c/a\u003e fix markdown context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/2f7b768aeeb3ed1ac338bc2bbc733d8417e4e3cc\"\u003e\u003ccode\u003e2f7b768\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6523\"\u003e#6523\u003c/a\u003e from Textualize/select-state\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/1c0cda228a60d06015222024f7bfec2e847eabbc\"\u003e\u003ccode\u003e1c0cda2\u003c/code\u003e\u003c/a\u003e punctuation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/aaa0fc452dbc328403513e4d3fa0a9388fb5bc58\"\u003e\u003ccode\u003eaaa0fc4\u003c/code\u003e\u003c/a\u003e clarify\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/textual/compare/v8.2.5...v8.2.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/AAraKKe/ynab-unlinked/pull/90","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/AAraKKe%2Fynab-unlinked/issues/90","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/90/packages"},{"uuid":"4416869984","node_id":"PR_kwDORh0dfc7aDND_","number":14,"state":"open","title":"build(deps-dev): update textual requirement from \u003e=3.0.0 to \u003e=8.2.5","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-10T21:18:48.000Z","updated_at":"2026-05-10T21:18:49.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps-dev): update","packages":[{"name":"textual","old_version":"\u003e=3.0.0","new_version":"\u003e=8.2.5","repository_url":"https://github.com/Textualize/textual"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [textual](https://github.com/Textualize/textual) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/textual/releases\"\u003etextual's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eThe Antsy Release\u003c/h2\u003e\n\u003cp\u003eThis release adds support for dedicated ansi themes, which are also exposed from the command palette.\u003c/p\u003e\n\u003cp\u003eThere were a few tweaks to the theming system which may result in broken snapshots, but there should be no visual changes.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003e[8.2.5] - 2026-04-30\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eTwo new themes: \u0026quot;ansi-dark\u0026quot; and \u0026quot;ansi-light\u0026quot; \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded an \u003ccode\u003eansi\u003c/code\u003e value to themes \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eApp.ansi_color\u003c/code\u003e may now be \u003ccode\u003eNone\u003c/code\u003e to use the \u003ccode\u003eansi\u003c/code\u003e value from the theme. \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\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/Textualize/textual/blob/main/CHANGELOG.md\"\u003etextual's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[8.2.5] - 2026-04-30\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eTwo new themes: \u0026quot;ansi-dark\u0026quot; and \u0026quot;ansi-light\u0026quot; \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded an \u003ccode\u003eansi\u003c/code\u003e value to themes \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eApp.ansi_color\u003c/code\u003e may now be \u003ccode\u003eNone\u003c/code\u003e to use the \u003ccode\u003eansi\u003c/code\u003e value from the theme. \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.4] - 2026-04-19\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eDOM.update_classes\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6478\"\u003eTextualize/textual#6478\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed anchor released when scrolling down with the trackpad \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6503\"\u003eTextualize/textual#6503\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.3] - 2026-04-05\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReduce lag when resizing window, by moving resize from idle to a timer \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6471\"\u003eTextualize/textual#6471\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.2] - 2026-04-03\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed Pointless style updates when resizing \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6464\"\u003eTextualize/textual#6464\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.1] - 2026-03-29\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix crash when a widget disapears between selections \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6455\"\u003eTextualize/textual#6455\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.0] - 2026-03-27\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAuto-scrolling on select \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6440\"\u003eTextualize/textual#6440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSelecting over containers \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6440\"\u003eTextualize/textual#6440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eApp.ENABLE_SELECT_AUTO_SCROLL\u003c/code\u003e, \u003ccode\u003eApp.SELECT_AUTO_SCROLL_LINES\u003c/code\u003e, \u003ccode\u003eApp.SELECT_AUTO_SCROLL_SPEED\u003c/code\u003e to tweak auto scrolling behavior \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6440\"\u003eTextualize/textual#6440\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.1.1] - 2026-03-10\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/Textualize/textual/commit/5fdea0dd0538451399762dcb75efefde7f6ddcdc\"\u003e\u003ccode\u003e5fdea0d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6513\"\u003e#6513\u003c/a\u003e from Textualize/ansi-themes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/992eb8683dc58c0ed7e1569669e198e3d6d7942c\"\u003e\u003ccode\u003e992eb86\u003c/code\u003e\u003c/a\u003e superfluous code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/eebf3fc0b72815164a4f155723b309eb0fbc2cce\"\u003e\u003ccode\u003eeebf3fc\u003c/code\u003e\u003c/a\u003e style tweak\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/a82be18e43d712c45eff150490961a988eecf3a8\"\u003e\u003ccode\u003ea82be18\u003c/code\u003e\u003c/a\u003e theme tweak\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/12ef2588eb9ae25e3db89caec2936db39733ac58\"\u003e\u003ccode\u003e12ef258\u003c/code\u003e\u003c/a\u003e bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/f4b774a12a9535a7d127603a4279f38b809d9d06\"\u003e\u003ccode\u003ef4b774a\u003c/code\u003e\u003c/a\u003e changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/978f86a958d14c56300e69ca2bffe1d4d3975f61\"\u003e\u003ccode\u003e978f86a\u003c/code\u003e\u003c/a\u003e simplify\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/c12fd8fc7ff0ff6a107bf60944b0ab504381d106\"\u003e\u003ccode\u003ec12fd8f\u003c/code\u003e\u003c/a\u003e unbolden\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/a72aa4cb9bacb008f546485cdfc169f0853189fb\"\u003e\u003ccode\u003ea72aa4c\u003c/code\u003e\u003c/a\u003e highlight tweak\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/28476f719a7a70e902ab80918eb91bd82276c03d\"\u003e\u003ccode\u003e28476f7\u003c/code\u003e\u003c/a\u003e button tweak\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/textual/compare/v3.0.0...v8.2.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/getheddle/heddle/pull/14","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/getheddle%2Fheddle/issues/14","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/14/packages"},{"uuid":"4415705576","node_id":"PR_kwDONV34TM7Z_vBR","number":9,"state":"closed","title":"Update textual requirement from ~=6.8.0 to ~=8.2.5","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-05-10T13:17:47.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-10T13:14:15.000Z","updated_at":"2026-05-10T13:17:55.000Z","time_to_close":212,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Update","packages":[{"name":"textual","old_version":"~=6.8.0","new_version":"~=8.2.5","repository_url":"https://github.com/Textualize/textual"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [textual](https://github.com/Textualize/textual) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/textual/releases\"\u003etextual's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eThe Antsy Release\u003c/h2\u003e\n\u003cp\u003eThis release adds support for dedicated ansi themes, which are also exposed from the command palette.\u003c/p\u003e\n\u003cp\u003eThere were a few tweaks to the theming system which may result in broken snapshots, but there should be no visual changes.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003e[8.2.5] - 2026-04-30\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eTwo new themes: \u0026quot;ansi-dark\u0026quot; and \u0026quot;ansi-light\u0026quot; \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded an \u003ccode\u003eansi\u003c/code\u003e value to themes \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eApp.ansi_color\u003c/code\u003e may now be \u003ccode\u003eNone\u003c/code\u003e to use the \u003ccode\u003eansi\u003c/code\u003e value from the theme. \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\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/Textualize/textual/blob/main/CHANGELOG.md\"\u003etextual's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[8.2.5] - 2026-04-30\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eTwo new themes: \u0026quot;ansi-dark\u0026quot; and \u0026quot;ansi-light\u0026quot; \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded an \u003ccode\u003eansi\u003c/code\u003e value to themes \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eApp.ansi_color\u003c/code\u003e may now be \u003ccode\u003eNone\u003c/code\u003e to use the \u003ccode\u003eansi\u003c/code\u003e value from the theme. \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.4] - 2026-04-19\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eDOM.update_classes\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6478\"\u003eTextualize/textual#6478\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed anchor released when scrolling down with the trackpad \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6503\"\u003eTextualize/textual#6503\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.3] - 2026-04-05\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReduce lag when resizing window, by moving resize from idle to a timer \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6471\"\u003eTextualize/textual#6471\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.2] - 2026-04-03\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed Pointless style updates when resizing \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6464\"\u003eTextualize/textual#6464\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.1] - 2026-03-29\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix crash when a widget disapears between selections \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6455\"\u003eTextualize/textual#6455\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.0] - 2026-03-27\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAuto-scrolling on select \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6440\"\u003eTextualize/textual#6440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSelecting over containers \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6440\"\u003eTextualize/textual#6440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eApp.ENABLE_SELECT_AUTO_SCROLL\u003c/code\u003e, \u003ccode\u003eApp.SELECT_AUTO_SCROLL_LINES\u003c/code\u003e, \u003ccode\u003eApp.SELECT_AUTO_SCROLL_SPEED\u003c/code\u003e to tweak auto scrolling behavior \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6440\"\u003eTextualize/textual#6440\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.1.1] - 2026-03-10\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/Textualize/textual/commit/5fdea0dd0538451399762dcb75efefde7f6ddcdc\"\u003e\u003ccode\u003e5fdea0d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6513\"\u003e#6513\u003c/a\u003e from Textualize/ansi-themes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/992eb8683dc58c0ed7e1569669e198e3d6d7942c\"\u003e\u003ccode\u003e992eb86\u003c/code\u003e\u003c/a\u003e superfluous code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/eebf3fc0b72815164a4f155723b309eb0fbc2cce\"\u003e\u003ccode\u003eeebf3fc\u003c/code\u003e\u003c/a\u003e style tweak\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/a82be18e43d712c45eff150490961a988eecf3a8\"\u003e\u003ccode\u003ea82be18\u003c/code\u003e\u003c/a\u003e theme tweak\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/12ef2588eb9ae25e3db89caec2936db39733ac58\"\u003e\u003ccode\u003e12ef258\u003c/code\u003e\u003c/a\u003e bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/f4b774a12a9535a7d127603a4279f38b809d9d06\"\u003e\u003ccode\u003ef4b774a\u003c/code\u003e\u003c/a\u003e changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/978f86a958d14c56300e69ca2bffe1d4d3975f61\"\u003e\u003ccode\u003e978f86a\u003c/code\u003e\u003c/a\u003e simplify\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/c12fd8fc7ff0ff6a107bf60944b0ab504381d106\"\u003e\u003ccode\u003ec12fd8f\u003c/code\u003e\u003c/a\u003e unbolden\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/a72aa4cb9bacb008f546485cdfc169f0853189fb\"\u003e\u003ccode\u003ea72aa4c\u003c/code\u003e\u003c/a\u003e highlight tweak\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/28476f719a7a70e902ab80918eb91bd82276c03d\"\u003e\u003ccode\u003e28476f7\u003c/code\u003e\u003c/a\u003e button tweak\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/textual/compare/v6.8.0...v8.2.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/jacob-sabella/lazygradle/pull/9","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/jacob-sabella%2Flazygradle/issues/9","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/9/packages"},{"uuid":"4413423206","node_id":"PR_kwDOSYYgoM7Z47Z7","number":5,"state":"closed","title":"chore(deps): update textual requirement from \u003e=0.50.0 to \u003e=8.2.5","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-05-16T00:52:56.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-09T18:15:16.000Z","updated_at":"2026-05-16T00:52:58.000Z","time_to_close":542260,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): update","packages":[{"name":"textual","old_version":"\u003e=0.50.0","new_version":"\u003e=8.2.5","repository_url":"https://github.com/Textualize/textual"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [textual](https://github.com/Textualize/textual) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/textual/releases\"\u003etextual's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eThe Antsy Release\u003c/h2\u003e\n\u003cp\u003eThis release adds support for dedicated ansi themes, which are also exposed from the command palette.\u003c/p\u003e\n\u003cp\u003eThere were a few tweaks to the theming system which may result in broken snapshots, but there should be no visual changes.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003e[8.2.5] - 2026-04-30\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eTwo new themes: \u0026quot;ansi-dark\u0026quot; and \u0026quot;ansi-light\u0026quot; \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded an \u003ccode\u003eansi\u003c/code\u003e value to themes \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eApp.ansi_color\u003c/code\u003e may now be \u003ccode\u003eNone\u003c/code\u003e to use the \u003ccode\u003eansi\u003c/code\u003e value from the theme. \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\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/Textualize/textual/blob/main/CHANGELOG.md\"\u003etextual's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[8.2.5] - 2026-04-30\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eTwo new themes: \u0026quot;ansi-dark\u0026quot; and \u0026quot;ansi-light\u0026quot; \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded an \u003ccode\u003eansi\u003c/code\u003e value to themes \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eApp.ansi_color\u003c/code\u003e may now be \u003ccode\u003eNone\u003c/code\u003e to use the \u003ccode\u003eansi\u003c/code\u003e value from the theme. \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.4] - 2026-04-19\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eDOM.update_classes\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6478\"\u003eTextualize/textual#6478\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed anchor released when scrolling down with the trackpad \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6503\"\u003eTextualize/textual#6503\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.3] - 2026-04-05\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReduce lag when resizing window, by moving resize from idle to a timer \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6471\"\u003eTextualize/textual#6471\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.2] - 2026-04-03\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed Pointless style updates when resizing \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6464\"\u003eTextualize/textual#6464\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.1] - 2026-03-29\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix crash when a widget disapears between selections \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6455\"\u003eTextualize/textual#6455\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.0] - 2026-03-27\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAuto-scrolling on select \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6440\"\u003eTextualize/textual#6440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSelecting over containers \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6440\"\u003eTextualize/textual#6440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eApp.ENABLE_SELECT_AUTO_SCROLL\u003c/code\u003e, \u003ccode\u003eApp.SELECT_AUTO_SCROLL_LINES\u003c/code\u003e, \u003ccode\u003eApp.SELECT_AUTO_SCROLL_SPEED\u003c/code\u003e to tweak auto scrolling behavior \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6440\"\u003eTextualize/textual#6440\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.1.1] - 2026-03-10\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/Textualize/textual/commit/5fdea0dd0538451399762dcb75efefde7f6ddcdc\"\u003e\u003ccode\u003e5fdea0d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6513\"\u003e#6513\u003c/a\u003e from Textualize/ansi-themes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/992eb8683dc58c0ed7e1569669e198e3d6d7942c\"\u003e\u003ccode\u003e992eb86\u003c/code\u003e\u003c/a\u003e superfluous code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/eebf3fc0b72815164a4f155723b309eb0fbc2cce\"\u003e\u003ccode\u003eeebf3fc\u003c/code\u003e\u003c/a\u003e style tweak\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/a82be18e43d712c45eff150490961a988eecf3a8\"\u003e\u003ccode\u003ea82be18\u003c/code\u003e\u003c/a\u003e theme tweak\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/12ef2588eb9ae25e3db89caec2936db39733ac58\"\u003e\u003ccode\u003e12ef258\u003c/code\u003e\u003c/a\u003e bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/f4b774a12a9535a7d127603a4279f38b809d9d06\"\u003e\u003ccode\u003ef4b774a\u003c/code\u003e\u003c/a\u003e changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/978f86a958d14c56300e69ca2bffe1d4d3975f61\"\u003e\u003ccode\u003e978f86a\u003c/code\u003e\u003c/a\u003e simplify\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/c12fd8fc7ff0ff6a107bf60944b0ab504381d106\"\u003e\u003ccode\u003ec12fd8f\u003c/code\u003e\u003c/a\u003e unbolden\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/a72aa4cb9bacb008f546485cdfc169f0853189fb\"\u003e\u003ccode\u003ea72aa4c\u003c/code\u003e\u003c/a\u003e highlight tweak\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/28476f719a7a70e902ab80918eb91bd82276c03d\"\u003e\u003ccode\u003e28476f7\u003c/code\u003e\u003c/a\u003e button tweak\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/textual/compare/v0.50.0...v8.2.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e","html_url":"https://github.com/zlj-zz/muster/pull/5","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/zlj-zz%2Fmuster/issues/5","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/5/packages"},{"uuid":"4366419430","node_id":"PR_kwDOSR7T3s7XhQVi","number":6,"state":"open","title":"Update textual requirement from \u003c1.0,\u003e=0.89 to \u003e=0.89,\u003c9.0","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-01T20:03:14.000Z","updated_at":"2026-05-01T20:04:59.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Update","packages":[{"name":"textual","old_version":"\u003c1.0,\u003e=0.89","new_version":"\u003e=0.89,\u003c9.0","repository_url":"https://github.com/Textualize/textual"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [textual](https://github.com/Textualize/textual) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/textual/releases\"\u003etextual's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eThe Antsy Release\u003c/h2\u003e\n\u003cp\u003eThis release adds support for dedicated ansi themes, which are also exposed from the command palette.\u003c/p\u003e\n\u003cp\u003eThere were a few tweaks to the theming system which may result in broken snapshots, but there should be no visual changes.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003e[8.2.5] - 2026-04-30\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eTwo new themes: \u0026quot;ansi-dark\u0026quot; and \u0026quot;ansi-light\u0026quot; \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded an \u003ccode\u003eansi\u003c/code\u003e value to themes \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eApp.ansi_color\u003c/code\u003e may now be \u003ccode\u003eNone\u003c/code\u003e to use the \u003ccode\u003eansi\u003c/code\u003e value from the theme. \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\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/Textualize/textual/blob/main/CHANGELOG.md\"\u003etextual's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[8.2.5] - 2026-04-30\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eTwo new themes: \u0026quot;ansi-dark\u0026quot; and \u0026quot;ansi-light\u0026quot; \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded an \u003ccode\u003eansi\u003c/code\u003e value to themes \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eApp.ansi_color\u003c/code\u003e may now be \u003ccode\u003eNone\u003c/code\u003e to use the \u003ccode\u003eansi\u003c/code\u003e value from the theme. \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.4] - 2026-04-19\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eDOM.update_classes\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6478\"\u003eTextualize/textual#6478\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed anchor released when scrolling down with the trackpad \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6503\"\u003eTextualize/textual#6503\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.3] - 2026-04-05\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReduce lag when resizing window, by moving resize from idle to a timer \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6471\"\u003eTextualize/textual#6471\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.2] - 2026-04-03\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed Pointless style updates when resizing \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6464\"\u003eTextualize/textual#6464\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.1] - 2026-03-29\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix crash when a widget disapears between selections \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6455\"\u003eTextualize/textual#6455\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.0] - 2026-03-27\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAuto-scrolling on select \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6440\"\u003eTextualize/textual#6440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSelecting over containers \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6440\"\u003eTextualize/textual#6440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eApp.ENABLE_SELECT_AUTO_SCROLL\u003c/code\u003e, \u003ccode\u003eApp.SELECT_AUTO_SCROLL_LINES\u003c/code\u003e, \u003ccode\u003eApp.SELECT_AUTO_SCROLL_SPEED\u003c/code\u003e to tweak auto scrolling behavior \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6440\"\u003eTextualize/textual#6440\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.1.1] - 2026-03-10\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/Textualize/textual/commit/5fdea0dd0538451399762dcb75efefde7f6ddcdc\"\u003e\u003ccode\u003e5fdea0d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6513\"\u003e#6513\u003c/a\u003e from Textualize/ansi-themes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/992eb8683dc58c0ed7e1569669e198e3d6d7942c\"\u003e\u003ccode\u003e992eb86\u003c/code\u003e\u003c/a\u003e superfluous code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/eebf3fc0b72815164a4f155723b309eb0fbc2cce\"\u003e\u003ccode\u003eeebf3fc\u003c/code\u003e\u003c/a\u003e style tweak\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/a82be18e43d712c45eff150490961a988eecf3a8\"\u003e\u003ccode\u003ea82be18\u003c/code\u003e\u003c/a\u003e theme tweak\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/12ef2588eb9ae25e3db89caec2936db39733ac58\"\u003e\u003ccode\u003e12ef258\u003c/code\u003e\u003c/a\u003e bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/f4b774a12a9535a7d127603a4279f38b809d9d06\"\u003e\u003ccode\u003ef4b774a\u003c/code\u003e\u003c/a\u003e changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/978f86a958d14c56300e69ca2bffe1d4d3975f61\"\u003e\u003ccode\u003e978f86a\u003c/code\u003e\u003c/a\u003e simplify\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/c12fd8fc7ff0ff6a107bf60944b0ab504381d106\"\u003e\u003ccode\u003ec12fd8f\u003c/code\u003e\u003c/a\u003e unbolden\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/a72aa4cb9bacb008f546485cdfc169f0853189fb\"\u003e\u003ccode\u003ea72aa4c\u003c/code\u003e\u003c/a\u003e highlight tweak\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/28476f719a7a70e902ab80918eb91bd82276c03d\"\u003e\u003ccode\u003e28476f7\u003c/code\u003e\u003c/a\u003e button tweak\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/textual/compare/v0.89.0...v8.2.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/san2stic/San-o1-Intelligence/pull/6","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/san2stic%2FSan-o1-Intelligence/issues/6","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/6/packages"},{"uuid":"4338795373","node_id":"PR_kwDOJiVJE87WHIPO","number":180,"state":"open","title":"chore(deps-dev): bump textual from 8.2.3 to 8.2.4","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-27T20:49:28.000Z","updated_at":"2026-04-27T20:50:43.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev)","packages":[{"name":"textual","old_version":"8.2.3","new_version":"8.2.4","repository_url":"https://github.com/Textualize/textual"}],"path":null,"ecosystem":"pip"},"body":"Bumps [textual](https://github.com/Textualize/textual) from 8.2.3 to 8.2.4.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/textual/releases\"\u003etextual's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eThe small potatoes Release\u003c/h2\u003e\n\u003cp\u003eSmall potatoes update, to fix a glitch with anchor.\u003c/p\u003e\n\u003ch2\u003e[8.2.4] - 2026-04-19\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eDOM.update_classes\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6478\"\u003eTextualize/textual#6478\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed anchor released when scrolling down with the trackpad \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6503\"\u003eTextualize/textual#6503\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/Textualize/textual/blob/main/CHANGELOG.md\"\u003etextual's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[8.2.4] - 2026-04-19\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eDOM.update_classes\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6478\"\u003eTextualize/textual#6478\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed anchor released when scrolling down with the trackpad \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6503\"\u003eTextualize/textual#6503\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/Textualize/textual/commit/49a24d67a66b553ef2dede0674232a4704f5b4d8\"\u003e\u003ccode\u003e49a24d6\u003c/code\u003e\u003c/a\u003e bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/2a84efdda39e996a5bd698b510b87e7f90590996\"\u003e\u003ccode\u003e2a84efd\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6503\"\u003e#6503\u003c/a\u003e from Textualize/anchor-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/c9a49755a45497f0b604a42a477e47fe162c5cb7\"\u003e\u003ccode\u003ec9a4975\u003c/code\u003e\u003c/a\u003e fix anchor release on trackpad\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/f8b42bd7a93578338f1b3668a1dc83f79e344fe8\"\u003e\u003ccode\u003ef8b42bd\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6495\"\u003e#6495\u003c/a\u003e from Rohan5commit/docs-input-messages-20260417\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/697d0ffe41ce314b07835fcf00d5e841430d7ce9\"\u003e\u003ccode\u003e697d0ff\u003c/code\u003e\u003c/a\u003e docs: fix input validation typo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/759e66f8218b422ec76b35d0c8454eb5eb6291b1\"\u003e\u003ccode\u003e759e66f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6478\"\u003e#6478\u003c/a\u003e from Textualize/update-classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/3a3a76cd5754d44155c8ea6f6684d15837177c8c\"\u003e\u003ccode\u003e3a3a76c\u003c/code\u003e\u003c/a\u003e Added update flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/91c86a14ca523817b8e56f8b928cbf1a706f1123\"\u003e\u003ccode\u003e91c86a1\u003c/code\u003e\u003c/a\u003e Changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/27623a95efb5454fad63158858a4528e6c185fc5\"\u003e\u003ccode\u003e27623a9\u003c/code\u003e\u003c/a\u003e name change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/3decce56d9f5c157e641c5be5f59d00450effbd7\"\u003e\u003ccode\u003e3decce5\u003c/code\u003e\u003c/a\u003e leaner with sets\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/textual/compare/v8.2.3...v8.2.4\"\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=textual\u0026package-manager=uv\u0026previous-version=8.2.3\u0026new-version=8.2.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/Kilo59/ruff-sync/pull/180","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kilo59%2Fruff-sync/issues/180","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/180/packages"},{"uuid":"4329191629","node_id":"PR_kwDOGrlpEM7VpIPf","number":451,"state":"closed","title":"Bump textual from 8.2.3 to 8.2.4","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-02T20:52:32.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-25T20:52:34.000Z","updated_at":"2026-05-02T20:52:34.000Z","time_to_close":604798,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"textual","old_version":"8.2.3","new_version":"8.2.4","repository_url":"https://github.com/Textualize/textual"}],"path":null,"ecosystem":"pip"},"body":"Bumps [textual](https://github.com/Textualize/textual) from 8.2.3 to 8.2.4.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/textual/releases\"\u003etextual's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eThe small potatoes Release\u003c/h2\u003e\n\u003cp\u003eSmall potatoes update, to fix a glitch with anchor.\u003c/p\u003e\n\u003ch2\u003e[8.2.4] - 2026-04-19\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eDOM.update_classes\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6478\"\u003eTextualize/textual#6478\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed anchor released when scrolling down with the trackpad \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6503\"\u003eTextualize/textual#6503\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/Textualize/textual/blob/main/CHANGELOG.md\"\u003etextual's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[8.2.4] - 2026-04-19\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eDOM.update_classes\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6478\"\u003eTextualize/textual#6478\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed anchor released when scrolling down with the trackpad \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6503\"\u003eTextualize/textual#6503\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/Textualize/textual/commit/49a24d67a66b553ef2dede0674232a4704f5b4d8\"\u003e\u003ccode\u003e49a24d6\u003c/code\u003e\u003c/a\u003e bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/2a84efdda39e996a5bd698b510b87e7f90590996\"\u003e\u003ccode\u003e2a84efd\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6503\"\u003e#6503\u003c/a\u003e from Textualize/anchor-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/c9a49755a45497f0b604a42a477e47fe162c5cb7\"\u003e\u003ccode\u003ec9a4975\u003c/code\u003e\u003c/a\u003e fix anchor release on trackpad\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/f8b42bd7a93578338f1b3668a1dc83f79e344fe8\"\u003e\u003ccode\u003ef8b42bd\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6495\"\u003e#6495\u003c/a\u003e from Rohan5commit/docs-input-messages-20260417\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/697d0ffe41ce314b07835fcf00d5e841430d7ce9\"\u003e\u003ccode\u003e697d0ff\u003c/code\u003e\u003c/a\u003e docs: fix input validation typo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/759e66f8218b422ec76b35d0c8454eb5eb6291b1\"\u003e\u003ccode\u003e759e66f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6478\"\u003e#6478\u003c/a\u003e from Textualize/update-classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/3a3a76cd5754d44155c8ea6f6684d15837177c8c\"\u003e\u003ccode\u003e3a3a76c\u003c/code\u003e\u003c/a\u003e Added update flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/91c86a14ca523817b8e56f8b928cbf1a706f1123\"\u003e\u003ccode\u003e91c86a1\u003c/code\u003e\u003c/a\u003e Changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/27623a95efb5454fad63158858a4528e6c185fc5\"\u003e\u003ccode\u003e27623a9\u003c/code\u003e\u003c/a\u003e name change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/3decce56d9f5c157e641c5be5f59d00450effbd7\"\u003e\u003ccode\u003e3decce5\u003c/code\u003e\u003c/a\u003e leaner with sets\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/textual/compare/v8.2.3...v8.2.4\"\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=textual\u0026package-manager=pip\u0026previous-version=8.2.3\u0026new-version=8.2.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/dmunozv04/iSponsorBlockTV/pull/451","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/dmunozv04%2FiSponsorBlockTV/issues/451","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/451/packages"},{"uuid":"4328886905","node_id":"PR_kwDOPW6rlc7VoPaZ","number":36,"state":"closed","title":"chore(deps): update textual requirement from \u003e=0.65.0 to \u003e=8.2.4 in /test","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-04-25T21:26:20.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-25T18:17:25.000Z","updated_at":"2026-04-25T21:26:28.000Z","time_to_close":11335,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): update","packages":[{"name":"textual","old_version":"\u003e=0.65.0","new_version":"\u003e=8.2.4","repository_url":"https://github.com/Textualize/textual"}],"path":"/test","ecosystem":"pip"},"body":"Updates the requirements on [textual](https://github.com/Textualize/textual) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/textual/releases\"\u003etextual's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eThe small potatoes Release\u003c/h2\u003e\n\u003cp\u003eSmall potatoes update, to fix a glitch with anchor.\u003c/p\u003e\n\u003ch2\u003e[8.2.4] - 2026-04-19\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eDOM.update_classes\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6478\"\u003eTextualize/textual#6478\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed anchor released when scrolling down with the trackpad \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6503\"\u003eTextualize/textual#6503\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/Textualize/textual/blob/main/CHANGELOG.md\"\u003etextual's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[8.2.4] - 2026-04-19\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eDOM.update_classes\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6478\"\u003eTextualize/textual#6478\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed anchor released when scrolling down with the trackpad \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6503\"\u003eTextualize/textual#6503\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.3] - 2026-04-05\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReduce lag when resizing window, by moving resize from idle to a timer \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6471\"\u003eTextualize/textual#6471\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.2] - 2026-04-03\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed Pointless style updates when resizing \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6464\"\u003eTextualize/textual#6464\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.1] - 2026-03-29\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix crash when a widget disapears between selections \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6455\"\u003eTextualize/textual#6455\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.0] - 2026-03-27\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAuto-scrolling on select \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6440\"\u003eTextualize/textual#6440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSelecting over containers \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6440\"\u003eTextualize/textual#6440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eApp.ENABLE_SELECT_AUTO_SCROLL\u003c/code\u003e, \u003ccode\u003eApp.SELECT_AUTO_SCROLL_LINES\u003c/code\u003e, \u003ccode\u003eApp.SELECT_AUTO_SCROLL_SPEED\u003c/code\u003e to tweak auto scrolling behavior \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6440\"\u003eTextualize/textual#6440\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.1.1] - 2026-03-10\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHotfix for animation on complete \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6412\"\u003eTextualize/textual#6412\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.1.0] - 2026-03-10\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReplace circuar references in DOM with weak references to improve GC times \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6410\"\u003eTextualize/textual#6410\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen animating an attribute a second time, the original \u003ccode\u003eon_complete\u003c/code\u003e is now called \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6410\"\u003eTextualize/textual#6410\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/49a24d67a66b553ef2dede0674232a4704f5b4d8\"\u003e\u003ccode\u003e49a24d6\u003c/code\u003e\u003c/a\u003e bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/2a84efdda39e996a5bd698b510b87e7f90590996\"\u003e\u003ccode\u003e2a84efd\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6503\"\u003e#6503\u003c/a\u003e from Textualize/anchor-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/c9a49755a45497f0b604a42a477e47fe162c5cb7\"\u003e\u003ccode\u003ec9a4975\u003c/code\u003e\u003c/a\u003e fix anchor release on trackpad\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/f8b42bd7a93578338f1b3668a1dc83f79e344fe8\"\u003e\u003ccode\u003ef8b42bd\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6495\"\u003e#6495\u003c/a\u003e from Rohan5commit/docs-input-messages-20260417\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/697d0ffe41ce314b07835fcf00d5e841430d7ce9\"\u003e\u003ccode\u003e697d0ff\u003c/code\u003e\u003c/a\u003e docs: fix input validation typo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/759e66f8218b422ec76b35d0c8454eb5eb6291b1\"\u003e\u003ccode\u003e759e66f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6478\"\u003e#6478\u003c/a\u003e from Textualize/update-classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/3a3a76cd5754d44155c8ea6f6684d15837177c8c\"\u003e\u003ccode\u003e3a3a76c\u003c/code\u003e\u003c/a\u003e Added update flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/91c86a14ca523817b8e56f8b928cbf1a706f1123\"\u003e\u003ccode\u003e91c86a1\u003c/code\u003e\u003c/a\u003e Changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/27623a95efb5454fad63158858a4528e6c185fc5\"\u003e\u003ccode\u003e27623a9\u003c/code\u003e\u003c/a\u003e name change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/3decce56d9f5c157e641c5be5f59d00450effbd7\"\u003e\u003ccode\u003e3decce5\u003c/code\u003e\u003c/a\u003e leaner with sets\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/textual/compare/v0.65.0...v8.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore 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/bamr87/bashcrawl/pull/36","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/bamr87%2Fbashcrawl/issues/36","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/36/packages"},{"uuid":"4327385454","node_id":"PR_kwDOQ8nqEc7VjydM","number":279,"state":"closed","title":"Bump textual from 8.2.1 to 8.2.4","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-02T06:43:35.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-25T06:43:20.000Z","updated_at":"2026-05-02T06:43:36.000Z","time_to_close":604815,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"textual","old_version":"8.2.1","new_version":"8.2.4","repository_url":"https://github.com/Textualize/textual"}],"path":null,"ecosystem":"pip"},"body":"Bumps [textual](https://github.com/Textualize/textual) from 8.2.1 to 8.2.4.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/textual/releases\"\u003etextual's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eThe small potatoes Release\u003c/h2\u003e\n\u003cp\u003eSmall potatoes update, to fix a glitch with anchor.\u003c/p\u003e\n\u003ch2\u003e[8.2.4] - 2026-04-19\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eDOM.update_classes\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6478\"\u003eTextualize/textual#6478\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed anchor released when scrolling down with the trackpad \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6503\"\u003eTextualize/textual#6503\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eThe snappier resize Release\u003c/h2\u003e\n\u003ch2\u003e[8.2.3] - 2026-04-05\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReduce lag when resizing window, by moving resize from idle to a timer \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6471\"\u003eTextualize/textual#6471\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eThe Faster Resize Release\u003c/h2\u003e\n\u003cp\u003eFixed an issue where styles were being unneccesarily updated when resizing. Textual apps will now adapt to changes in the terminal size much more quickly.\u003c/p\u003e\n\u003ch2\u003e[8.2.2] - 2026-04-03\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed Pointless style updates when resizing \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6464\"\u003eTextualize/textual#6464\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/Textualize/textual/blob/main/CHANGELOG.md\"\u003etextual's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[8.2.4] - 2026-04-19\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eDOM.update_classes\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6478\"\u003eTextualize/textual#6478\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed anchor released when scrolling down with the trackpad \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6503\"\u003eTextualize/textual#6503\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.3] - 2026-04-05\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReduce lag when resizing window, by moving resize from idle to a timer \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6471\"\u003eTextualize/textual#6471\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.2] - 2026-04-03\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed Pointless style updates when resizing \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6464\"\u003eTextualize/textual#6464\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/Textualize/textual/commit/49a24d67a66b553ef2dede0674232a4704f5b4d8\"\u003e\u003ccode\u003e49a24d6\u003c/code\u003e\u003c/a\u003e bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/2a84efdda39e996a5bd698b510b87e7f90590996\"\u003e\u003ccode\u003e2a84efd\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6503\"\u003e#6503\u003c/a\u003e from Textualize/anchor-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/c9a49755a45497f0b604a42a477e47fe162c5cb7\"\u003e\u003ccode\u003ec9a4975\u003c/code\u003e\u003c/a\u003e fix anchor release on trackpad\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/f8b42bd7a93578338f1b3668a1dc83f79e344fe8\"\u003e\u003ccode\u003ef8b42bd\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6495\"\u003e#6495\u003c/a\u003e from Rohan5commit/docs-input-messages-20260417\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/697d0ffe41ce314b07835fcf00d5e841430d7ce9\"\u003e\u003ccode\u003e697d0ff\u003c/code\u003e\u003c/a\u003e docs: fix input validation typo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/759e66f8218b422ec76b35d0c8454eb5eb6291b1\"\u003e\u003ccode\u003e759e66f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6478\"\u003e#6478\u003c/a\u003e from Textualize/update-classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/3a3a76cd5754d44155c8ea6f6684d15837177c8c\"\u003e\u003ccode\u003e3a3a76c\u003c/code\u003e\u003c/a\u003e Added update flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/91c86a14ca523817b8e56f8b928cbf1a706f1123\"\u003e\u003ccode\u003e91c86a1\u003c/code\u003e\u003c/a\u003e Changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/27623a95efb5454fad63158858a4528e6c185fc5\"\u003e\u003ccode\u003e27623a9\u003c/code\u003e\u003c/a\u003e name change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/3decce56d9f5c157e641c5be5f59d00450effbd7\"\u003e\u003ccode\u003e3decce5\u003c/code\u003e\u003c/a\u003e leaner with sets\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/textual/compare/v8.2.1...v8.2.4\"\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=textual\u0026package-manager=pip\u0026previous-version=8.2.1\u0026new-version=8.2.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/pavel-vlasov/TUI-K6-Runner/pull/279","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/pavel-vlasov%2FTUI-K6-Runner/issues/279","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/279/packages"},{"uuid":"4293571694","node_id":"PR_kwDOIye5g87T1w3y","number":32,"state":"open","title":"chore(deps): bump the python-dependencies group with 14 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-20T06:31:15.000Z","updated_at":"2026-04-20T06:32:37.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"python-dependencies","update_count":14,"packages":[{"name":"sqlmodel","old_version":"0.0.37","new_version":"0.0.38","repository_url":"https://github.com/fastapi/sqlmodel"},{"name":"duckdb","old_version":"1.4.4","new_version":"1.5.2","repository_url":"https://github.com/duckdb/duckdb-python"},{"name":"rich","old_version":"14.3.3","new_version":"15.0.0","repository_url":"https://github.com/Textualize/rich"},{"name":"textual","old_version":"8.0.2","new_version":"8.2.4","repository_url":"https://github.com/Textualize/textual"},{"name":"pytest","old_version":"9.0.2","new_version":"9.0.3","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"pytest-cov","old_version":"7.0.0","new_version":"7.1.0","repository_url":"https://github.com/pytest-dev/pytest-cov"},{"name":"respx","old_version":"0.22.0","new_version":"0.23.1","repository_url":"https://github.com/lundberg/respx"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [polars[database,pyarrow]](https://github.com/pola-rs/polars), [pandera[polars]](https://github.com/pandera-dev/pandera), [sqlmodel](https://github.com/fastapi/sqlmodel), [duckdb](https://github.com/duckdb/duckdb-python), [rich](https://github.com/Textualize/rich), [textual](https://github.com/Textualize/textual), [pytest](https://github.com/pytest-dev/pytest), [pytest-cov](https://github.com/pytest-dev/pytest-cov), [respx](https://github.com/lundberg/respx), [hypothesis](https://github.com/HypothesisWorks/hypothesis), [ruff](https://github.com/astral-sh/ruff), [ty](https://github.com/astral-sh/ty), [sqlfluff](https://github.com/sqlfluff/sqlfluff) and [sqlglot](https://github.com/tobymao/sqlglot) to permit the latest version.\nUpdates `polars[database,pyarrow]` to 1.40.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pola-rs/polars/releases\"\u003epolars[database,pyarrow]'s releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ePython Polars 1.40.0\u003c/h2\u003e\n\u003ch2\u003e🏆 Highlights\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd streaming support for grouped AsOf join (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27293\"\u003e#27293\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e⚠️ Deprecations\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate support for dataframe interchange protocol (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27214\"\u003e#27214\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🚀 Performance improvements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCreate IR slice from expr slice pushdown (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27200\"\u003e#27200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd streaming support for grouped AsOf join (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27293\"\u003e#27293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid unnecessary rechunk when sorting already sorted DataFrame (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27264\"\u003e#27264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLower basic over() to streaming primitives (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27303\"\u003e#27303\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLower \u003ccode\u003edrop_{nulls,nans}\u003c/code\u003e in streaming \u003ccode\u003egroup_by\u003c/code\u003e aggregations (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27296\"\u003e#27296\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLower \u003ccode\u003eentropy\u003c/code\u003e to streaming reductions (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27174\"\u003e#27174\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd native streaming \u003ccode\u003einterpolate\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27185\"\u003e#27185\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStreaming \u003ccode\u003estrptime\u003c/code\u003e with \u003ccode\u003eformat=None\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27056\"\u003e#27056\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLower \u003ccode\u003eskew\u003c/code\u003e / \u003ccode\u003ekurtosis\u003c/code\u003e to streaming aggregations (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27176\"\u003e#27176\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePost apply pyarrow filter in Polars' engine instead of pyarrow (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27192\"\u003e#27192\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOptimize \u003ccode\u003edrop_nulls().{first,last}()\u003c/code\u003e to \u003ccode\u003e{first,last}(ignore_nulls=True)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27187\"\u003e#27187\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAlways process pyarrow scan in batches (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27183\"\u003e#27183\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003ecut\u003c/code\u003e output \u003ccode\u003eEnum\u003c/code\u003e and mark as elementwise (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27173\"\u003e#27173\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove unused expression sorts (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27075\"\u003e#27075\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse delta stats for mixed hive and non-hive predicate pushdown (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27102\"\u003e#27102\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTake into account size per row in join sampling (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27098\"\u003e#27098\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStreaming is_first_distinct and unique(maintain_order=True) (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27052\"\u003e#27052\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStreaming \u003ccode\u003ecov\u003c/code\u003e and \u003ccode\u003ecorr\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27008\"\u003e#27008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd sorted unique node to streaming engine (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26990\"\u003e#26990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure Expr.append is lowered in streaming engine (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27022\"\u003e#27022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCollapse consecutive Sort nodes (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26965\"\u003e#26965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop \u003ccode\u003emaintain_order=True\u003c/code\u003e requirement in \u003ccode\u003esink_delta\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27007\"\u003e#27007\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e✨ Enhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eignore_nulls\u003c/code\u003e to \u003ccode\u003e{list,arr}.{any,all}\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27186\"\u003e#27186\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLock-free memory manager with spill-to-disk and fully OOC multiplexer (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26774\"\u003e#26774\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eis_unique\u003c/code\u003e to list/array dtypes (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27290\"\u003e#27290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStreaming pyarrow datasets sources (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27230\"\u003e#27230\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003epl.merge_sorted\u003c/code\u003e operating on multiple frames (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27014\"\u003e#27014\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003egroup_by()\u003c/code\u003e without key exprs (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27141\"\u003e#27141\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChange default scan/read_lines column name from \u0026quot;lines\u0026quot; to \u0026quot;line\u0026quot; (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27122\"\u003e#27122\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake unnest() effective on all columns by default (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27029\"\u003e#27029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCollapse consecutive Sort nodes (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26965\"\u003e#26965\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐞 Bug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003egroups\u003c/code\u003e to correct length for \u003ccode\u003eImplode\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27282\"\u003e#27282\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix scan_csv missing_columns='insert' overwrote existing data with NULLs (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27297\"\u003e#27297\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/bf6a425f4ecdc53fd5d0c4b47ef4a08ca61f8d87\"\u003e\u003ccode\u003ebf6a425\u003c/code\u003e\u003c/a\u003e fix: Update \u003ccode\u003egroups\u003c/code\u003e to correct length for \u003ccode\u003eImplode\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27282\"\u003e#27282\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/aeb677d8598fc3032458751b53bd04c0e1963401\"\u003e\u003ccode\u003eaeb677d\u003c/code\u003e\u003c/a\u003e test(python): Add regression test for instantiating polars DataFrame from pan...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/5fd657e420147284358e8388c389a566ae13ff38\"\u003e\u003ccode\u003e5fd657e\u003c/code\u003e\u003c/a\u003e docs: Add documentation for openlineage on-premises (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27334\"\u003e#27334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/fad784c03ada4eb23c75985eac3e254d6b5977bc\"\u003e\u003ccode\u003efad784c\u003c/code\u003e\u003c/a\u003e fix: Fix scan_csv missing_columns='insert' overwrote existing data with NULLs...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/bdf73dc7991754b7e4025a7760d3a0f7c7f2914c\"\u003e\u003ccode\u003ebdf73dc\u003c/code\u003e\u003c/a\u003e docs: Release page (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27335\"\u003e#27335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/f9dfa217361aa3ee9866a8532904d58668a6fcad\"\u003e\u003ccode\u003ef9dfa21\u003c/code\u003e\u003c/a\u003e perf: Create IR slice from expr slice pushdown (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27200\"\u003e#27200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/f81f8f8b1caef5d86d9adcf01ae18aa228dd38a1\"\u003e\u003ccode\u003ef81f8f8\u003c/code\u003e\u003c/a\u003e refactor(rust): Add generic tree traversal with edge value propagation (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27249\"\u003e#27249\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/d1165c074ebfb3bc8a3a19efb21ce09cb34877e0\"\u003e\u003ccode\u003ed1165c0\u003c/code\u003e\u003c/a\u003e docs: Update uv pip install polars-on-premises cmd (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27330\"\u003e#27330\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/4b216a89fc691a2ece5ca8511cc978e1aba2079f\"\u003e\u003ccode\u003e4b216a8\u003c/code\u003e\u003c/a\u003e perf: Add streaming support for grouped AsOf join (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27293\"\u003e#27293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/518b9a3f5da2403d5b20fe0feb7faa2a336eb68b\"\u003e\u003ccode\u003e518b9a3\u003c/code\u003e\u003c/a\u003e chore: Bump Python Polars version (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27315\"\u003e#27315\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pola-rs/polars/compare/py-1.38.1...py-1.40.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pandera[polars]` to 0.31.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pandera-dev/pandera/releases\"\u003epandera[polars]'s releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.31.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix pandera[polars] import without pandas by \u003ca href=\"https://github.com/cosmicBboy\"\u003e\u003ccode\u003e@​cosmicBboy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2291\"\u003eunionai-oss/pandera#2291\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/unionai-oss/pandera/compare/v0.31.0...v0.31.1\"\u003ehttps://github.com/unionai-oss/pandera/compare/v0.31.0...v0.31.1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/df7cb7d8282e20cca0fc13f166bb7d99e48c5a3f\"\u003e\u003ccode\u003edf7cb7d\u003c/code\u003e\u003c/a\u003e Fix pandera[polars] import without pandas (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2291\"\u003e#2291\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/1921c1d56d7436dfc4592f1be8739a25ff7accd2\"\u003e\u003ccode\u003e1921c1d\u003c/code\u003e\u003c/a\u003e Rename test functions for clarity\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/0502361a191431b9e34520330afd65141b0af164\"\u003e\u003ccode\u003e0502361\u003c/code\u003e\u003c/a\u003e test(pyspark): add str_length regressions for issues \u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/1311\"\u003e#1311\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/1314\"\u003e#1314\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/7773eb8626985f33b23c398389cee6f47497d1ed\"\u003e\u003ccode\u003e7773eb8\u003c/code\u003e\u003c/a\u003e fix: support Spark Connect DataFrame in cache_check_obj decorator\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/52f9805fd6055aca1f907af32c5b8d481b98f247\"\u003e\u003ccode\u003e52f9805\u003c/code\u003e\u003c/a\u003e tests(mypy): add polars Column Decimal/Struct typing regression\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/e61e02ce7dc0b12b1248a5f1cc3e78f1480f336e\"\u003e\u003ccode\u003ee61e02c\u003c/code\u003e\u003c/a\u003e fix(geopandas): re-export errors in module \u003cstrong\u003eall\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/3d95fc16fe85734c2a47dd749ff529be351146ac\"\u003e\u003ccode\u003e3d95fc1\u003c/code\u003e\u003c/a\u003e fix(pandas): export errors in pandera.pandas public API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/1370d6d480e018443d7ca224e6344443dbd49261\"\u003e\u003ccode\u003e1370d6d\u003c/code\u003e\u003c/a\u003e docs: fix xarray guide link in banner\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/356f1a6aefee572ebc6eafe77affb89c2bf0fa5a\"\u003e\u003ccode\u003e356f1a6\u003c/code\u003e\u003c/a\u003e docs: update xarray integration info for v0.31.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/99fbb48998308542e48047332693a14281d2da0b\"\u003e\u003ccode\u003e99fbb48\u003c/code\u003e\u003c/a\u003e fix(pandas): remove deprecated applymap from parser backend (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2281\"\u003e#2281\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pandera-dev/pandera/compare/v0.29.0...v0.31.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sqlmodel` from 0.0.37 to 0.0.38\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fastapi/sqlmodel/releases\"\u003esqlmodel's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.38\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix type annotation in \u003ccode\u003eSQLModel.__new__\u003c/code\u003e, avoid explicitly returning \u003ccode\u003eAny\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1846\"\u003e#1846\u003c/a\u003e by \u003ca href=\"https://github.com/carljm\"\u003e\u003ccode\u003e@​carljm\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🐛 Fix \u003ccode\u003etuple_\u003c/code\u003e return type annotation. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1639\"\u003e#1639\u003c/a\u003e by \u003ca href=\"https://github.com/kakeruzoku\"\u003e\u003ccode\u003e@​kakeruzoku\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✏️ Fix typos in \u003ccode\u003econtributing.md\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1842\"\u003e#1842\u003c/a\u003e by \u003ca href=\"https://github.com/GopalGB\"\u003e\u003ccode\u003e@​GopalGB\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔥 Remove outdated Python 3.9 tutorial file. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1822\"\u003e#1822\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Fix ambiguous phrasing regarding \u003ccode\u003eHeroPublicWithTeam\u003c/code\u003e model. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1678\"\u003e#1678\u003c/a\u003e by \u003ca href=\"https://github.com/berkaykrc\"\u003e\u003ccode\u003e@​berkaykrc\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔨 Handle external links \u003ccode\u003etarget=_blank\u003c/code\u003e and CSS automatically in JS and CSS. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1799\"\u003e#1799\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Document \u003ccode\u003e.in_()\u003c/code\u003e method. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/619\"\u003e#619\u003c/a\u003e by \u003ca href=\"https://github.com/masylum\"\u003e\u003ccode\u003e@​masylum\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Fix small typos in the documentation. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1641\"\u003e#1641\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔨 Add pre-commit hook to ensure latest release header has date. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1786\"\u003e#1786\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pillow from 12.1.1 to 12.2.0. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1845\"\u003e#1845\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump fastapi from 0.135.2 to 0.135.3. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1844\"\u003e#1844\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump prek from 0.3.6 to 0.3.8. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1829\"\u003e#1829\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pygithub from 2.8.1 to 2.9.0. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1827\"\u003e#1827\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump fastapi from 0.135.1 to 0.135.2. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1828\"\u003e#1828\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e➕ Add a direct dependency on \u003ccode\u003etyping-extensions\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1815\"\u003e#1815\u003c/a\u003e by \u003ca href=\"https://github.com/musicinmybrain\"\u003e\u003ccode\u003e@​musicinmybrain\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump mkdocs-material from 9.7.5 to 9.7.6. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1825\"\u003e#1825\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.15.6 to 0.15.7. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1826\"\u003e#1826\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump prek from 0.3.5 to 0.3.6. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1817\"\u003e#1817\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📌 Update internal dependency limits. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1809\"\u003e#1809\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.15.5 to 0.15.6. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1814\"\u003e#1814\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump cairosvg from 2.8.2 to 2.9.0. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1813\"\u003e#1813\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump dorny/paths-filter from 3 to 4. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1812\"\u003e#1812\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump black from 26.3.0 to 26.3.1. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1811\"\u003e#1811\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump mkdocs-material from 9.7.4 to 9.7.5. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1808\"\u003e#1808\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump prek from 0.3.4 to 0.3.5. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1807\"\u003e#1807\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump black from 26.1.0 to 26.3.0. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1803\"\u003e#1803\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.15.4 to 0.15.5. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1801\"\u003e#1801\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump mkdocs-material from 9.7.3 to 9.7.4. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1797\"\u003e#1797\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump sqlalchemy from 2.0.47 to 2.0.48. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1793\"\u003e#1793\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump prek from 0.3.3 to 0.3.4. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1794\"\u003e#1794\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump fastapi from 0.134.0 to 0.135.1. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1795\"\u003e#1795\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump fastapi from 0.133.1 to 0.134.0. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1792\"\u003e#1792\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.15.2 to 0.15.4. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1790\"\u003e#1790\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump actions/download-artifact from 7 to 8. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1789\"\u003e#1789\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump actions/upload-artifact from 6 to 7. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1788\"\u003e#1788\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump fastapi from 0.133.0 to 0.133.1. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1787\"\u003e#1787\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump mkdocs-material from 9.7.2 to 9.7.3. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1782\"\u003e#1782\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump fastapi from 0.132.0 to 0.133.0. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1781\"\u003e#1781\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump sqlalchemy from 2.0.46 to 2.0.47. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1783\"\u003e#1783\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pytest from 8.4.2 to 9.0.2. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1780\"\u003e#1780\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump mkdocstrings[python] from 0.30.1 to 1.0.3. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1776\"\u003e#1776\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fastapi/sqlmodel/blob/main/docs/release-notes.md\"\u003esqlmodel's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.38 (2026-04-02)\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix type annotation in \u003ccode\u003eSQLModel.__new__\u003c/code\u003e, avoid explicitly returning \u003ccode\u003eAny\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1846\"\u003e#1846\u003c/a\u003e by \u003ca href=\"https://github.com/carljm\"\u003e\u003ccode\u003e@​carljm\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🐛 Fix \u003ccode\u003etuple_\u003c/code\u003e return type annotation. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1639\"\u003e#1639\u003c/a\u003e by \u003ca href=\"https://github.com/kakeruzoku\"\u003e\u003ccode\u003e@​kakeruzoku\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✏️ Fix typos in \u003ccode\u003econtributing.md\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1842\"\u003e#1842\u003c/a\u003e by \u003ca href=\"https://github.com/GopalGB\"\u003e\u003ccode\u003e@​GopalGB\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔥 Remove outdated Python 3.9 tutorial file. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1822\"\u003e#1822\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Fix ambiguous phrasing regarding \u003ccode\u003eHeroPublicWithTeam\u003c/code\u003e model. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1678\"\u003e#1678\u003c/a\u003e by \u003ca href=\"https://github.com/berkaykrc\"\u003e\u003ccode\u003e@​berkaykrc\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔨 Handle external links \u003ccode\u003etarget=_blank\u003c/code\u003e and CSS automatically in JS and CSS. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1799\"\u003e#1799\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Document \u003ccode\u003e.in_()\u003c/code\u003e method. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/619\"\u003e#619\u003c/a\u003e by \u003ca href=\"https://github.com/masylum\"\u003e\u003ccode\u003e@​masylum\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Fix small typos in the documentation. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1641\"\u003e#1641\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔨 Add pre-commit hook to ensure latest release header has date. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1786\"\u003e#1786\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pillow from 12.1.1 to 12.2.0. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1845\"\u003e#1845\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump fastapi from 0.135.2 to 0.135.3. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1844\"\u003e#1844\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump prek from 0.3.6 to 0.3.8. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1829\"\u003e#1829\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pygithub from 2.8.1 to 2.9.0. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1827\"\u003e#1827\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump fastapi from 0.135.1 to 0.135.2. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1828\"\u003e#1828\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e➕ Add a direct dependency on \u003ccode\u003etyping-extensions\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1815\"\u003e#1815\u003c/a\u003e by \u003ca href=\"https://github.com/musicinmybrain\"\u003e\u003ccode\u003e@​musicinmybrain\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump mkdocs-material from 9.7.5 to 9.7.6. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1825\"\u003e#1825\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.15.6 to 0.15.7. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1826\"\u003e#1826\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump prek from 0.3.5 to 0.3.6. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1817\"\u003e#1817\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📌 Update internal dependency limits. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1809\"\u003e#1809\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.15.5 to 0.15.6. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1814\"\u003e#1814\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump cairosvg from 2.8.2 to 2.9.0. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1813\"\u003e#1813\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump dorny/paths-filter from 3 to 4. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1812\"\u003e#1812\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump black from 26.3.0 to 26.3.1. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1811\"\u003e#1811\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump mkdocs-material from 9.7.4 to 9.7.5. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1808\"\u003e#1808\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump prek from 0.3.4 to 0.3.5. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1807\"\u003e#1807\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump black from 26.1.0 to 26.3.0. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1803\"\u003e#1803\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.15.4 to 0.15.5. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1801\"\u003e#1801\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump mkdocs-material from 9.7.3 to 9.7.4. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1797\"\u003e#1797\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump sqlalchemy from 2.0.47 to 2.0.48. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1793\"\u003e#1793\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump prek from 0.3.3 to 0.3.4. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1794\"\u003e#1794\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump fastapi from 0.134.0 to 0.135.1. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1795\"\u003e#1795\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump fastapi from 0.133.1 to 0.134.0. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1792\"\u003e#1792\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.15.2 to 0.15.4. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1790\"\u003e#1790\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump actions/download-artifact from 7 to 8. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1789\"\u003e#1789\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump actions/upload-artifact from 6 to 7. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1788\"\u003e#1788\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump fastapi from 0.133.0 to 0.133.1. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1787\"\u003e#1787\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump mkdocs-material from 9.7.2 to 9.7.3. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1782\"\u003e#1782\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump fastapi from 0.132.0 to 0.133.0. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1781\"\u003e#1781\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump sqlalchemy from 2.0.46 to 2.0.47. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1783\"\u003e#1783\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pytest from 8.4.2 to 9.0.2. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1780\"\u003e#1780\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/sqlmodel/commit/de0ecdf63e9eae5da67f7ffc8d73577a326e30b9\"\u003e\u003ccode\u003ede0ecdf\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.0.38\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/sqlmodel/commit/8363cc764e6d3e9744b42df265071db6f0e98446\"\u003e\u003ccode\u003e8363cc7\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/sqlmodel/commit/ae672ce7caebc84098731d216c2919f483c5dce0\"\u003e\u003ccode\u003eae672ce\u003c/code\u003e\u003c/a\u003e 🔨 Add pre-commit hook to ensure latest release header has date (\u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/issues/1786\"\u003e#1786\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/sqlmodel/commit/f9e8e4c3f33f8f03c70e0dbd6f96d9fb34aa9be1\"\u003e\u003ccode\u003ef9e8e4c\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/sqlmodel/commit/5da82e2d741e6ab94580395ee637721ca0cb315e\"\u003e\u003ccode\u003e5da82e2\u003c/code\u003e\u003c/a\u003e 🐛 Fix type annotation in \u003ccode\u003eSQLModel.__new__\u003c/code\u003e, avoid explicitly returning \u003ccode\u003eAny\u003c/code\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/sqlmodel/commit/9a44fc440020594b1c99f3b86ca958179f921dbb\"\u003e\u003ccode\u003e9a44fc4\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/sqlmodel/commit/f7e193acfb91cb020074f3d72bba9d9d745958e6\"\u003e\u003ccode\u003ef7e193a\u003c/code\u003e\u003c/a\u003e ⬆ Bump pillow from 12.1.1 to 12.2.0 (\u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/issues/1845\"\u003e#1845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/sqlmodel/commit/2df429faf73597a4fbaa6a904046c5ff14d0735d\"\u003e\u003ccode\u003e2df429f\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/sqlmodel/commit/a2474ce772705a10fda32cfde33f955572cbe45a\"\u003e\u003ccode\u003ea2474ce\u003c/code\u003e\u003c/a\u003e ⬆ Bump fastapi from 0.135.2 to 0.135.3 (\u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/issues/1844\"\u003e#1844\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/sqlmodel/commit/fc18b94a9a012e62f98a4e92cfb4e91bd8f9c7d2\"\u003e\u003ccode\u003efc18b94\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fastapi/sqlmodel/compare/0.0.37...0.0.38\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `duckdb` from 1.4.4 to 1.5.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/duckdb/duckdb-python/releases\"\u003educkdb's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.5.2 Bugfix Release\u003c/h2\u003e\n\u003cp\u003eSee the DuckDB core release notes here: \u003ca href=\"https://github.com/duckdb/duckdb/releases/tag/v1.5.2\"\u003ehttps://github.com/duckdb/duckdb/releases/tag/v1.5.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eWhat's Changed in duckdb-python\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eType hints overhaul by \u003ca href=\"https://github.com/OutSquareCapital\"\u003e\u003ccode\u003e@​OutSquareCapital\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/duckdb/duckdb-python/pull/352\"\u003educkdb/duckdb-python#352\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCache arrow schema for streaming types by \u003ca href=\"https://github.com/evertlammerts\"\u003e\u003ccode\u003e@​evertlammerts\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/duckdb/duckdb-python/pull/423\"\u003educkdb/duckdb-python#423\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix segfault on join with None by \u003ca href=\"https://github.com/evertlammerts\"\u003e\u003ccode\u003e@​evertlammerts\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/duckdb/duckdb-python/pull/422\"\u003educkdb/duckdb-python#422\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix stubs for path_or_buffer param by \u003ca href=\"https://github.com/evertlammerts\"\u003e\u003ccode\u003e@​evertlammerts\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/duckdb/duckdb-python/pull/425\"\u003educkdb/duckdb-python#425\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.5.1 Bugfix Release\u003c/h2\u003e\n\u003cp\u003eDuckDB core v1.5.1 Changelog: \u003ca href=\"https://github.com/duckdb/duckdb/compare/v1.5.0...v1.5.1\"\u003ehttps://github.com/duckdb/duckdb/compare/v1.5.0...v1.5.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRe-added basic support for the GEOMETRY type\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDuckDB Python 1.5.0 \u0026quot;Variegata\u0026quot;\u003c/h2\u003e\n\u003cp\u003eThis is the 1.5.0 release of DuckDB's Python bindings. For a list of changes in DuckDB core, have a look at the \u003ca href=\"https://github.com/duckdb/duckdb/releases/tag/v1.5.0\"\u003eDuckDB release notes\u003c/a\u003e and \u003ca href=\"https://duckdb.org/2026/03/09/announcing-duckdb-150.html\"\u003ethe blogpost\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eDropped Python 3.9 support.\u003c/strong\u003e The minimum supported version is now Python 3.10.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRemoved deprecated \u003ccode\u003educkdb.typing\u003c/code\u003e and \u003ccode\u003educkdb.functional\u003c/code\u003e modules.\u003c/strong\u003e These were deprecated in 1.4.0. Use \u003ccode\u003educkdb.sqltypes\u003c/code\u003e and \u003ccode\u003educkdb.func\u003c/code\u003e instead.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRenamed \u003ccode\u003ecolumn\u003c/code\u003e parameter to \u003ccode\u003eexpression\u003c/code\u003e\u003c/strong\u003e in relational API functions (e.g., \u003ccode\u003emin\u003c/code\u003e, \u003ccode\u003emax\u003c/code\u003e, \u003ccode\u003esum\u003c/code\u003e, \u003ccode\u003emean\u003c/code\u003e, etc.) to better reflect that these accept expressions, not just column names.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDeprecated \u003ccode\u003efetch_arrow_table()\u003c/code\u003e and \u003ccode\u003efetch_record_batch()\u003c/code\u003e\u003c/strong\u003e on connections and relations. Use the new \u003ccode\u003eto_arrow_table()\u003c/code\u003e and \u003ccode\u003eto_arrow_reader()\u003c/code\u003e methods instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNew Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ePolars LazyFrame projection and filter pushdown.\u003c/strong\u003e DuckDB can now push down projections and filters when scanning Polars LazyFrames, including support for cast nodes and unstrict casts.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ePolars Int128 / UInt128 support.\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eVARIANT type support\u003c/strong\u003e — Python conversion, NumPy array wrapping, and type stubs.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTIME_NS type support\u003c/strong\u003e — nanosecond-precision time values across Python, NumPy, and Spark type systems.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eProfiling API\u003c/strong\u003e — new \u003ccode\u003eget_profiling_info()\u003c/code\u003e and \u003ccode\u003eget_profiling_json()\u003c/code\u003e methods on connections, plus a refactored \u003ccode\u003equery_graph\u003c/code\u003e module with improved HTML visualization (dark mode, expandable phases, depth).\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eto_arrow_table()\u003c/code\u003e and \u003ccode\u003eto_arrow_reader()\u003c/code\u003e\u003c/strong\u003e — new methods on connections and relations as the preferred Arrow export API.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003e__arrow_c_stream__\u003c/code\u003e on relations\u003c/strong\u003e — relations now export via the Arrow PyCapsule interface using \u003ccode\u003ePhysicalArrowCollector\u003c/code\u003e for zero-copy streaming.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eUnified Arrow stream scanning\u003c/strong\u003e via \u003ccode\u003e__arrow_c_stream__\u003c/code\u003e, with filter pushdown only when pyarrow is present.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eArrow schema caching\u003c/strong\u003e to avoid repeated lookups during scanning.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eArrow object type caching\u003c/strong\u003e to avoid repeated detection.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eEmpty params treated as None for \u003ccode\u003e.sql()\u003c/code\u003e\u003c/strong\u003e — avoids unnecessary parameter binding overhead.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eSimplified GIL management\u003c/strong\u003e for \u003ccode\u003eFetchRow\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eFixed Python object leak in scalar UDFs\u003c/strong\u003e — \u003ccode\u003ePyObject_CallObject\u003c/code\u003e return values are now properly stolen to avoid reference count leaks.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eFixed reference cycle\u003c/strong\u003e between connections and relations that could prevent garbage collection.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRelations now hold a reference to their connection\u003c/strong\u003e, preventing premature connection closure.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eFixed fsspec race condition\u003c/strong\u003e in the Python filesystem implementation.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eFixed numeric conversion logic\u003c/strong\u003e — improved handling of large integers (fallback to VARCHAR) and UNION types.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duckdb/duckdb-python/commit/2aea44eeae35b9c77dc2ff672634034a75c9bb16\"\u003e\u003ccode\u003e2aea44e\u003c/code\u003e\u003c/a\u003e pin submodule at release hash\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duckdb/duckdb-python/commit/3aa2bf2022b91dc9a96c3f91c8bb1fb0296586ef\"\u003e\u003ccode\u003e3aa2bf2\u003c/code\u003e\u003c/a\u003e Fix stubs for path_or_buffer param (\u003ca href=\"https://redirect.github.com/duckdb/duckdb-python/issues/425\"\u003e#425\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duckdb/duckdb-python/commit/018fe057d5a003355deb4213a894af559a947aa7\"\u003e\u003ccode\u003e018fe05\u003c/code\u003e\u003c/a\u003e Fix stubs for path_or_buffer param\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duckdb/duckdb-python/commit/0ef05d69fc8a123cf532f3ffb3e088212bbbfaf7\"\u003e\u003ccode\u003e0ef05d6\u003c/code\u003e\u003c/a\u003e Fix segfault on join with None (\u003ca href=\"https://redirect.github.com/duckdb/duckdb-python/issues/422\"\u003e#422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duckdb/duckdb-python/commit/4acb9f71e00c5002d3ab3aba78a172df8f7ebbc4\"\u003e\u003ccode\u003e4acb9f7\u003c/code\u003e\u003c/a\u003e Fix segfault on join\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duckdb/duckdb-python/commit/6f161de62403c209633fcbd52c6c0403dadef7da\"\u003e\u003ccode\u003e6f161de\u003c/code\u003e\u003c/a\u003e Cache arrow schema for streaming types (\u003ca href=\"https://redirect.github.com/duckdb/duckdb-python/issues/423\"\u003e#423\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duckdb/duckdb-python/commit/87d6a319674c5e2fb855e140bf539e997e978a2e\"\u003e\u003ccode\u003e87d6a31\u003c/code\u003e\u003c/a\u003e Add CLAUDE.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duckdb/duckdb-python/commit/ae356cb03926372b9cd3736f39662efd25bb4915\"\u003e\u003ccode\u003eae356cb\u003c/code\u003e\u003c/a\u003e Cache the arrow schema for streams so we don't need an active client context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duckdb/duckdb-python/commit/b71639f215d29c4f8b1c53cb3d7cf45603f4c5d2\"\u003e\u003ccode\u003eb71639f\u003c/code\u003e\u003c/a\u003e Test that client context stays open on arrow streams\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duckdb/duckdb-python/commit/305d11457efd4ca0767cad0868b16310b04160a7\"\u003e\u003ccode\u003e305d114\u003c/code\u003e\u003c/a\u003e fix spark test (\u003ca href=\"https://redirect.github.com/duckdb/duckdb-python/issues/421\"\u003e#421\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/duckdb/duckdb-python/compare/v1.4.4...v1.5.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rich` from 14.3.3 to 15.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/rich/releases\"\u003erich's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eThe So Long 3.8 Release\u003c/h2\u003e\n\u003cp\u003eA few fixes. The major version bump is to honor the passing of 3.8 support which reached its EOL in October 7, 2024\u003c/p\u003e\n\u003ch2\u003e[15.0.0] - 2026-04-12\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBreaking change: Dropped support for Python3.8\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed empty print ignoring the \u003ccode\u003eend\u003c/code\u003e parameter \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/4075\"\u003eTextualize/rich#4075\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eText.from_ansi\u003c/code\u003e removing newlines \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/4076\"\u003eTextualize/rich#4076\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eFileProxy.isatty\u003c/code\u003e not proxying \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/4077\"\u003eTextualize/rich#4077\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed inline code in Markdown tables cells \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/4079\"\u003eTextualize/rich#4079\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eThe Faster Startup Release\u003c/h2\u003e\n\u003cp\u003eNo new features in this release, but there should be improved startup time for Rich apps, and potentially improved runtime if you have a lot of links.\u003c/p\u003e\n\u003ch2\u003e[14.3.4] - 2026-04-11\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImproved import time with lazy loading \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/4070\"\u003eTextualize/rich#4070\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChanged link id generation to avoid random number generation at runtime \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3845\"\u003eTextualize/rich#3845\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/Textualize/rich/blob/master/CHANGELOG.md\"\u003erich's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[15.0.0] - 2026-04-12\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBreaking change: Dropped support for Python3.8\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed empty print ignoring the \u003ccode\u003eend\u003c/code\u003e parameter \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/4075\"\u003eTextualize/rich#4075\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eText.from_ansi\u003c/code\u003e removing newlines \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/4076\"\u003eTextualize/rich#4076\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eFileProxy.isatty\u003c/code\u003e not proxying \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/4077\"\u003eTextualize/rich#4077\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed inline code in Markdown tables cells \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/4079\"\u003eTextualize/rich#4079\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[14.3.4] - 2026-04-11\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImproved import time with lazy loading \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/4070\"\u003eTextualize/rich#4070\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChanged link id generation to avoid random number generation at runtime \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3845\"\u003eTextualize/rich#3845\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/Textualize/rich/commit/6ac483cbea39cab124dfd3483bba70ffafb71050\"\u003e\u003ccode\u003e6ac483c\u003c/code\u003e\u003c/a\u003e correction\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/458a9109c8b7da81c17b2270ea8a88f3e8c0465a\"\u003e\u003ccode\u003e458a910\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/4080\"\u003e#4080\u003c/a\u003e from Textualize/bump1500\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/82e06e0d9985fd8cce456dc3977e0d2d9e84b4d8\"\u003e\u003ccode\u003e82e06e0\u003c/code\u003e\u003c/a\u003e changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/d6556bc44881b9904f29f5d9d69a0812b30675d1\"\u003e\u003ccode\u003ed6556bc\u003c/code\u003e\u003c/a\u003e bump to 15.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/ffe2edc5968eac19d5493c2d7b27965031a692e9\"\u003e\u003ccode\u003effe2edc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/4079\"\u003e#4079\u003c/a\u003e from Textualize/inline-table-code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/cf3b5a16f7a76b2e8c4921d3314021bb72a6c5c1\"\u003e\u003ccode\u003ecf3b5a1\u003c/code\u003e\u003c/a\u003e changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/77f0edbdef71f2a895cd0ab1481e9a1fc79d42e6\"\u003e\u003ccode\u003e77f0edb\u003c/code\u003e\u003c/a\u003e remove comments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/7ef2d05ca8aa3cb405dab2fdf3282e69cf8089e3\"\u003e\u003ccode\u003e7ef2d05\u003c/code\u003e\u003c/a\u003e fix inline code in table cells\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/19c67b9a3479841e9133bea94607c89ee931d3fc\"\u003e\u003ccode\u003e19c67b9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/4077\"\u003e#4077\u003c/a\u003e from Textualize/isattry\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/494b795031782c694297d2db78bd04fb8c82f590\"\u003e\u003ccode\u003e494b795\u003c/code\u003e\u003c/a\u003e changelog\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/rich/compare/v14.3.3...v15.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `textual` from 8.0.2 to 8.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/textual/releases\"\u003etextual's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eThe small potatoes Release\u003c/h2\u003e\n\u003cp\u003eSmall potatoes update, to fix a glitch with anchor.\u003c/p\u003e\n\u003ch2\u003e[8.2.4] - 2026-04-19\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eDOM.update_classes\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6478\"\u003eTextualize/textual#6478\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed anchor released when scrolling down with the trackpad \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6503\"\u003eTextualize/textual#6503\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eThe snappier resize Release\u003c/h2\u003e\n\u003ch2\u003e[8.2.3] - 2026-04-05\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReduce lag when resizing window, by moving resize from idle to a timer \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6471\"\u003eTextualize/textual#6471\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eThe Faster Resize Release\u003c/h2\u003e\n\u003cp\u003eFixed an issue where styles were being unneccesarily updated when resizing. Textual apps will now adapt to changes in the terminal size much more quickly.\u003c/p\u003e\n\u003ch2\u003e[8.2.2] - 2026-04-03\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed Pointless style updates when resizing \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6464\"\u003eTextualize/textual#6464\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eThe Hot Select Release\u003c/h2\u003e\n\u003cp\u003eFixes a crash when a selected widget is removed while selecting\u003c/p\u003e\n\u003ch2\u003e[8.2.1] - 2026-03-29\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix crash when a widget disapears between selections \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6455\"\u003eTextualize/textual#6455\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eThe Select Release\u003c/h2\u003e\n\u003cp\u003eThis release enhances text selection, with auto-scrolling, and the ability to select across container widgets.\u003c/p\u003e\n\u003cp\u003eThis work was sponsored by Mistral AI.\u003c/p\u003e\n\u003ch2\u003e[8.2.0] - 2026-03-27\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAuto-scrolling on select \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6440\"\u003eTextualize/textual#6440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSelecting over containers \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6440\"\u003eTextualize/textual#6440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eApp.ENABLE_SELECT_AUTO_SCROLL\u003c/code\u003e, \u003ccode\u003eApp.SELECT_AUTO_SCROLL_LINES\u003c/code\u003e, \u003ccode\u003eApp.SELECT_AUTO_SCROLL_SPEED\u003c/code\u003e to tweak auto scrolling behavior \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6440\"\u003eTextualize/textual#6440\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/textual/blob/main/CHANGELOG.md\"\u003etextual's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[8.2.4] - 2026-04-19\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eDOM.update_classes\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6478\"\u003eTextualize/textual#6478\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed anchor released when scrolling down with the trackpad \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6503\"\u003eTextualize/textual#6503\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.3] - 2026-04-05\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReduce lag when resizing window, by moving resize from idle to a timer \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6471\"\u003eTextualize/textual#6471\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.2] - 2026-04-03\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed Pointless style updates when resizing \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6464\"\u003eTextualize/textual#6464\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.1] - 2026-03-29\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix crash when a widget disapears between selections \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6455\"\u003eTextualize/textual#6455\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.0] - 2026-03-27\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAuto-scrolling on select \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6440\"\u003eTextualize/textual#6440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSelecting over containers \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6440\"\u003eTextualize/textual#6440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eApp.ENABLE_SELECT_AUTO_SCROLL\u003c/code\u003e, \u003ccode\u003eApp.SELECT_AUTO_SCROLL_LINES\u003c/code\u003e, \u003ccode\u003eApp.SELECT_AUTO_SCROLL_SPEED\u003c/code\u003e to tweak auto scrolling behavior \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6440\"\u003eTextualize/textual#6440\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.1.1] - 2026-03-10\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHotfix for animation on complete \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6412\"\u003eTextualize/textual#6412\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.1.0] - 2026-03-10\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReplace circuar references in DOM with weak references to improve GC times \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6410\"\u003eTextualize/textual#6410\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen animating an attribute a second time, the original \u003ccode\u003eon_complete\u003c/code\u003e is now called \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6410\"\u003eTextualize/textual#6410\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/49a24d67a66b553ef2dede0674232a4704f5b4d8\"\u003e\u003ccode\u003e49a24d6\u003c/code\u003e\u003c/a\u003e bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/2a84efdda39e996a5bd698b510b87e7f90590996\"\u003e\u003ccode\u003e2a84efd\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6503\"\u003e#6503\u003c/a\u003e from Textualize/anchor-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/c9a49755a45497f0b604a42a477e47fe162c5cb7\"\u003e\u003ccode\u003ec9a4975\u003c/code\u003e\u003c/a\u003e fix anchor release on trackpad\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/f8b42bd7a93578338f1b3668a1dc83f79e344fe8\"\u003e\u003ccode\u003ef8b42bd\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6495\"\u003e#6495\u003c/a\u003e from Rohan5commit/docs-input-messages-20260417\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/697d0ffe41ce314b07835fcf00d5e841430d7ce9\"\u003e\u003ccode\u003e697d0ff\u003c/code\u003e\u003c/a\u003e docs: fix input validation typo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/759e66f8218b422ec76b35d0c8454eb5eb6291b1\"\u003e\u003ccode\u003e759e66f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6478\"\u003e#6478\u003c/a\u003e from Textualize/update-classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/3a3a76cd5754d44155c8ea6f6684d15837177c8c\"\u003e\u003ccode\u003e3a3a76c\u003c/code\u003e\u003c/a\u003e Added update flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/91c86a14ca523817b8e56f8b928cbf1a706f1123\"\u003e\u003ccode\u003e91c86a1\u003c/code\u003e\u003c/a\u003e Changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/27623a95efb5454fad63158858a4528e6c185fc5\"\u003e\u003ccode\u003e27623a9\u003c/code\u003e\u003c/a\u003e name change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/3decce56d9f5c157e641c5be5f59d00450effbd7\"\u003e\u003ccode\u003e3decce5\u003c/code\u003e\u003c/a\u003e leaner with sets\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/textual/compare/v8.0.2...v8.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest` from 9.0.2 to 9.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest/releases\"\u003epytest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.0.3\u003c/h2\u003e\n\u003ch1\u003epytest 9.0.3 (2026-04-07)\u003c/h1\u003e\n\u003ch2\u003eBug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/12444\"\u003e#12444\u003c/a\u003e: Fixed \u003ccode\u003epytest.approx\u003c/code\u003e which now correctly takes into account \u003ccode\u003e~collections.abc.Mapping\u003c/code\u003e keys order to compare them.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13634\"\u003e#13634\u003c/a\u003e: Blocking a \u003ccode\u003econftest.py\u003c/code\u003e file using the \u003ccode\u003e-p no:\u003c/code\u003e option is now explicitly disallowed.\u003c/p\u003e\n\u003cp\u003ePreviously this resulted in an internal assertion failure during plugin loading.\u003c/p\u003e\n\u003cp\u003ePytest now raises a clear \u003ccode\u003eUsageError\u003c/code\u003e explaining that conftest files are not plugins and cannot be disabled via \u003ccode\u003e-p\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13734\"\u003e#13734\u003c/a\u003e: Fixed crash when a test raises an exceptiongroup with \u003ccode\u003e__tracebackhide__ = True\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14195\"\u003e#14195\u003c/a\u003e: Fixed an issue where non-string messages passed to \u003c!-- raw HTML omitted --\u003eunittest.TestCase.subTest()\u003c!-- raw HTML omitted --\u003e were not printed.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14343\"\u003e#14343\u003c/a\u003e: Fixed use of insecure temporary directory (CVE-2025-71176).\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImproved documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13388\"\u003e#13388\u003c/a\u003e: Clarified documentation for \u003ccode\u003e-p\u003c/code\u003e vs \u003ccode\u003ePYTEST_PLUGINS\u003c/code\u003e plugin loading and fixed an incorrect \u003ccode\u003e-p\u003c/code\u003e example.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13731\"\u003e#13731\u003c/a\u003e: Clarified that capture fixtures (e.g. \u003ccode\u003ecapsys\u003c/code\u003e and \u003ccode\u003ecapfd\u003c/code\u003e) take precedence over the \u003ccode\u003e-s\u003c/code\u003e / \u003ccode\u003e--capture=no\u003c/code\u003e command-line options in \u003ccode\u003eAccessing captured output from a test function \u0026lt;accessing-captured-output\u0026gt;\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14088\"\u003e#14088\u003c/a\u003e: Clarified that the default \u003ccode\u003epytest_collection\u003c/code\u003e hook sets \u003ccode\u003esession.items\u003c/code\u003e before it calls \u003ccode\u003epytest_collection_finish\u003c/code\u003e, not after.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14255\"\u003e#14255\u003c/a\u003e: TOML integer log levels must be quoted: Updating reference documentation.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributor-facing changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/12689\"\u003e#12689\u003c/a\u003e: The test reports are now published to Codecov from GitHub Actions.\nThe test statistics is visible \u003ca href=\"https://app.codecov.io/gh/pytest-dev/pytest/tests\"\u003eon the web interface\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e-- by \u003ccode\u003ealeguy02\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/a7d58d7a21b78581e636bbbdea13c66ad1657c1e\"\u003e\u003ccode\u003ea7d58d7\u003c/code\u003e\u003c/a\u003e Prepare release version 9.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/089d98199c253d8f89a040243bc4f2aa6cd5ab22\"\u003e\u003ccode\u003e089d981\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14366\"\u003e#14366\u003c/a\u003e from bluetech/revert-14193-backport\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/8127eaf4ab7f6b2fdd0dc1b38343ec97aeef05ac\"\u003e\u003ccode\u003e8127eaf\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Fix: assertrepr_compare respects dict insertion order (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14050\"\u003e#14050\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14193\"\u003e#14193\u003c/a\u003e)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/99a7e6029e7a6e8d53e5df114b1346e035370241\"\u003e\u003ccode\u003e99a7e60\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14363\"\u003e#14363\u003c/a\u003e from pytest-dev/patchback/backports/9.0.x/95d8423bd...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/ddee02a578da30dd43aedc39c1c1f1aaadfcee95\"\u003e\u003ccode\u003eddee02a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14343\"\u003e#14343\u003c/a\u003e from bluetech/cve-2025-71176-simple\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/74eac6916fee34726cb194f16c516e96fbd29619\"\u003e\u003ccode\u003e74eac69\u003c/code\u003e\u003c/a\u003e doc: Update training info (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14298\"\u003e#14298\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14301\"\u003e#14301\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/f92dee777cfdb77d1c43633d02766ddf1f07c869\"\u003e\u003ccode\u003ef92dee7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14267\"\u003e#14267\u003c/a\u003e from pytest-dev/patchback/backports/9.0.x/d6fa26c62...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/7ee58acc8777c31ac6cf388d01addf5a414a7439\"\u003e\u003ccode\u003e7ee58ac\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/12378\"\u003e#12378\u003c/a\u003e from Pierre-Sassoulas/fix-implicit-str-concat-and-d...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/37da870d37e3a2f5177cae075c7b9ae279432bf8\"\u003e\u003ccode\u003e37da870\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14259\"\u003e#14259\u003c/a\u003e from mitre88/patch-4 (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14268\"\u003e#14268\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/c34bfa3b7acb65b594707c714f1d8461b0304eed\"\u003e\u003ccode\u003ec34bfa3\u003c/code\u003e\u003c/a\u003e Add explanation for string context diffs (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14257\"\u003e#14257\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14266\"\u003e#14266\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest/compare/9.0.2...9.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-cov` from 7.0.0 to 7.1.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest-cov/blob/master/CHANGELOG.rst\"\u003epytest-cov's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.1.0 (2026-03-21)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFixed total coverage computation to always be consistent, regardless of reporting settings.\nPreviously some reports could produce different total counts, and consequently can make --cov-fail-under behave different depending on\nreporting options.\nSee \u003ccode\u003e[#641](https://github.com/pytest-dev/pytest-cov/issues/641) \u0026lt;https://github.com/pytest-dev/pytest-cov/issues/641\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImprove handling of ResourceWarning from sqlite3.\u003c/p\u003e\n\u003cp\u003eThe plugin adds warning filter for sqlite3 \u003ccode\u003eResourceWarning\u003c/code\u003e unclosed database (since 6.2.0).\nIt checks if there is already existing plugin for this message by comparing filter regular expression.\nWhen filter is specified on command line the message is escaped and does not match an expected message.\nA check for an escaped regular expression is added to handle this case.\u003c/p\u003e\n\u003cp\u003eWith this fix one can suppress \u003ccode\u003eResourceWarning\u003c/code\u003e from sqlite3 from command line::\u003c/p\u003e\n\u003cp\u003epytest -W \u0026quot;ignore:unclosed database in \u0026lt;sqlite3.Connection object at:ResourceWarning\u0026quot; ...\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eVarious improvements to documentation.\nContributed by Art Pelling in \u003ccode\u003e[#718](https://github.com/pytest-dev/pytest-cov/issues/718) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/718\u0026gt;\u003c/code\u003e_ and\n\u0026quot;vivodi\u0026quot; in \u003ccode\u003e[#738](https://github.com/pytest-dev/pytest-cov/issues/738) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/738\u0026gt;\u003c/code\u003e\u003cem\u003e.\nAlso closed \u003ccode\u003e[#736](https://github.com/pytest-dev/pytest-cov/issues/736) \u0026lt;https://github.com/pytest-dev/pytest-cov/issues/736\u0026gt;\u003c/code\u003e\u003c/em\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed some assertions in tests.\nContributed by in Markéta Machová in \u003ccode\u003e[#722](https://github.com/pytest-dev/pytest-cov/issues/722) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/722\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemoved unnecessary coverage configuration copying (meant as a backup because reporting commands had configuration side-effects before coverage 5.0).\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/66c8a526b1246b5eb8fb1bc218878131bc628622\"\u003e\u003ccode\u003e66c8a52\u003c/code\u003e\u003c/a\u003e Bump version: 7.0.0 → 7.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/f7076624784332594aa4cb3585d4757d295db15e\"\u003e\u003ccode\u003ef707662\u003c/code\u003e\u003c/a\u003e Make the examples use pypy 3.11.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/6049a7847872e3139e6c82e93787123df5dc8672\"\u003e\u003ccode\u003e6049a78\u003c/code\u003e\u003c/a\u003e Make context test use the old ctracer (seems the new sysmon tracer behaves di...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/8ebf20bbbc73478b3f8fd36d30237d9ea083f06b\"\u003e\u003ccode\u003e8ebf20b\u003c/code\u003e\u003c/a\u003e Update changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/861d30e60d571f97259c6b718b71c819d5dbc3b9\"\u003e\u003ccode\u003e861d30e\u003c/code\u003e\u003c/a\u003e Remove the backup context manager  - shouldn't be needed since coverage 5.0, ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/fd4c956014035527f0c3c8d7faef3f8cfdadac7f\"\u003e\u003ccode\u003efd4c956\u003c/code\u003e\u003c/a\u003e Pass the precision on the nulled total (seems that there's some caching goion...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/78c9c4ecb005faf4962fd86ff7bf9c9cce9554d6\"\u003e\u003ccode\u003e78c9c4e\u003c/code\u003e\u003c/a\u003e Only run the 3.9 on older deps.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/4849a922e8be725c662a3d9175da571ace6545dc\"\u003e\u003ccode\u003e4849a92\u003c/code\u003e\u003c/a\u003e Punctuation.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/197c35e2f37031fd1927715307ab6eed7cb3d2b7\"\u003e\u003ccode\u003e197c35e\u003c/code\u003e\u003c/a\u003e Update changelog and hopefully I don't forget to publish release again :))\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/14dc1c92d44108384e39803888635fdbfc578b7f\"\u003e\u003ccode\u003e14dc1c9\u003c/code\u003e\u003c/a\u003e Update examples to use 3.11 and make the adhoc layout example look a bit more...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest-cov/compare/v7.0.0...v7.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `respx` from 0.22.0 to 0.23.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lundberg/respx/releases\"\u003erespx's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0.23.1\u003c/h2\u003e\n\u003ch2\u003e0.23.1 (8th April 2026)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix regression causing \u003ccode\u003eparams\u003c/code\u003e pattern to stop working under some conditions,\nby doing a strict detection of \u003ccode\u003eANY\u003c/code\u003e in multi items patterns (\u003ca href=\"https://redirect.github.com/lundberg/respx/issues/313\"\u003e#313\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate workflows actions (\u003ca href=\"https://redirect.github.com/lundberg/respx/issues/310\"\u003e#310\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 0.23.0\u003c/h2\u003e\n\u003ch2\u003e0.23.0 (7th April 2026)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003edata\u003c/code\u003e pattern with list value (\u003ca href=\"https://redirect.github.com/lundberg/respx/issues/264\"\u003e#264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix and enhance incorrect documentations about iterable side effects (\u003ca href=\"https://redirect.github.com/lundberg/respx/issues/287\"\u003e#287\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix documentation typo, thanks \u003ca href=\"https://github.com/markhobson\"\u003e\u003ccode\u003e@​markhobson\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/lundberg/respx/issues/298\"\u003e#298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix support for multiple slashes \u003ccode\u003e//\u003c/code\u003e in URL path by not using \u003ccode\u003eurljoin\u003c/code\u003e when\nprepending path, thanks \u003ca href=\"https://github.com/lewiscollard\"\u003e\u003ccode\u003e@​lewiscollard\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/Skeen\"\u003e\u003ccode\u003e@​Skeen\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/lundberg/respx/issues/302\"\u003e#302\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eType Route.respond json as \u003ccode\u003eAny\u003c/code\u003e to align with HTTPX, thanks \u003ca href=\"https://github.com/JacobHayes\"\u003e\u003ccode\u003e@​JacobHayes\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/lundberg/respx/issues/284\"\u003e#284\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eProperly handle \u003ccode\u003eANY\u003c/code\u003e in \u003ccode\u003eMuitiItems\u003c/code\u003e patterns (\u003ca href=\"https://redirect.github.com/lundberg/respx/issues/289\"\u003e#289\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix test warnings (\u003ca href=\"https://redirect.github.com/lundberg/respx/issues/267\"\u003e#267\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Python 3.14 to test matrix, thanks \u003ca href=\"https://github.com/carlosdorneles-mb\"\u003e\u003ccode\u003e@​carlosdorneles-mb\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/lundberg/respx/issues/300\"\u003e#300\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate nix flake, mypy target and workflows (\u003ca href=\"https://redirect.github.com/lundberg/respx/issues/306\"\u003e#306\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/lundberg/respx/issues/282\"\u003e#282\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/lundberg/respx/blob/master/CHANGELOG.md\"\u003erespx's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[0.23.1] - 2026-04-08\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix regression causing \u003ccode\u003eparams\u003c/code\u003e pattern to stop working under some conditions, by\ndoing a strict detection of \u003ccode\u003eANY\u003c/code\u003e in multi items patterns (\u003ca href=\"https://redirect.github.com/lundberg/respx/issues/313\"\u003e#313\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate workflows actions (\u003ca href=\"https://redirect.github.com/lundberg/respx/issues/310\"\u003e#310\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[0.23.0] - 2026-04-07\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003edata\u003c/code\u003e pattern with list value (\u003ca href=\"https://redirect.github.com/lundberg/respx/issues/264\"\u003e#264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix and enhance incorrect documentations about iterable side effects (\u003ca href=\"https://redirect.github.com/lundberg/respx/issues/287\"\u003e#287\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix documentation typo, thanks \u003ca href=\"https://github.com/markhobson\"\u003e\u003ccode\u003e@​markhobson\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/lundberg/respx/issues/298\"\u003e#...\n\n_Description has been truncated_","html_url":"https://github.com/wyattowalsh/nbadb/pull/32","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/wyattowalsh%2Fnbadb/issues/32","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/32/packages"}],"issue_packages":[{"old_version":"7.5.0","new_version":"8.2.8","update_type":"major","path":null,"pr_created_at":"2026-06-22T09:28:03.000Z","version_change":"7.5.0 → 8.2.8","issue":{"uuid":"4715269302","node_id":"PR_kwDORzZri87pGMdM","number":1049,"state":"open","title":"deps(pip): bump the pip-major group across 1 directory with 2 updates","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-22T09:28:03.000Z","updated_at":"2026-07-02T04:20:50.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(pip): bump","group_name":"pip-major","update_count":2,"packages":[{"name":"rich","old_version":"14.3.4","new_version":"15.0.0","repository_url":"https://github.com/Textualize/rich"},{"name":"textual","old_version":"7.5.0","new_version":"8.2.8","repository_url":"https://github.com/Textualize/textual"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pip-major group with 2 updates in the / directory: [rich](https://github.com/Textualize/rich) and [textual](https://github.com/Textualize/textual).\n\nUpdates `rich` from 14.3.4 to 15.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/rich/releases\"\u003erich's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eThe So Long 3.8 Release\u003c/h2\u003e\n\u003cp\u003eA few fixes. The major version bump is to honor the passing of 3.8 support which reached its EOL in October 7, 2024\u003c/p\u003e\n\u003ch2\u003e[15.0.0] - 2026-04-12\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBreaking change: Dropped support for Python3.8\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed empty print ignoring the \u003ccode\u003eend\u003c/code\u003e parameter \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/4075\"\u003eTextualize/rich#4075\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eText.from_ansi\u003c/code\u003e removing newlines \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/4076\"\u003eTextualize/rich#4076\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eFileProxy.isatty\u003c/code\u003e not proxying \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/4077\"\u003eTextualize/rich#4077\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed inline code in Markdown tables cells \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/4079\"\u003eTextualize/rich#4079\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/Textualize/rich/blob/main/CHANGELOG.md\"\u003erich's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[15.0.0] - 2026-04-12\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBreaking change: Dropped support for Python3.8\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed empty print ignoring the \u003ccode\u003eend\u003c/code\u003e parameter \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/4075\"\u003eTextualize/rich#4075\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eText.from_ansi\u003c/code\u003e removing newlines \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/4076\"\u003eTextualize/rich#4076\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eFileProxy.isatty\u003c/code\u003e not proxying \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/4077\"\u003eTextualize/rich#4077\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed inline code in Markdown tables cells \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/4079\"\u003eTextualize/rich#4079\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/Textualize/rich/commit/6ac483cbea39cab124dfd3483bba70ffafb71050\"\u003e\u003ccode\u003e6ac483c\u003c/code\u003e\u003c/a\u003e correction\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/458a9109c8b7da81c17b2270ea8a88f3e8c0465a\"\u003e\u003ccode\u003e458a910\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/4080\"\u003e#4080\u003c/a\u003e from Textualize/bump1500\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/82e06e0d9985fd8cce456dc3977e0d2d9e84b4d8\"\u003e\u003ccode\u003e82e06e0\u003c/code\u003e\u003c/a\u003e changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/d6556bc44881b9904f29f5d9d69a0812b30675d1\"\u003e\u003ccode\u003ed6556bc\u003c/code\u003e\u003c/a\u003e bump to 15.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/ffe2edc5968eac19d5493c2d7b27965031a692e9\"\u003e\u003ccode\u003effe2edc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/4079\"\u003e#4079\u003c/a\u003e from Textualize/inline-table-code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/cf3b5a16f7a76b2e8c4921d3314021bb72a6c5c1\"\u003e\u003ccode\u003ecf3b5a1\u003c/code\u003e\u003c/a\u003e changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/77f0edbdef71f2a895cd0ab1481e9a1fc79d42e6\"\u003e\u003ccode\u003e77f0edb\u003c/code\u003e\u003c/a\u003e remove comments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/7ef2d05ca8aa3cb405dab2fdf3282e69cf8089e3\"\u003e\u003ccode\u003e7ef2d05\u003c/code\u003e\u003c/a\u003e fix inline code in table cells\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/19c67b9a3479841e9133bea94607c89ee931d3fc\"\u003e\u003ccode\u003e19c67b9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/4077\"\u003e#4077\u003c/a\u003e from Textualize/isattry\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/494b795031782c694297d2db78bd04fb8c82f590\"\u003e\u003ccode\u003e494b795\u003c/code\u003e\u003c/a\u003e changelog\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/rich/compare/v14.3.4...v15.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `textual` from 7.5.0 to 8.2.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/textual/releases\"\u003etextual's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eThe more super release\u003c/h2\u003e\n\u003cp\u003eFixes for extended key processing, and a crash bug for clicking the screen padding area.\u003c/p\u003e\n\u003ch2\u003e[8.2.8] - 2026-06-30\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed parsing Kitty extended keys with multiple codepoints \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6592\"\u003eTextualize/textual#6592\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed crash when clicking in the Screen's padding \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6598\"\u003eTextualize/textual#6598\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esuper+backspace is now an alias for ctrl+u in Input and TextArea \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6594\"\u003eTextualize/textual#6594\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ealt+backspace (option+backspace on Mac) has the same effect as ctrl+backspace in Input and TextArea \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6593\"\u003eTextualize/textual#6593\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eThe more Kitty Release\u003c/h2\u003e\n\u003cp\u003eThis release adds additional support for the Kitty key protocol. Which enables some additional keys on some terminals. Additionally, Textual will report modifier keys as separate key events.\u003c/p\u003e\n\u003cp\u003eAdditionally there are a few more shortcuts to the Text Area.\u003c/p\u003e\n\u003cp\u003eThis release sponsored by Mistral AI. See release notes for detail.\u003c/p\u003e\n\u003ch2\u003e[8.2.7] - 2026-05-19\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Kitty key protocol \u0026quot;Report all keys as escape codes\u0026quot; which enabled alt+backspace on Warp \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6544\"\u003eTextualize/textual#6544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded support for detecting separate modifier keys for terminals that support the Kitty key protocol \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6544\"\u003eTextualize/textual#6544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eTEXTUAL_DISABLE_KITTY_KEY\u003c/code\u003e env var to disable Kitty key protocol support (debug aid). \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6544\"\u003eTextualize/textual#6544\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUndo/redo/copy/cut/paste in TextArea will now work with cmd+ on supported terminals \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6543\"\u003eTextualize/textual#6543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIn TextArea, ctrl+u will now delete a newline if the cursor is at the start \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6543\"\u003eTextualize/textual#6543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ein TextArea alt+delete is now bound to delete word right \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6543\"\u003eTextualize/textual#6543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eText opacity applied to an ansi theme will now set the dim attribute if the opacity is \u0026lt; 50% \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6546\"\u003eTextualize/textual#6546\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eThe more selective release\u003c/h2\u003e\n\u003cp\u003eImproved text select logic. You can select text without first clicking on a content area.\u003c/p\u003e\n\u003cp\u003eMay break snapshots without affecting appearance.\u003c/p\u003e\n\u003ch2\u003e[8.2.6] - 2026-04-13\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed selection to the right of code fence blocks (may break some snapshots)\u003c/li\u003e\n\u003cli\u003eFixed Markdown code fences losing content when switching themes \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6537\"\u003eTextualize/textual#6537\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/textual/blob/main/CHANGELOG.md\"\u003etextual's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[8.2.8] - 2026-06-30\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed parsing Kitty extended keys with multiple codepoints \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6592\"\u003eTextualize/textual#6592\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed crash when clicking in the Screen's padding \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6598\"\u003eTextualize/textual#6598\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esuper+backspace is now an alias for ctrl+u in Input and TextArea \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6594\"\u003eTextualize/textual#6594\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ealt+backspace (option+backspace on Mac) has the same effect as ctrl+backspace in Input and TextArea \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6593\"\u003eTextualize/textual#6593\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.7] - 2026-05-19\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Kitty key protocol \u0026quot;Report all keys as escape codes\u0026quot; which enabled alt+backspace on Warp \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6544\"\u003eTextualize/textual#6544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded support for detecting separate modifier keys for terminals that support the Kitty key protocol \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6544\"\u003eTextualize/textual#6544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eTEXTUAL_DISABLE_KITTY_KEY\u003c/code\u003e env var to disable Kitty key protocol support (debug aid). \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6544\"\u003eTextualize/textual#6544\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUndo/redo/copy/cut/paste in TextArea will now work with cmd+ on supported terminals \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6543\"\u003eTextualize/textual#6543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIn TextArea, ctrl+u will now delete a newline if the cursor is at the start \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6543\"\u003eTextualize/textual#6543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ein TextArea alt+delete is now bound to delete word right \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6543\"\u003eTextualize/textual#6543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eText opacity applied to an ansi theme will now set the dim attribute if the opacity is \u0026lt; 50% \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6546\"\u003eTextualize/textual#6546\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed text opacity with ANSI themes creating RGB colors.  \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6546\"\u003eTextualize/textual#6546\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.6] - 2026-05-13\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed selection to the right of code fence blocks (may break some snapshots)\u003c/li\u003e\n\u003cli\u003eFixed Markdown code fences losing content when switching themes \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6537\"\u003eTextualize/textual#6537\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded ability to select outside of text, so the user doesn't need to be quite so precise \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6523\"\u003eTextualize/textual#6523\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.5] - 2026-04-30\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eTwo new themes: \u0026quot;ansi-dark\u0026quot; and \u0026quot;ansi-light\u0026quot; \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded an \u003ccode\u003eansi\u003c/code\u003e value to themes \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/1d99508b928a771b51e1a527319c6b87dcff9e05\"\u003e\u003ccode\u003e1d99508\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6609\"\u003e#6609\u003c/a\u003e from Textualize/bump828\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/ab36ccc741a7f6d1d10b12e1eafd8fedaa515df1\"\u003e\u003ccode\u003eab36ccc\u003c/code\u003e\u003c/a\u003e Bump 8.2.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/da5b7aa98717289207270ed6c9fcd68c78e54c17\"\u003e\u003ccode\u003eda5b7aa\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6598\"\u003e#6598\u003c/a\u003e from Textualize/screen-padding\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/77e25d59d8c1e50d1228bbec54f1fdc8f2a3e10b\"\u003e\u003ccode\u003e77e25d5\u003c/code\u003e\u003c/a\u003e changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/4e592bfc7bf1d0412d0df6dabee40347b523e1b8\"\u003e\u003ccode\u003e4e592bf\u003c/code\u003e\u003c/a\u003e snapshots\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/e02c6cc01461d93141e9ef5dac5a6f029c6ef616\"\u003e\u003ccode\u003ee02c6cc\u003c/code\u003e\u003c/a\u003e fix screen padding crash\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/8ce58dc0287e6247f25096c3a1a7349a411cc485\"\u003e\u003ccode\u003e8ce58dc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6592\"\u003e#6592\u003c/a\u003e from Textualize/kitty-codepoints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/fec10399fab3c75f14d36d0faa01589b8ae13408\"\u003e\u003ccode\u003efec1039\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into kitty-codepoints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/aea9d4b5529841757aead36670a8a7f75aa61ed9\"\u003e\u003ccode\u003eaea9d4b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6594\"\u003e#6594\u003c/a\u003e from Textualize/super-backspace\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/64c1f8b401889628ec40b8ea1afd67a298773831\"\u003e\u003ccode\u003e64c1f8b\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into super-backspace\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/textual/compare/v7.5.0...v8.2.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n","html_url":"https://github.com/hashgraph-online/hol-guard/pull/1049","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/hashgraph-online%2Fhol-guard/issues/1049","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1049/packages"}},{"old_version":"8.2.6","new_version":"8.2.7","update_type":"patch","path":"/libs/cli","pr_created_at":"2026-06-14T18:23:41.000Z","version_change":"8.2.6 → 8.2.7","issue":{"uuid":"4660143493","node_id":"PR_kwDORoD75c7mSWXu","number":130,"state":"closed","title":"chore(deps): bump the minor-and-patch group in /libs/cli with 36 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-06-14T18:28:21.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-14T18:23:41.000Z","updated_at":"2026-06-14T18:28:23.000Z","time_to_close":280,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"minor-and-patch","update_count":36,"packages":[{"name":"langchain","old_version":"1.3.1","new_version":"1.3.9","repository_url":"https://github.com/langchain-ai/langchain"},{"name":"langgraph","old_version":"1.2.0","new_version":"1.2.5","repository_url":"https://github.com/langchain-ai/langgraph"},{"name":"langgraph-sdk","old_version":"0.3.14","new_version":"0.4.2","repository_url":"https://github.com/langchain-ai/langgraph"},{"name":"langchain-openai","old_version":"1.2.1","new_version":"1.3.2","repository_url":"https://github.com/langchain-ai/langchain"},{"name":"langsmith","old_version":"0.8.5","new_version":"0.8.15","repository_url":"https://github.com/langchain-ai/langsmith-sdk"},{"name":"textual","old_version":"8.2.6","new_version":"8.2.7","repository_url":"https://github.com/Textualize/textual"},{"name":"uuid-utils","old_version":"0.15.0","new_version":"0.16.0","repository_url":"https://github.com/aminalaee/uuid-utils"},{"name":"langchain-mcp-adapters","old_version":"0.2.2","new_version":"0.3.0","repository_url":"https://github.com/langchain-ai/langchain-mcp-adapters"},{"name":"pyjwt","old_version":"2.12.1","new_version":"2.13.0","repository_url":"https://github.com/jpadilla/pyjwt"},{"name":"python-multipart","old_version":"0.0.29","new_version":"0.0.32","repository_url":"https://github.com/Kludex/python-multipart"},{"name":"langchain-anthropic","old_version":"1.4.3","new_version":"1.4.6","repository_url":"https://github.com/langchain-ai/langchain"},{"name":"langchain-aws","old_version":"1.4.7","new_version":"1.5.1","repository_url":"https://github.com/langchain-ai/langchain-aws"},{"name":"langchain-cohere","old_version":"0.5.1","new_version":"0.6.0","repository_url":"https://github.com/langchain-ai/langchain-cohere"},{"name":"langchain-deepseek","old_version":"1.0.1","new_version":"1.1.0","repository_url":"https://github.com/langchain-ai/langchain"},{"name":"langchain-google-genai","old_version":"4.2.2","new_version":"4.2.5","repository_url":"https://github.com/langchain-ai/langchain-google"},{"name":"langchain-groq","old_version":"1.1.2","new_version":"1.1.3","repository_url":"https://github.com/langchain-ai/langchain"},{"name":"langchain-ibm","old_version":"1.0.10","new_version":"1.1.0","repository_url":"https://github.com/langchain-ai/langchain-ibm"},{"name":"langchain-litellm","old_version":"0.6.5","new_version":"0.6.6","repository_url":"https://github.com/langchain-ai/langchain-litellm"},{"name":"langchain-mistralai","old_version":"1.1.4","new_version":"1.1.5","repository_url":"https://github.com/langchain-ai/langchain"},{"name":"langchain-nvidia-ai-endpoints","old_version":"1.3.0","new_version":"1.4.1","repository_url":"https://github.com/langchain-ai/langchain-nvidia"},{"name":"langchain-perplexity","old_version":"1.2.0","new_version":"1.4.0","repository_url":"https://github.com/langchain-ai/langchain"},{"name":"langchain-google-vertexai","old_version":"3.2.3","new_version":"3.2.4","repository_url":"https://github.com/langchain-ai/langchain-google"},{"name":"daytona","old_version":"0.176.0","new_version":"0.187.0"},{"name":"modal","old_version":"1.4.2","new_version":"1.5.0","repository_url":"https://github.com/modal-labs/modal-client"},{"name":"runloop-api-client","old_version":"1.21.0","new_version":"1.23.2","repository_url":"https://github.com/runloopai/api-client-python"},{"name":"tavily-python","old_version":"0.7.24","new_version":"0.7.26","repository_url":"https://github.com/tavily-ai/tavily-python"},{"name":"ruff","old_version":"0.15.13","new_version":"0.15.17","repository_url":"https://github.com/astral-sh/ruff"},{"name":"ty","old_version":"0.0.37","new_version":"0.0.49","repository_url":"https://github.com/astral-sh/ty"},{"name":"pytest","old_version":"9.0.3","new_version":"9.1.0","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"pytest-asyncio","old_version":"1.3.0","new_version":"1.4.0","repository_url":"https://github.com/pytest-dev/pytest-asyncio"},{"name":"pytest-socket","old_version":"0.7.0","new_version":"0.8.0","repository_url":"https://github.com/miketheman/pytest-socket"},{"name":"responses","old_version":"0.26.0","new_version":"0.26.1","repository_url":"https://github.com/getsentry/responses"},{"name":"langchain-core","old_version":"1.4.0","new_version":"1.4.7","repository_url":"https://github.com/langchain-ai/langchain"},{"name":"starlette","old_version":"1.2.1","new_version":"1.3.1","repository_url":"https://github.com/Kludex/starlette"},{"name":"uvicorn","old_version":"0.47.0","new_version":"0.49.0","repository_url":"https://github.com/Kludex/uvicorn"},{"name":"agent-client-protocol","old_version":"0.10.0","new_version":"0.10.1","repository_url":"https://github.com/agentclientprotocol/python-sdk"}],"path":"/libs/cli","ecosystem":"pip"},"body":"Bumps the minor-and-patch group in /libs/cli with 36 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [langchain](https://github.com/langchain-ai/langchain) | `1.3.1` | `1.3.9` |\n| [langgraph](https://github.com/langchain-ai/langgraph) | `1.2.0` | `1.2.5` |\n| [langgraph-sdk](https://github.com/langchain-ai/langgraph) | `0.3.14` | `0.4.2` |\n| [langchain-openai](https://github.com/langchain-ai/langchain) | `1.2.1` | `1.3.2` |\n| [langsmith](https://github.com/langchain-ai/langsmith-sdk) | `0.8.5` | `0.8.15` |\n| [textual](https://github.com/Textualize/textual) | `8.2.6` | `8.2.7` |\n| [uuid-utils](https://github.com/aminalaee/uuid-utils) | `0.15.0` | `0.16.0` |\n| [langchain-mcp-adapters](https://github.com/langchain-ai/langchain-mcp-adapters) | `0.2.2` | `0.3.0` |\n| [pyjwt](https://github.com/jpadilla/pyjwt) | `2.12.1` | `2.13.0` |\n| [python-multipart](https://github.com/Kludex/python-multipart) | `0.0.29` | `0.0.32` |\n| [langchain-anthropic](https://github.com/langchain-ai/langchain) | `1.4.3` | `1.4.6` |\n| [langchain-aws](https://github.com/langchain-ai/langchain-aws) | `1.4.7` | `1.5.1` |\n| [langchain-cohere](https://github.com/langchain-ai/langchain-cohere) | `0.5.1` | `0.6.0` |\n| [langchain-deepseek](https://github.com/langchain-ai/langchain) | `1.0.1` | `1.1.0` |\n| [langchain-google-genai](https://github.com/langchain-ai/langchain-google) | `4.2.2` | `4.2.5` |\n| [langchain-groq](https://github.com/langchain-ai/langchain) | `1.1.2` | `1.1.3` |\n| [langchain-ibm](https://github.com/langchain-ai/langchain-ibm) | `1.0.10` | `1.1.0` |\n| [langchain-litellm](https://github.com/langchain-ai/langchain-litellm) | `0.6.5` | `0.6.6` |\n| [langchain-mistralai](https://github.com/langchain-ai/langchain) | `1.1.4` | `1.1.5` |\n| [langchain-nvidia-ai-endpoints](https://github.com/langchain-ai/langchain-nvidia) | `1.3.0` | `1.4.1` |\n| [langchain-perplexity](https://github.com/langchain-ai/langchain) | `1.2.0` | `1.4.0` |\n| [langchain-google-vertexai](https://github.com/langchain-ai/langchain-google) | `3.2.3` | `3.2.4` |\n| daytona | `0.176.0` | `0.187.0` |\n| [modal](https://github.com/modal-labs/modal-client) | `1.4.2` | `1.5.0` |\n| [runloop-api-client](https://github.com/runloopai/api-client-python) | `1.21.0` | `1.23.2` |\n| [tavily-python](https://github.com/tavily-ai/tavily-python) | `0.7.24` | `0.7.26` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.15.13` | `0.15.17` |\n| [ty](https://github.com/astral-sh/ty) | `0.0.37` | `0.0.49` |\n| [pytest](https://github.com/pytest-dev/pytest) | `9.0.3` | `9.1.0` |\n| [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) | `1.3.0` | `1.4.0` |\n| [pytest-socket](https://github.com/miketheman/pytest-socket) | `0.7.0` | `0.8.0` |\n| [responses](https://github.com/getsentry/responses) | `0.26.0` | `0.26.1` |\n| [langchain-core](https://github.com/langchain-ai/langchain) | `1.4.0` | `1.4.7` |\n| [starlette](https://github.com/Kludex/starlette) | `1.2.1` | `1.3.1` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.47.0` | `0.49.0` |\n| [agent-client-protocol](https://github.com/agentclientprotocol/python-sdk) | `0.10.0` | `0.10.1` |\n\nUpdates `langchain` from 1.3.1 to 1.3.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/langchain-ai/langchain/releases\"\u003elangchain's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003elangchain==1.3.9\u003c/h2\u003e\n\u003cp\u003eChanges since langchain==1.3.8\u003c/p\u003e\n\u003cp\u003erelease(anthropic): 1.4.6 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/38105\"\u003e#38105\u003c/a\u003e)\nrelease(langchain): 1.3.9 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/38104\"\u003e#38104\u003c/a\u003e)\nfix(langchain,anthropic): confine file-search results and tighten anthropic \u003ccode\u003eallowed_prefixes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/38106\"\u003e#38106\u003c/a\u003e)\u003c/p\u003e\n\u003ch2\u003elangchain==1.3.8\u003c/h2\u003e\n\u003cp\u003eChanges since langchain==1.3.7\u003c/p\u003e\n\u003cp\u003erelease(langchain): 1.3.8 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/38096\"\u003e#38096\u003c/a\u003e)\nstyle(core,langchain,langchain-classic,partners): replace double backticks in docstrings (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/38095\"\u003e#38095\u003c/a\u003e)\nrelease(core): 1.4.6 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/38061\"\u003e#38061\u003c/a\u003e)\nchore(langchain): add overloads to \u003ccode\u003ecreate_agent\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/34309\"\u003e#34309\u003c/a\u003e)\nchore(infra): bump mypy to 2.1 and unify type-check config across the monorepo (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/36470\"\u003e#36470\u003c/a\u003e)\nfix(langchain): support async middleware decorator typing (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/34584\"\u003e#34584\u003c/a\u003e)\nfix(langchain): tighten structured output model fallbacks (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/38042\"\u003e#38042\u003c/a\u003e)\nrelease(anthropic): 1.4.5 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/38036\"\u003e#38036\u003c/a\u003e)\nhotfix(core): bump lockfile(s) (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/38032\"\u003e#38032\u003c/a\u003e)\nrefactor(langchain): refactor \u003ccode\u003etest_create_agent_tool_validation\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/34443\"\u003e#34443\u003c/a\u003e)\u003c/p\u003e\n\u003ch2\u003elangchain==1.3.7\u003c/h2\u003e\n\u003cp\u003eChanges since langchain==1.3.6\u003c/p\u003e\n\u003cp\u003erelease(langchain): 1.3.7 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/38024\"\u003e#38024\u003c/a\u003e)\nstyle(langchain): add ruff rules ARG (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/34435\"\u003e#34435\u003c/a\u003e)\nfeat(langchain): add \u003ccode\u003eProviderToolSearchMiddleware\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/37969\"\u003e#37969\u003c/a\u003e)\nchore(langchain): activate mypy \u003ccode\u003ewarn_return_any\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/34249\"\u003e#34249\u003c/a\u003e)\ntest(langchain): mark legacy trigger view for 2.0 removal (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/38002\"\u003e#38002\u003c/a\u003e)\u003c/p\u003e\n\u003ch2\u003elangchain==1.3.6\u003c/h2\u003e\n\u003cp\u003eChanges since langchain==1.3.5\u003c/p\u003e\n\u003cp\u003erelease(langchain): 1.3.6 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/38001\"\u003e#38001\u003c/a\u003e)\nfix(langchain): preserve summarization trigger compatibility (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/38000\"\u003e#38000\u003c/a\u003e)\u003c/p\u003e\n\u003ch2\u003elangchain==1.3.5\u003c/h2\u003e\n\u003cp\u003eChanges since langchain==1.3.4\u003c/p\u003e\n\u003cp\u003erelease(langchain): 1.3.5 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/37998\"\u003e#37998\u003c/a\u003e)\nfeat(langchain): port AND-capable trigger conditions to \u003ccode\u003eSummarizationMiddleware\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/34576\"\u003e#34576\u003c/a\u003e)\nhotfix(openai): min core dep (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/37990\"\u003e#37990\u003c/a\u003e)\nfeat(openai): support \u003ccode\u003eapply_patch\u003c/code\u003e built-in tool (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/37157\"\u003e#37157\u003c/a\u003e)\nchore: bump pyarrow from 21.0.0 to 23.0.1 in /libs/langchain_v1 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/37930\"\u003e#37930\u003c/a\u003e)\nchore: bump dependencies  (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/37892\"\u003e#37892\u003c/a\u003e)\nchore: bump aiohttp from 3.13.4 to 3.14.0 in /libs/langchain_v1 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/37888\"\u003e#37888\u003c/a\u003e)\u003c/p\u003e\n\u003ch2\u003elangchain==1.3.4\u003c/h2\u003e\n\u003cp\u003eChanges since langchain==1.3.3\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/langchain-ai/langchain/commit/3bfb6a33e788aaca1626a7c09cbdbdbef6977012\"\u003e\u003ccode\u003e3bfb6a3\u003c/code\u003e\u003c/a\u003e release(langchain): 1.3.9 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/38104\"\u003e#38104\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/dcaf7795a3e6590af55c3ff7bda6add6355e9ea6\"\u003e\u003ccode\u003edcaf779\u003c/code\u003e\u003c/a\u003e fix(langchain,anthropic): confine file-search results and tighten anthropic `...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/0392b6bae4bdfc0b7ed5aeb2e9e414bbb7ea643b\"\u003e\u003ccode\u003e0392b6b\u003c/code\u003e\u003c/a\u003e fix(core): fix Pydantic v1 support in tools/runnable (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/33698\"\u003e#33698\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/f6d63bc9f344b2949e91a6904d301553376b4f10\"\u003e\u003ccode\u003ef6d63bc\u003c/code\u003e\u003c/a\u003e release(langchain): 1.3.8 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/38096\"\u003e#38096\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/5d20596d73789020f53c622b22c0a9893ba09606\"\u003e\u003ccode\u003e5d20596\u003c/code\u003e\u003c/a\u003e style(core,langchain,langchain-classic,partners): replace double backticks in...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/fb55c6660a2ac26038a64dac1534048294bc51ab\"\u003e\u003ccode\u003efb55c66\u003c/code\u003e\u003c/a\u003e chore: bump langsmith from 0.8.9 to 0.8.14 in /libs/partners/huggingface (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/38\"\u003e#38\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/51daae5c139712f6f1347b5a801f672680ba1eba\"\u003e\u003ccode\u003e51daae5\u003c/code\u003e\u003c/a\u003e chore: bump langsmith from 0.8.9 to 0.8.14 in /libs/partners/chroma (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/38092\"\u003e#38092\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/70e9579e433043321fb8e93a8a51770c946363d0\"\u003e\u003ccode\u003e70e9579\u003c/code\u003e\u003c/a\u003e chore: bump langsmith from 0.8.9 to 0.8.14 in /libs/partners/fireworks (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/38093\"\u003e#38093\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/6c0e9af3246e3bbf98838e4b9ec563ad563dd748\"\u003e\u003ccode\u003e6c0e9af\u003c/code\u003e\u003c/a\u003e chore: bump langsmith from 0.8.9 to 0.8.14 in /libs/partners/xai (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/38094\"\u003e#38094\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/222dc846e0e965a0d6764d772226590eec14b917\"\u003e\u003ccode\u003e222dc84\u003c/code\u003e\u003c/a\u003e ci(infra): clarify early PR auto-close guidance (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/38090\"\u003e#38090\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/langchain-ai/langchain/compare/langchain==1.3.1...langchain==1.3.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `langgraph` from 1.2.0 to 1.2.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/langchain-ai/langgraph/releases\"\u003elanggraph's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003elanggraph==1.2.5\u003c/h2\u003e\n\u003cp\u003eChanges since 1.2.4\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003erelease(langgraph): 1.2.5 (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/8062\"\u003e#8062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(langgraph): merge \u003ccode\u003elc_versions\u003c/code\u003e config metadata (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/8052\"\u003e#8052\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erelease(cli): 0.4.28 (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/8041\"\u003e#8041\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: updateState bug for deltaChannel on empty thread (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/8011\"\u003e#8011\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: migrate Python type checking to ty (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/8002\"\u003e#8002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump types-requests from 2.33.0.20260408 to 2.33.0.20260518 in /libs/langgraph (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7977\"\u003e#7977\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): bump the minor-and-patch group in /libs/langgraph with 14 updates (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7975\"\u003e#7975\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003elanggraph==1.2.4\u003c/h2\u003e\n\u003cp\u003eChanges since 1.2.3\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003erelease(langgraph): 1.2.4 (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7991\"\u003e#7991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest(sdk-py): add factory-graph integration test exercising the server factory path (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7978\"\u003e#7978\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(langgraph): keep _on_started backward-compatible with overrides predating cause (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7987\"\u003e#7987\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003elanggraph==1.2.3\u003c/h2\u003e\n\u003cp\u003eChanges since 1.2.2\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003erelease(langgraph): 1.2.3 (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7945\"\u003e#7945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(langgraph): wire RemoteGraph.interleave to sdk-py interleave_projections (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7938\"\u003e#7938\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(langgraph): add v3 streaming support to RemoteGraph (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7927\"\u003e#7927\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(langgraph): name tool-dispatched subagents via lc_agent_name (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7928\"\u003e#7928\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(langgraph): rename ProtocolEvent.eventId to event_id to match the wire field (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7942\"\u003e#7942\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(langgraph): merge instead of overwrite in ensure_config for callbacks, tags, metadata, configurable (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7926\"\u003e#7926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(langgraph): [LSD-1507] Distinguish between user cancelled and other cancellations (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7920\"\u003e#7920\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(cli): bump api bound to 0.10.0 (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7922\"\u003e#7922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(sdk-py): add websocket stream transports (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7830\"\u003e#7830\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(sdk-py): add messages and tool call projections (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7823\"\u003e#7823\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(sdk-py): add v3 streaming primitives and SSE transport (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7818\"\u003e#7818\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003elanggraph==1.2.2\u003c/h2\u003e\n\u003cp\u003eChanges since 1.2.1\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003echore(langgraph): bump version to 1.2.2 (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7914\"\u003e#7914\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(langgraph): assign stable IDs to id=None BaseMessages before DeltaChannel checkpoint writes (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7913\"\u003e#7913\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erelease(checkpoint): 4.1.1 (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7890\"\u003e#7890\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003elanggraph==1.2.1\u003c/h2\u003e\n\u003cp\u003eChanges since 1.2.0\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003erelease(langgraph): 1.2.1 (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7883\"\u003e#7883\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(langgraph): add \u003ccode\u003ebefore_builtins\u003c/code\u003e opt-in for stream transformers (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7882\"\u003e#7882\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): bump idna from 3.11 to 3.15 in /libs/langgraph (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7866\"\u003e#7866\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(langgraph): keep tool results out of v3 messages (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7838\"\u003e#7838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): bump langsmith from 0.7.31 to 0.8.0 in /libs/langgraph (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7788\"\u003e#7788\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/langchain-ai/langgraph/commit/7ab79f9f3e94fb4357334d902f5fd69ec0088eb4\"\u003e\u003ccode\u003e7ab79f9\u003c/code\u003e\u003c/a\u003e release(langgraph): 1.2.5 (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/8062\"\u003e#8062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langgraph/commit/385033fd9cfc356a0ed9028bef53f5490e9c0939\"\u003e\u003ccode\u003e385033f\u003c/code\u003e\u003c/a\u003e fix(langgraph): merge \u003ccode\u003elc_versions\u003c/code\u003e config metadata (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/8052\"\u003e#8052\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langgraph/commit/93307d6a427d7f15bcba3264f3774d07af7d7dca\"\u003e\u003ccode\u003e93307d6\u003c/code\u003e\u003c/a\u003e release(cli): 0.4.29 (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/8046\"\u003e#8046\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langgraph/commit/e05ba2965db5373c14ada7ddb3740d9b59a28206\"\u003e\u003ccode\u003ee05ba29\u003c/code\u003e\u003c/a\u003e feat(cli): add support for passing certfile and cert key to run dev server un...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langgraph/commit/f0e814796be5e4a27f58a6979064ba35fb39bcf1\"\u003e\u003ccode\u003ef0e8147\u003c/code\u003e\u003c/a\u003e release(cli): 0.4.28 (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/8041\"\u003e#8041\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langgraph/commit/d57a74f950b87bfb9cb51240cc8dccf34b5edfaa\"\u003e\u003ccode\u003ed57a74f\u003c/code\u003e\u003c/a\u003e fix: updateState bug for deltaChannel on empty thread (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/8011\"\u003e#8011\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langgraph/commit/6f83cc9dc2a24c7884ae7da20c9f39f469be35d7\"\u003e\u003ccode\u003e6f83cc9\u003c/code\u003e\u003c/a\u003e chore(deps): bump starlette from 1.0.0 to 1.0.1 in /libs/cli (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/8005\"\u003e#8005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langgraph/commit/2ae62c6f870660deb620d7008035f9c4848bfc58\"\u003e\u003ccode\u003e2ae62c6\u003c/code\u003e\u003c/a\u003e chore(deps-dev): bump starlette from 1.0.0 to 1.0.1 in /libs/sdk-py (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/8006\"\u003e#8006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langgraph/commit/2b1abc807b282245211f5ba8f292aaf3e24f1e07\"\u003e\u003ccode\u003e2b1abc8\u003c/code\u003e\u003c/a\u003e chore: migrate Python type checking to ty (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/8002\"\u003e#8002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langgraph/commit/43682f0830f312822f18206dfa18c599becbff38\"\u003e\u003ccode\u003e43682f0\u003c/code\u003e\u003c/a\u003e chore(deps): bump the minor-and-patch group in /libs/cli with 4 updates (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7962\"\u003e#7962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/langchain-ai/langgraph/compare/1.2.0...1.2.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `langgraph-sdk` from 0.3.14 to 0.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/langchain-ai/langgraph/releases\"\u003elanggraph-sdk's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003elanggraph-sdk==0.4.2\u003c/h2\u003e\n\u003cp\u003eChanges since sdk==0.4.1\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003erelease(sdk-py): 0.4.2 (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7955\"\u003e#7955\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(sdk-py): percent-encode thread_id in v3 stream transport default paths (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7954\"\u003e#7954\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003elanggraph-sdk==0.4.1\u003c/h2\u003e\n\u003cp\u003eChanges since sdk==0.4.0\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003erelease(sdk-py): 0.4.1 (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7944\"\u003e#7944\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(sdk-py): extract stream decoders and add interleave_projections (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7935\"\u003e#7935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(langgraph): add v3 streaming support to RemoteGraph (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7927\"\u003e#7927\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(sdk-py): make \u003ccode\u003etools_agent\u003c/code\u003e fake model stateless (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7930\"\u003e#7930\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003elanggraph-sdk==0.4.0\u003c/h2\u003e\n\u003cp\u003eChanges since sdk==0.3.15\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003erelease(sdk-py): 0.4.0 (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7923\"\u003e#7923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(sdk-py): add thread stream helpers (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7833\"\u003e#7833\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(sdk-py): wire websocket stream selection (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7832\"\u003e#7832\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(sdk-py): add websocket stream transports (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7830\"\u003e#7830\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(sdk-py): harden streaming reconnects (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7829\"\u003e#7829\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(sdk-py): add sync scoped subgraphs (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7828\"\u003e#7828\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(sdk-py): add sync messages and tool calls (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7827\"\u003e#7827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(sdk-py): add sync thread stream core (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7826\"\u003e#7826\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(sdk-py): add async stream reconnect support (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7825\"\u003e#7825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(sdk-py): add scoped subgraph handles (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7824\"\u003e#7824\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(sdk-py): add messages and tool call projections (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7823\"\u003e#7823\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(sdk-py): add output, values, and controller extraction (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7822\"\u003e#7822\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(sdk-py): wire lifecycle state and output prerequisites (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7821\"\u003e#7821\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(sdk-py): add shared stream subscriptions (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7820\"\u003e#7820\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(sdk-py): add async thread stream skeleton (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7819\"\u003e#7819\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(sdk-py): add v3 streaming primitives and SSE transport (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7818\"\u003e#7818\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(langgraph): bump version to 1.2.2 (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7914\"\u003e#7914\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003elanggraph-sdk==0.3.15\u003c/h2\u003e\n\u003cp\u003eChanges since sdk==0.3.14\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003erelease(checkpoint): 4.1.1 (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7890\"\u003e#7890\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erelease(sdk-py): 0.3.15 (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7891\"\u003e#7891\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(sdk-py): percent-encode caller-supplied identifiers in URL paths (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7893\"\u003e#7893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erelease(langgraph): 1.2.1 (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7883\"\u003e#7883\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): bump idna from 3.11 to 3.15 in /libs/sdk-py (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7863\"\u003e#7863\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): bump urllib3 from 2.6.3 to 2.7.0 in /libs/sdk-py (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7764\"\u003e#7764\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): bump langsmith from 0.7.31 to 0.8.0 in /libs/sdk-py (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7789\"\u003e#7789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erelease: bump alpha packages to official versions (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7775\"\u003e#7775\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(langgraph): bump langchain-core to 1.4.0 (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7767\"\u003e#7767\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(sdk-py): support metadata filter for crons search/count (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7737\"\u003e#7737\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): bump ty from 0.0.23 to 0.0.33 in /libs/sdk-py (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/7666\"\u003e#7666\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/langchain-ai/langgraph/commit/4aeaffef4e0d14de09fa4e34636372cb01992c6a\"\u003e\u003ccode\u003e4aeaffe\u003c/code\u003e\u003c/a\u003e 0.4.2 (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/4570\"\u003e#4570\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langgraph/commit/f1bfd6051a7a3e840c3a9ddc437a2e7f14dd41c8\"\u003e\u003ccode\u003ef1bfd60\u003c/code\u003e\u003c/a\u003e update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langgraph/commit/998be75f3430d87f5fa361c790b41ae8314fc64e\"\u003e\u003ccode\u003e998be75\u003c/code\u003e\u003c/a\u003e langgraph: decouple name from assistant ID in RemoteGraph\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langgraph/commit/365dd5f459e2bd9f4fcf38805837fc8cf9356869\"\u003e\u003ccode\u003e365dd5f\u003c/code\u003e\u003c/a\u003e sdk-py: Prefix private functions in sdk with _\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langgraph/commit/0e61cc2cf6100e0e053614bc2c5dcdeec04b07a8\"\u003e\u003ccode\u003e0e61cc2\u003c/code\u003e\u003c/a\u003e prebuilt: remove state_modifier (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/4439\"\u003e#4439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langgraph/commit/a0a302dec50af869c07851210f3a9dd77200e8a0\"\u003e\u003ccode\u003ea0a302d\u003c/code\u003e\u003c/a\u003e prebuilt: switch to executing parallel tool calls via Send by default (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/4438\"\u003e#4438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langgraph/commit/4e05db85374a652c8ddfa26b9adb9ff638fce581\"\u003e\u003ccode\u003e4e05db8\u003c/code\u003e\u003c/a\u003e Release checkpoint-sqlite (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/4509\"\u003e#4509\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langgraph/commit/d6e20e6d093a4fe53cb04afa5af8a5b3d3b8ef31\"\u003e\u003ccode\u003ed6e20e6\u003c/code\u003e\u003c/a\u003e Add missing 'running' RunStatus (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/4508\"\u003e#4508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langgraph/commit/fcd06acd3365aa2c7ba5091349a6f850aedd09c4\"\u003e\u003ccode\u003efcd06ac\u003c/code\u003e\u003c/a\u003e Add support for specifying a custom base image in docker commands (\u003ca href=\"https://redirect.github.com/langchain-ai/langgraph/issues/4500\"\u003e#4500\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langgraph/commit/94994a8d995596c1a3c035572062987c71811d83\"\u003e\u003ccode\u003e94994a8\u003c/code\u003e\u003c/a\u003e meaningless commit to get vercel going sigh\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/langchain-ai/langgraph/compare/0.3.14...0.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `langchain-openai` from 1.2.1 to 1.3.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/langchain-ai/langchain/releases\"\u003elangchain-openai's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003elangchain-openai==1.3.2\u003c/h2\u003e\n\u003cp\u003eChanges since langchain-openai==1.3.1\u003c/p\u003e\n\u003cp\u003erelease(openai): 1.3.2 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/38130\"\u003e#38130\u003c/a\u003e)\u003c/p\u003e\n\u003ch2\u003elangchain-openai==1.3.1\u003c/h2\u003e\n\u003cp\u003eChanges since langchain-openai==1.3.0\u003c/p\u003e\n\u003cp\u003edocs: refresh \u003ccode\u003eREADME\u003c/code\u003e installation and resources (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/38119\"\u003e#38119\u003c/a\u003e)\ntest(core,langchain): update tests for explicit deserialization allowlists (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/38118\"\u003e#38118\u003c/a\u003e)\nrelease(core): 1.4.7 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/38111\"\u003e#38111\u003c/a\u003e)\nfix(core,partners): rename package version trace metadata (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/38110\"\u003e#38110\u003c/a\u003e)\nstyle(core,langchain,langchain-classic,partners): replace double backticks in docstrings (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/38095\"\u003e#38095\u003c/a\u003e)\ntest(openai): use \u003ccode\u003egpt-4o\u003c/code\u003e for image token counting (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/38089\"\u003e#38089\u003c/a\u003e)\nrelease(core): 1.4.6 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/38061\"\u003e#38061\u003c/a\u003e)\nfeat(core,partners): add package version tracking to tracing metadata (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35295\"\u003e#35295\u003c/a\u003e)\nfix(core,openai): normalize v1 streamed tool calls (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35983\"\u003e#35983\u003c/a\u003e)\nchore(infra): bump mypy to 2.1 and unify type-check config across the monorepo (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/36470\"\u003e#36470\u003c/a\u003e)\nfeat(standard-tests): validate tool call chunks during streaming (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/34707\"\u003e#34707\u003c/a\u003e)\nfix(langchain): tighten structured output model fallbacks (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/38042\"\u003e#38042\u003c/a\u003e)\u003c/p\u003e\n\u003ch2\u003elangchain-openai==1.3.0\u003c/h2\u003e\n\u003cp\u003eChanges since langchain-openai==1.2.2\u003c/p\u003e\n\u003cp\u003ehotfix(openai): min core dep (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/37990\"\u003e#37990\u003c/a\u003e)\nrelease(openai): 1.3.0 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/37989\"\u003e#37989\u003c/a\u003e)\nfeat(openai): support \u003ccode\u003eapply_patch\u003c/code\u003e built-in tool (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/37157\"\u003e#37157\u003c/a\u003e)\nchore(model-profiles): refresh model profile data (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/37973\"\u003e#37973\u003c/a\u003e)\ntest(langchain,partners): disable pytest-benchmark under xdist to silence \u003ccode\u003ePytestBenchmarkWarning\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/37901\"\u003e#37901\u003c/a\u003e)\nchore(model-profiles): refresh model profile data (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/37895\"\u003e#37895\u003c/a\u003e)\u003c/p\u003e\n\u003ch2\u003elangchain-openai==1.2.2\u003c/h2\u003e\n\u003cp\u003eChanges since langchain-openai==1.2.1\u003c/p\u003e\n\u003cp\u003erelease(openai): 1.2.2 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/37617\"\u003e#37617\u003c/a\u003e)\nchore(infra): bump \u003ccode\u003elangchain-tests\u003c/code\u003e floor to 1.1.9 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/37610\"\u003e#37610\u003c/a\u003e)\ntest(openai): unbreak audio chat and Azure embedding integration tests (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/37589\"\u003e#37589\u003c/a\u003e)\nfix(openai): guard httpx finalizers (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/37570\"\u003e#37570\u003c/a\u003e)\nchore: bump langsmith from 0.8.4 to 0.8.5 in /libs/partners/openai (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/37549\"\u003e#37549\u003c/a\u003e)\nchore: bump idna from 3.11 to 3.15 in /libs/partners/openai (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/37548\"\u003e#37548\u003c/a\u003e)\nci(infra): harden Dependabot version-bound preservation (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/37510\"\u003e#37510\u003c/a\u003e)\ntest(standard-tests): assert \u003ccode\u003els_model_name\u003c/code\u003e honors per-call model override (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/37504\"\u003e#37504\u003c/a\u003e)\nfix(openai): source LLM context size from model profiles (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/37489\"\u003e#37489\u003c/a\u003e)\nchore(core,langchain,openai): refresh stale OpenAI model references (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/37487\"\u003e#37487\u003c/a\u003e)\nfix(openai): broaden condition for ContextOverflowError to accommodate other providers (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/37457\"\u003e#37457\u003c/a\u003e)\ndocs(openai): document \u003ccode\u003ebase_url\u003c/code\u003e env var fallback chain (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/37436\"\u003e#37436\u003c/a\u003e)\nchore: bump langsmith from 0.8.0 to 0.8.4 in /libs/partners/openai (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/37416\"\u003e#37416\u003c/a\u003e)\nchore: bump langsmith from 0.7.31 to 0.8.0 in /libs/partners/openai (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/37398\"\u003e#37398\u003c/a\u003e)\nchore(infra): merge v1.4 into master (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/37350\"\u003e#37350\u003c/a\u003e)\nchore: bump urllib3 from 2.6.3 to 2.7.0 in /libs/partners/openai (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/37330\"\u003e#37330\u003c/a\u003e)\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/879cad06769913c8329d72e700263537ff436053\"\u003e\u003ccode\u003e879cad0\u003c/code\u003e\u003c/a\u003e release(openai): 1.3.2 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/38130\"\u003e#38130\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/37b339f8c468f4c6ba82514629e631c189c4fc50\"\u003e\u003ccode\u003e37b339f\u003c/code\u003e\u003c/a\u003e fix(openai): build Codex async headers off the event loop in \u003ccode\u003e_agenerate\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/3\"\u003e#3\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/11429a9e1c37efccd1da92246d6f5b878a2af74a\"\u003e\u003ccode\u003e11429a9\u003c/code\u003e\u003c/a\u003e fix(openai): avoid sync token reads in Codex streaming (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/38128\"\u003e#38128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/454e19588c027b97ea54f5d079a19798b229b84f\"\u003e\u003ccode\u003e454e195\u003c/code\u003e\u003c/a\u003e hotfix(openai): skip Codex live integration tests in CI (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/38124\"\u003e#38124\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/9e6f58ba4650904f161bea80337566cf3751fccc\"\u003e\u003ccode\u003e9e6f58b\u003c/code\u003e\u003c/a\u003e hotfix(openai): switch version (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/38123\"\u003e#38123\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/bf7b0180f2e5ccc71b15143e14622ba4e132c421\"\u003e\u003ccode\u003ebf7b018\u003c/code\u003e\u003c/a\u003e refactor(openai): mark Codex OAuth classes private (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/38122\"\u003e#38122\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/34af8839c341bcd12e246634c1b6d75532fb1ee8\"\u003e\u003ccode\u003e34af883\u003c/code\u003e\u003c/a\u003e chore(infra): wire up per-partner version-consistency pre-commit hooks (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/38121\"\u003e#38121\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/8180a09dd7712e231f501c1795985b7bacba8735\"\u003e\u003ccode\u003e8180a09\u003c/code\u003e\u003c/a\u003e release(openai): 1.4.0 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/38120\"\u003e#38120\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/6c2b70e60e51de9987b2a96529f18c5ff8559a0d\"\u003e\u003ccode\u003e6c2b70e\u003c/code\u003e\u003c/a\u003e feat(openai): add ChatGPT OAuth-backed \u003ccode\u003eChatOpenAICodex\u003c/code\u003e chat model (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/37569\"\u003e#37569\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/63cc1f4e7d3dbaaa284d25ddac89cafe35bd8874\"\u003e\u003ccode\u003e63cc1f4\u003c/code\u003e\u003c/a\u003e docs: refresh \u003ccode\u003eREADME\u003c/code\u003e installation and resources (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/38119\"\u003e#38119\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/langchain-ai/langchain/compare/langchain-openai==1.2.1...langchain-openai==1.3.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `langsmith` from 0.8.5 to 0.8.15\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/langchain-ai/langsmith-sdk/releases\"\u003elangsmith's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.8.15\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore(js): exclude generated _openapi_client from linters and type-checker by \u003ca href=\"https://github.com/KiewanVillatel\"\u003e\u003ccode\u003e@​KiewanVillatel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3015\"\u003elangchain-ai/langsmith-sdk#3015\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: sync langsmith_api by \u003ca href=\"https://github.com/langtions-bot\"\u003e\u003ccode\u003e@​langtions-bot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3006\"\u003elangchain-ai/langsmith-sdk#3006\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: protect JS openapi client in workflow by \u003ca href=\"https://github.com/KiewanVillatel\"\u003e\u003ccode\u003e@​KiewanVillatel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3017\"\u003elangchain-ai/langsmith-sdk#3017\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(js): deliver sandbox output callbacks across stream reconnects by \u003ca href=\"https://github.com/langchain-infra\"\u003e\u003ccode\u003e@​langchain-infra\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3022\"\u003elangchain-ai/langsmith-sdk#3022\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(python): deliver sandbox output callbacks across stream reconnects by \u003ca href=\"https://github.com/langchain-infra\"\u003e\u003ccode\u003e@​langchain-infra\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3023\"\u003elangchain-ai/langsmith-sdk#3023\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: bump JS to 0.7.7 and Python to 0.8.15 by \u003ca href=\"https://github.com/langchain-infra\"\u003e\u003ccode\u003e@​langchain-infra\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3025\"\u003elangchain-ai/langsmith-sdk#3025\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/langchain-ai/langsmith-sdk/compare/v0.8.14...v0.8.15\"\u003ehttps://github.com/langchain-ai/langsmith-sdk/compare/v0.8.14...v0.8.15\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.8.14\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: add deepagent compatibility smoke tests to Python and JS CI [LSDK-214] by \u003ca href=\"https://github.com/QuentinBrosse\"\u003e\u003ccode\u003e@​QuentinBrosse\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2997\"\u003elangchain-ai/langsmith-sdk#2997\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(py): bump Python SDK to 0.8.14 by \u003ca href=\"https://github.com/vishnu-ssuresh\"\u003e\u003ccode\u003e@​vishnu-ssuresh\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3013\"\u003elangchain-ai/langsmith-sdk#3013\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/langchain-ai/langsmith-sdk/compare/v0.8.13...v0.8.14\"\u003ehttps://github.com/langchain-ai/langsmith-sdk/compare/v0.8.13...v0.8.14\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.8.13\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix(py): type sandbox startup errors by \u003ca href=\"https://github.com/vishnu-ssuresh\"\u003e\u003ccode\u003e@​vishnu-ssuresh\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3004\"\u003elangchain-ai/langsmith-sdk#3004\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(py): bump Python SDK to 0.8.13 by \u003ca href=\"https://github.com/vishnu-ssuresh\"\u003e\u003ccode\u003e@​vishnu-ssuresh\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3012\"\u003elangchain-ai/langsmith-sdk#3012\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/langchain-ai/langsmith-sdk/compare/v0.8.12...v0.8.13\"\u003ehttps://github.com/langchain-ai/langsmith-sdk/compare/v0.8.12...v0.8.13\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.8.12\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eci: protect _openapi_client from unauthorized changes by \u003ca href=\"https://github.com/KiewanVillatel\"\u003e\u003ccode\u003e@​KiewanVillatel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2999\"\u003elangchain-ai/langsmith-sdk#2999\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: gemini double counting of over 200k tokens by \u003ca href=\"https://github.com/dqbd\"\u003e\u003ccode\u003e@​dqbd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3003\"\u003elangchain-ai/langsmith-sdk#3003\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(python): cross-process OAuth refresh filesystem lock by \u003ca href=\"https://github.com/langchain-infra\"\u003e\u003ccode\u003e@​langchain-infra\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2988\"\u003elangchain-ai/langsmith-sdk#2988\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(js): cross-process OAuth refresh filesystem lock by \u003ca href=\"https://github.com/langchain-infra\"\u003e\u003ccode\u003e@​langchain-infra\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2989\"\u003elangchain-ai/langsmith-sdk#2989\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: avoid duplicate /v1 in hub URLs when endpoint includes /api/v1 by \u003ca href=\"https://github.com/langchain-infra\"\u003e\u003ccode\u003e@​langchain-infra\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3008\"\u003elangchain-ai/langsmith-sdk#3008\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: bump JS to 0.7.6 and Python to 0.8.12 by \u003ca href=\"https://github.com/langchain-infra\"\u003e\u003ccode\u003e@​langchain-infra\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3011\"\u003elangchain-ai/langsmith-sdk#3011\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/langchain-ai/langsmith-sdk/compare/v0.8.11...v0.8.12\"\u003ehttps://github.com/langchain-ai/langsmith-sdk/compare/v0.8.11...v0.8.12\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.8.11\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: match async feedback client to sync behavior [LSEN-206] by \u003ca href=\"https://github.com/vishnu-ssuresh\"\u003e\u003ccode\u003e@​vishnu-ssuresh\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/langchain-ai/langsmith-sdk/pull/3001\"\u003elangchain-ai/langsmith-sdk#3001\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/langchain-ai/langsmith-sdk/compare/v0.8.10...v0.8.11\"\u003ehttps://github.com/langchain-ai/langsmith-sdk/compare/v0.8.10...v0.8.11\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.8.10\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat(sandbox): size the dockerfile-build sandbox via vCpus/memBytes (js) by \u003ca href=\"https://github.com/langchain-infra\"\u003e\u003ccode\u003e@​langchain-infra\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/langchain-ai/langsmith-sdk/pull/2980\"\u003elangchain-ai/langsmith-sdk#2980\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langsmith-sdk/commit/84b7144242e5cc53ce55752cc5be6369ffc1bd9f\"\u003e\u003ccode\u003e84b7144\u003c/code\u003e\u003c/a\u003e chore: bump JS to 0.7.7 and Python to 0.8.15 (\u003ca href=\"https://redirect.github.com/langchain-ai/langsmith-sdk/issues/3025\"\u003e#3025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langsmith-sdk/commit/909390fb9ac66d15e3630ad6e2bf01ac5c9e1774\"\u003e\u003ccode\u003e909390f\u003c/code\u003e\u003c/a\u003e fix(python): deliver sandbox output callbacks across stream reconnects (\u003ca href=\"https://redirect.github.com/langchain-ai/langsmith-sdk/issues/3023\"\u003e#3023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langsmith-sdk/commit/504f641d0ff0d4dfa6b3fb8ed1617d9bb9754f64\"\u003e\u003ccode\u003e504f641\u003c/code\u003e\u003c/a\u003e fix(js): deliver sandbox output callbacks across stream reconnects (\u003ca href=\"https://redirect.github.com/langchain-ai/langsmith-sdk/issues/3022\"\u003e#3022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langsmith-sdk/commit/f10fe78b0d1efbab7c76d6d99e0fa6ac48fb285d\"\u003e\u003ccode\u003ef10fe78\u003c/code\u003e\u003c/a\u003e chore: protect JS openapi client in workflow (\u003ca href=\"https://redirect.github.com/langchain-ai/langsmith-sdk/issues/3017\"\u003e#3017\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langsmith-sdk/commit/7423a8aa98b3650fc12e64d156cb1ad958444037\"\u003e\u003ccode\u003e7423a8a\u003c/code\u003e\u003c/a\u003e chore: sync langsmith_api (\u003ca href=\"https://redirect.github.com/langchain-ai/langsmith-sdk/issues/3006\"\u003e#3006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langsmith-sdk/commit/047adc9535e45d06cadf4383c85db058d0790e4a\"\u003e\u003ccode\u003e047adc9\u003c/code\u003e\u003c/a\u003e chore(js): exclude generated _openapi_client from linters and type-checker (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langsmith-sdk/commit/3ac6bb8a5cde1f079265842f6f82273b0ce9e543\"\u003e\u003ccode\u003e3ac6bb8\u003c/code\u003e\u003c/a\u003e chore(py): bump Python SDK to 0.8.14 (\u003ca href=\"https://redirect.github.com/langchain-ai/langsmith-sdk/issues/3013\"\u003e#3013\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langsmith-sdk/commit/36fe84563405928b73cdb2f28b2be8349c897515\"\u003e\u003ccode\u003e36fe845\u003c/code\u003e\u003c/a\u003e feat: add deepagent compatibility smoke tests to Python and JS CI [LSDK-214] ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langsmith-sdk/commit/572014cd2cbad1c26e6372614a1a972be9b086c7\"\u003e\u003ccode\u003e572014c\u003c/code\u003e\u003c/a\u003e chore(py): bump Python SDK to 0.8.13 (\u003ca href=\"https://redirect.github.com/langchain-ai/langsmith-sdk/issues/3012\"\u003e#3012\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langsmith-sdk/commit/03f3b8c741efcbd595dd39849199b7ffa18b9c03\"\u003e\u003ccode\u003e03f3b8c\u003c/code\u003e\u003c/a\u003e fix(py): type sandbox startup errors (\u003ca href=\"https://redirect.github.com/langchain-ai/langsmith-sdk/issues/3004\"\u003e#3004\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/langchain-ai/langsmith-sdk/compare/v0.8.5...v0.8.15\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `textual` from 8.2.6 to 8.2.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/textual/releases\"\u003etextual's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eThe more Kitty Release\u003c/h2\u003e\n\u003cp\u003eThis release adds additional support for the Kitty key protocol. Which enables some additional keys on some terminals. Additionally, Textual will report modifier keys as separate key events.\u003c/p\u003e\n\u003cp\u003eAdditionally there are a few more shortcuts to the Text Area.\u003c/p\u003e\n\u003cp\u003eThis release sponsored by Mistral AI. See release notes for detail.\u003c/p\u003e\n\u003ch2\u003e[8.2.7] - 2026-05-19\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Kitty key protocol \u0026quot;Report all keys as escape codes\u0026quot; which enabled alt+backspace on Warp \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6544\"\u003eTextualize/textual#6544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded support for detecting separate modifier keys for terminals that support the Kitty key protocol \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6544\"\u003eTextualize/textual#6544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eTEXTUAL_DISABLE_KITTY_KEY\u003c/code\u003e env var to disable Kitty key protocol support (debug aid). \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6544\"\u003eTextualize/textual#6544\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUndo/redo/copy/cut/paste in TextArea will now work with cmd+ on supported terminals \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6543\"\u003eTextualize/textual#6543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIn TextArea, ctrl+u will now delete a newline if the cursor is at the start \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6543\"\u003eTextualize/textual#6543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ein TextArea alt+delete is now bound to delete word right \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6543\"\u003eTextualize/textual#6543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eText opacity applied to an ansi theme will now set the dim attribute if the opacity is \u0026lt; 50% \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6546\"\u003eTextualize/textual#6546\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/Textualize/textual/blob/main/CHANGELOG.md\"\u003etextual's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[8.2.7] - 2026-05-19\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Kitty key protocol \u0026quot;Report all keys as escape codes\u0026quot; which enabled alt+backspace on Warp \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6544\"\u003eTextualize/textual#6544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded support for detecting separate modifier keys for terminals that support the Kitty key protocol \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6544\"\u003eTextualize/textual#6544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eTEXTUAL_DISABLE_KITTY_KEY\u003c/code\u003e env var to disable Kitty key protocol support (debug aid). \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6544\"\u003eTextualize/textual#6544\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUndo/redo/copy/cut/paste in TextArea will now work with cmd+ on supported terminals \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6543\"\u003eTextualize/textual#6543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIn TextArea, ctrl+u will now delete a newline if the cursor is at the start \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6543\"\u003eTextualize/textual#6543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ein TextArea alt+delete is now bound to delete word right \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6543\"\u003eTextualize/textual#6543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eText opacity applied to an ansi theme will now set the dim attribute if the opacity is \u0026lt; 50% \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6546\"\u003eTextualize/textual#6546\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed text opacity with ANSI themes creating RGB colors.  \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6546\"\u003eTextualize/textual#6546\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/Textualize/textual/commit/182277f69011ba0b9665a9a1b1b0c3e89630e913\"\u003e\u003ccode\u003e182277f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6546\"\u003e#6546\u003c/a\u003e from Textualize/ansi-opacity\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/49cbec44ffef26d94ddd42065bcb59a0017acd1a\"\u003e\u003ccode\u003e49cbec4\u003c/code\u003e\u003c/a\u003e bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/b24ef07d422b4ca82d0e65189a0659d032036bf4\"\u003e\u003ccode\u003eb24ef07\u003c/code\u003e\u003c/a\u003e snapshot\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/24e34e48a375ae83c607400809c699d88d423b88\"\u003e\u003ccode\u003e24e34e4\u003c/code\u003e\u003c/a\u003e changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/0c8bbc7eaa3a83b3e2b8b8a35f3e69ec07682b41\"\u003e\u003ccode\u003e0c8bbc7\u003c/code\u003e\u003c/a\u003e text opacity change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/3b04f316e72d071e212046a01f6b9f9976c77e5c\"\u003e\u003ccode\u003e3b04f31\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6543\"\u003e#6543\u003c/a\u003e from Textualize/textarea-actions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/913f5d28cd4aa423f5d9fb9a967cebffa41646aa\"\u003e\u003ccode\u003e913f5d2\u003c/code\u003e\u003c/a\u003e test fixes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/1027c41662ec4c6c3e50f658f548ea33cbdf9233\"\u003e\u003ccode\u003e1027c41\u003c/code\u003e\u003c/a\u003e ctrl+f replaced with ctrl+delete\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/01fb6fd73af092fe6e5da03c032d3e9c3fa161f1\"\u003e\u003ccode\u003e01fb6fd\u003c/code\u003e\u003c/a\u003e ctrl+backspace binding\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/54317091b8a57ab19a5512ef8479d1748d0c6de4\"\u003e\u003ccode\u003e5431709\u003c/code\u003e\u003c/a\u003e words\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/textual/compare/v8.2.6...v8.2.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `uuid-utils` from 0.15.0 to 0.16.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aminalaee/uuid-utils/releases\"\u003euuid-utils's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.16.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eOptimize uuid_utils.compat with \u003ccode\u003efrom_int\u003c/code\u003e by \u003ca href=\"https://github.com/aminalaee\"\u003e\u003ccode\u003e@​aminalaee\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aminalaee/uuid-utils/pull/166\"\u003eaminalaee/uuid-utils#166\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: return version None for non-RFC UUIDs by \u003ca href=\"https://github.com/aminalaee\"\u003e\u003ccode\u003e@​aminalaee\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aminalaee/uuid-utils/pull/163\"\u003eaminalaee/uuid-utils#163\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eValidate \u003ccode\u003enode\u003c/code\u003e argument out of range in constructor by \u003ca href=\"https://github.com/aminalaee\"\u003e\u003ccode\u003e@​aminalaee\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aminalaee/uuid-utils/pull/164\"\u003eaminalaee/uuid-utils#164\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop Python3.9 by \u003ca href=\"https://github.com/aminalaee\"\u003e\u003ccode\u003e@​aminalaee\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aminalaee/uuid-utils/pull/168\"\u003eaminalaee/uuid-utils#168\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/aminalaee/uuid-utils/compare/0.15.0...0.16.0\"\u003ehttps://github.com/aminalaee/uuid-utils/compare/0.15.0...0.16.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminalaee/uuid-utils/commit/5fbd5e6eec51fe20faa3fc67c1274ed7abd9388d\"\u003e\u003ccode\u003e5fbd5e6\u003c/code\u003e\u003c/a\u003e Version 0.16.0 (\u003ca href=\"https://redirect.github.com/aminalaee/uuid-utils/issues/169\"\u003e#169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminalaee/uuid-utils/commit/24438fb3ed80a2e565addedf5cb63e9032319a2c\"\u003e\u003ccode\u003e24438fb\u003c/code\u003e\u003c/a\u003e Drop Python3.9 (\u003ca href=\"https://redirect.github.com/aminalaee/uuid-utils/issues/168\"\u003e#168\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminalaee/uuid-utils/commit/2bc4813859608bd09cc7335a70174eff5c31f037\"\u003e\u003ccode\u003e2bc4813\u003c/code\u003e\u003c/a\u003e Migrate to Zensical (\u003ca href=\"https://redirect.github.com/aminalaee/uuid-utils/issues/167\"\u003e#167\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminalaee/uuid-utils/commit/cf0bdf46b63c66faf42d8543bb89976a1da52abf\"\u003e\u003ccode\u003ecf0bdf4\u003c/code\u003e\u003c/a\u003e Switch mypy to ty\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminalaee/uuid-utils/commit/304700ea6c74d9c60a8e5dff1342893c3b85fb4d\"\u003e\u003ccode\u003e304700e\u003c/code\u003e\u003c/a\u003e chore: minor improvements for consistency\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminalaee/uuid-utils/commit/0aeb1d4f68fec5bf2eb221886f60bdd6325f3a53\"\u003e\u003ccode\u003e0aeb1d4\u003c/code\u003e\u003c/a\u003e Fix benchmark URL in README\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminalaee/uuid-utils/commit/49ca99d5e386a24729d7b0aa6d1c9c0802b7218d\"\u003e\u003ccode\u003e49ca99d\u003c/code\u003e\u003c/a\u003e Optimize uuid_utils.compat with \u003ccode\u003efrom_int\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/aminalaee/uuid-utils/issues/166\"\u003e#166\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminalaee/uuid-utils/commit/c6b04aaa294b5ce7463a50d84715cf963eac14f6\"\u003e\u003ccode\u003ec6b04aa\u003c/code\u003e\u003c/a\u003e Validate \u003ccode\u003enode\u003c/code\u003e argument out of range in constructor (\u003ca href=\"https://redirect.github.com/aminalaee/uuid-utils/issues/164\"\u003e#164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminalaee/uuid-utils/commit/f3faea976cd6b60ff078f23f86ef919b75b319dc\"\u003e\u003ccode\u003ef3faea9\u003c/code\u003e\u003c/a\u003e fix: return version None for non-RFC UUIDs (\u003ca href=\"https://redirect.github.com/aminalaee/uuid-utils/issues/163\"\u003e#163\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/aminalaee/uuid-utils/compare/0.15.0...0.16.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `langchain-mcp-adapters` from 0.2.2 to 0.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/langchain-ai/langchain-mcp-adapters/releases\"\u003elangchain-mcp-adapters's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003elangchain-mcp-adapters==0.3.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebuild(deps): bump ncipollo/release-action from 1.20.0 to 1.21.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/441\"\u003elangchain-ai/langchain-mcp-adapters#441\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: update dependabot.yml to comply with posture checks by \u003ca href=\"https://github.com/jkennedyvz\"\u003e\u003ccode\u003e@​jkennedyvz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/448\"\u003elangchain-ai/langchain-mcp-adapters#448\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: pin pypa/gh-action-pypi-publish to stable commit SHA by \u003ca href=\"https://github.com/jkennedyvz\"\u003e\u003ccode\u003e@​jkennedyvz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/447\"\u003elangchain-ai/langchain-mcp-adapters#447\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump requests from 2.32.5 to 2.33.0 in the uv group across 1 directory by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/446\"\u003elangchain-ai/langchain-mcp-adapters#446\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump pypa/gh-action-pypi-publish from 106e0b0b7c337fa67ed433972f777c6357f78598 to ed0c53931b1dc9bd32cbe73a98c7f6766f8a527e by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/449\"\u003elangchain-ai/langchain-mcp-adapters#449\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump the minor-and-patch group with 6 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/450\"\u003elangchain-ai/langchain-mcp-adapters#450\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump pytest from 8.4.2 to 9.0.2 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/451\"\u003elangchain-ai/langchain-mcp-adapters#451\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump websockets from 15.0.1 to 16.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/452\"\u003elangchain-ai/langchain-mcp-adapters#452\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump types-setuptools from 80.9.0.20250822 to 82.0.0.20260210 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/453\"\u003elangchain-ai/langchain-mcp-adapters#453\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump cryptography from 46.0.5 to 46.0.6 in /examples/servers/streamable-http-stateless in the uv group across 1 directory by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/454\"\u003elangchain-ai/langchain-mcp-adapters#454\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump cryptography from 46.0.5 to 46.0.6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/455\"\u003elangchain-ai/langchain-mcp-adapters#455\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump the minor-and-patch group with 4 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/461\"\u003elangchain-ai/langchain-mcp-adapters#461\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: patch 3 security alerts (high + low severity) by \u003ca href=\"https://github.com/jkennedyvz\"\u003e\u003ccode\u003e@​jkennedyvz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/463\"\u003elangchain-ai/langchain-mcp-adapters#463\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump cryptography from 46.0.6 to 46.0.7 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/473\"\u003elangchain-ai/langchain-mcp-adapters#473\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump cryptography from 46.0.6 to 46.0.7 in /examples/servers/streamable-http-stateless in the uv group across 1 directory by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/471\"\u003elangchain-ai/langchain-mcp-adapters#471\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump langchain-core from 1.2.24 to 1.2.28 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/472\"\u003elangchain-ai/langchain-mcp-adapters#472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump pytest from 8.3.5 to 9.0.3 in /examples/servers/streamable-http-stateless in the uv group across 1 directory by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/476\"\u003elangchain-ai/langchain-mcp-adapters#476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump pytest from 9.0.2 to 9.0.3 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/477\"\u003elangchain-ai/langchain-mcp-adapters#477\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump python-multipart from 0.0.22 to 0.0.26 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/481\"\u003elangchain-ai/langchain-mcp-adapters#481\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump langsmith from 0.6.3 to 0.7.31 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/482\"\u003elangchain-ai/langchain-mcp-adapters#482\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump python-multipart from 0.0.22 to 0.0.26 in /examples/servers/streamable-http-stateless in the uv group across 1 directory by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/483\"\u003elangchain-ai/langchain-mcp-adapters#483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump python-dotenv from 1.1.0 to 1.2.2 in /examples/servers/streamable-http-stateless in the uv group across 1 directory by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/485\"\u003elangchain-ai/langchain-mcp-adapters#485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump python-dotenv from 1.1.1 to 1.2.2 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/486\"\u003elangchain-ai/langchain-mcp-adapters#486\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci(infra): harden Dependabot version-bound preservation by \u003ca href=\"https://github.com/open-swe\"\u003e\u003ccode\u003e@​open-swe\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/512\"\u003elangchain-ai/langchain-mcp-adapters#512\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump urllib3 from 2.6.3 to 2.7.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/506\"\u003elangchain-ai/langchain-mcp-adapters#506\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump langsmith from 0.7.31 to 0.8.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/508\"\u003elangchain-ai/langchain-mcp-adapters#508\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump the minor-and-patch group across 1 directory with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/513\"\u003elangchain-ai/langchain-mcp-adapters#513\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump types-setuptools from 82.0.0.20260210 to 82.0.0.20260518 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/514\"\u003elangchain-ai/langchain-mcp-adapters#514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump idna from 3.10 to 3.15 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/516\"\u003elangchain-ai/langchain-mcp-adapters#516\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump python-multipart from 0.0.26 to 0.0.27 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/504\"\u003elangchain-ai/langchain-mcp-adapters#504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump pypa/gh-action-pypi-publish from 1.13.0 to 1.14.0 in the minor-and-patch group across 1 directory by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/499\"\u003elangchain-ai/langchain-mcp-adapters#499\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump the uv group across 1 directory with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/517\"\u003elangchain-ai/langchain-mcp-adapters#517\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump starlette from 0.50.0 to 1.0.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/537\"\u003elangchain-ai/langchain-mcp-adapters#537\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump starlette from 0.49.1 to 1.0.1 in /examples/servers/streamable-http-stateless in the uv group across 1 directory by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/536\"\u003elangchain-ai/langchain-mcp-adapters#536\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump mypy from 1.20.0 to 2.1.0 in the major group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/535\"\u003elangchain-ai/langchain-mcp-adapters#535\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump the minor-and-patch group with 4 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/534\"\u003elangchain-ai/langchain-mcp-adapters#534\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: use non-deprecated streamable HTTP client by \u003ca href=\"https://github.com/mdrxy\"\u003e\u003ccode\u003e@​mdrxy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/541\"\u003elangchain-ai/langchain-mcp-adapters#541\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: surface MCP tool execution errors as failed tool output by \u003ca href=\"https://github.com/mdrxy\"\u003e\u003ccode\u003e@​mdrxy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/540\"\u003elangchain-ai/langchain-mcp-adapters#540\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erelease: 0.3.0 by \u003ca href=\"https://github.com/mdrxy\"\u003e\u003ccode\u003e@​mdrxy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/542\"\u003elangchain-ai/langchain-mcp-adapters#542\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-swe\"\u003e\u003ccode\u003e@​open-swe\u003c/code\u003e\u003c/a\u003e[bot] made their first contribution in \u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/pull/512\"\u003elangchain-ai/langchain-mcp-adapters#512\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/langchain-ai/langchain-mcp-adapters/compare/langchain-mcp-adapters==0.2.2...langchain-mcp-adapters==0.3.0\"\u003ehttps://github.com/langchain-ai/langchain-mcp-adapters/compare/langchain-mcp-adapters==0.2.2...langchain-mcp-adapters==0.3.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain-mcp-adapters/commit/a61c783a7949719a8c3fbe4aeba961f45f3b7849\"\u003e\u003ccode\u003ea61c783\u003c/code\u003e\u003c/a\u003e release: 0.3.0 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain-mcp-adapters/issues/542\"\u003e#542\u003c/a\u003e...\n\n_Description has been truncated_","html_url":"https://github.com/bogware/bog-agents/pull/130","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/bogware%2Fbog-agents/issues/130","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/130/packages"}},{"old_version":"1.0.0","new_version":"8.2.7","update_type":"major","path":null,"pr_created_at":"2026-06-11T01:27:07.000Z","version_change":"1.0.0 → 8.2.7","issue":{"uuid":"4636379098","node_id":"PR_kwDOM3LsYc7lHMoY","number":93,"state":"open","title":"chore(deps): bump textual from 1.0.0 to 8.2.7","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-11T01:27:07.000Z","updated_at":"2026-06-11T01:27:08.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"textual","old_version":"1.0.0","new_version":"8.2.7","repository_url":"https://github.com/Textualize/textual"}],"path":null,"ecosystem":"pip"},"body":"Bumps [textual](https://github.com/Textualize/textual) from 1.0.0 to 8.2.7.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/textual/releases\"\u003etextual's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eThe more Kitty Release\u003c/h2\u003e\n\u003cp\u003eThis release adds additional support for the Kitty key protocol. Which enables some additional keys on some terminals. Additionally, Textual will report modifier keys as separate key events.\u003c/p\u003e\n\u003cp\u003eAdditionally there are a few more shortcuts to the Text Area.\u003c/p\u003e\n\u003cp\u003eThis release sponsored by Mistral AI. See release notes for detail.\u003c/p\u003e\n\u003ch2\u003e[8.2.7] - 2026-05-19\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Kitty key protocol \u0026quot;Report all keys as escape codes\u0026quot; which enabled alt+backspace on Warp \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6544\"\u003eTextualize/textual#6544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded support for detecting separate modifier keys for terminals that support the Kitty key protocol \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6544\"\u003eTextualize/textual#6544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eTEXTUAL_DISABLE_KITTY_KEY\u003c/code\u003e env var to disable Kitty key protocol support (debug aid). \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6544\"\u003eTextualize/textual#6544\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUndo/redo/copy/cut/paste in TextArea will now work with cmd+ on supported terminals \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6543\"\u003eTextualize/textual#6543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIn TextArea, ctrl+u will now delete a newline if the cursor is at the start \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6543\"\u003eTextualize/textual#6543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ein TextArea alt+delete is now bound to delete word right \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6543\"\u003eTextualize/textual#6543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eText opacity applied to an ansi theme will now set the dim attribute if the opacity is \u0026lt; 50% \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6546\"\u003eTextualize/textual#6546\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eThe more selective release\u003c/h2\u003e\n\u003cp\u003eImproved text select logic. You can select text without first clicking on a content area.\u003c/p\u003e\n\u003cp\u003eMay break snapshots without affecting appearance.\u003c/p\u003e\n\u003ch2\u003e[8.2.6] - 2026-04-13\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed selection to the right of code fence blocks (may break some snapshots)\u003c/li\u003e\n\u003cli\u003eFixed Markdown code fences losing content when switching themes \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6537\"\u003eTextualize/textual#6537\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded ability to select outside of text, so the user doesn't need to be quite so precise \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6523\"\u003eTextualize/textual#6523\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eThe Antsy Release\u003c/h2\u003e\n\u003cp\u003eThis release adds support for dedicated ansi themes, which are also exposed from the command palette.\u003c/p\u003e\n\u003cp\u003eThere were a few tweaks to the theming system which may result in broken snapshots, but there should be no visual changes.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003e[8.2.5] - 2026-04-30\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/textual/blob/main/CHANGELOG.md\"\u003etextual's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[8.2.7] - 2026-05-19\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Kitty key protocol \u0026quot;Report all keys as escape codes\u0026quot; which enabled alt+backspace on Warp \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6544\"\u003eTextualize/textual#6544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded support for detecting separate modifier keys for terminals that support the Kitty key protocol \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6544\"\u003eTextualize/textual#6544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eTEXTUAL_DISABLE_KITTY_KEY\u003c/code\u003e env var to disable Kitty key protocol support (debug aid). \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6544\"\u003eTextualize/textual#6544\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUndo/redo/copy/cut/paste in TextArea will now work with cmd+ on supported terminals \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6543\"\u003eTextualize/textual#6543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIn TextArea, ctrl+u will now delete a newline if the cursor is at the start \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6543\"\u003eTextualize/textual#6543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ein TextArea alt+delete is now bound to delete word right \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6543\"\u003eTextualize/textual#6543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eText opacity applied to an ansi theme will now set the dim attribute if the opacity is \u0026lt; 50% \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6546\"\u003eTextualize/textual#6546\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed text opacity with ANSI themes creating RGB colors.  \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6546\"\u003eTextualize/textual#6546\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.6] - 2026-05-13\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed selection to the right of code fence blocks (may break some snapshots)\u003c/li\u003e\n\u003cli\u003eFixed Markdown code fences losing content when switching themes \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6537\"\u003eTextualize/textual#6537\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded ability to select outside of text, so the user doesn't need to be quite so precise \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6523\"\u003eTextualize/textual#6523\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.5] - 2026-04-30\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eTwo new themes: \u0026quot;ansi-dark\u0026quot; and \u0026quot;ansi-light\u0026quot; \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded an \u003ccode\u003eansi\u003c/code\u003e value to themes \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eApp.ansi_color\u003c/code\u003e may now be \u003ccode\u003eNone\u003c/code\u003e to use the \u003ccode\u003eansi\u003c/code\u003e value from the theme. \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.4] - 2026-04-19\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eDOM.update_classes\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6478\"\u003eTextualize/textual#6478\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed anchor released when scrolling down with the trackpad \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6503\"\u003eTextualize/textual#6503\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/182277f69011ba0b9665a9a1b1b0c3e89630e913\"\u003e\u003ccode\u003e182277f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6546\"\u003e#6546\u003c/a\u003e from Textualize/ansi-opacity\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/49cbec44ffef26d94ddd42065bcb59a0017acd1a\"\u003e\u003ccode\u003e49cbec4\u003c/code\u003e\u003c/a\u003e bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/b24ef07d422b4ca82d0e65189a0659d032036bf4\"\u003e\u003ccode\u003eb24ef07\u003c/code\u003e\u003c/a\u003e snapshot\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/24e34e48a375ae83c607400809c699d88d423b88\"\u003e\u003ccode\u003e24e34e4\u003c/code\u003e\u003c/a\u003e changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/0c8bbc7eaa3a83b3e2b8b8a35f3e69ec07682b41\"\u003e\u003ccode\u003e0c8bbc7\u003c/code\u003e\u003c/a\u003e text opacity change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/3b04f316e72d071e212046a01f6b9f9976c77e5c\"\u003e\u003ccode\u003e3b04f31\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6543\"\u003e#6543\u003c/a\u003e from Textualize/textarea-actions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/913f5d28cd4aa423f5d9fb9a967cebffa41646aa\"\u003e\u003ccode\u003e913f5d2\u003c/code\u003e\u003c/a\u003e test fixes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/1027c41662ec4c6c3e50f658f548ea33cbdf9233\"\u003e\u003ccode\u003e1027c41\u003c/code\u003e\u003c/a\u003e ctrl+f replaced with ctrl+delete\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/01fb6fd73af092fe6e5da03c032d3e9c3fa161f1\"\u003e\u003ccode\u003e01fb6fd\u003c/code\u003e\u003c/a\u003e ctrl+backspace binding\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/54317091b8a57ab19a5512ef8479d1748d0c6de4\"\u003e\u003ccode\u003e5431709\u003c/code\u003e\u003c/a\u003e words\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/textual/compare/v1.0.0...v8.2.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=textual\u0026package-manager=pip\u0026previous-version=1.0.0\u0026new-version=8.2.7)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/edurdias/flux/pull/93","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/edurdias%2Fflux/issues/93","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/93/packages"}},{"old_version":"8.2.4","new_version":"8.2.7","update_type":"patch","path":null,"pr_created_at":"2026-06-08T06:18:25.000Z","version_change":"8.2.4 → 8.2.7","issue":{"uuid":"4610482800","node_id":"PR_kwDOR-7nxM7jxxc5","number":163,"state":"open","title":"chore(deps-dev): Bump the dev-dependencies group across 1 directory with 28 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-08T06:18:25.000Z","updated_at":"2026-06-08T06:20:50.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev): Bump","group_name":"dev-dependencies","update_count":28,"packages":[{"name":"uv","old_version":"0.11.7","new_version":"0.11.19","repository_url":"https://github.com/astral-sh/uv"},{"name":"ruff","old_version":"0.15.11","new_version":"0.15.16","repository_url":"https://github.com/astral-sh/ruff"},{"name":"ty","old_version":"0.0.31","new_version":"0.0.44","repository_url":"https://github.com/astral-sh/ty"},{"name":"hypothesis","old_version":"6.152.1","new_version":"6.155.2","repository_url":"https://github.com/HypothesisWorks/hypothesis"},{"name":"beautifulsoup4","old_version":"4.14.3","new_version":"4.15.0"},{"name":"mutmut","old_version":"3.5.0","new_version":"3.6.0","repository_url":"https://github.com/boxed/mutmut"},{"name":"pre-commit","old_version":"4.5.1","new_version":"4.6.0","repository_url":"https://github.com/pre-commit/pre-commit"},{"name":"certifi","old_version":"2026.2.25","new_version":"2026.5.20","repository_url":"https://github.com/certifi/python-certifi"},{"name":"coverage","old_version":"7.13.5","new_version":"7.14.1","repository_url":"https://github.com/coveragepy/coveragepy"},{"name":"cyclonedx-python-lib","old_version":"11.7.0","new_version":"11.8.0","repository_url":"https://github.com/CycloneDX/cyclonedx-python-lib"},{"name":"distlib","old_version":"0.4.0","new_version":"0.4.1","repository_url":"https://github.com/pypa/distlib"},{"name":"filelock","old_version":"3.25.2","new_version":"3.29.1","repository_url":"https://github.com/tox-dev/py-filelock"},{"name":"identify","old_version":"2.6.18","new_version":"2.6.19","repository_url":"https://github.com/pre-commit/identify"},{"name":"idna","old_version":"3.11","new_version":"3.18","repository_url":"https://github.com/kjd/idna"},{"name":"mdit-py-plugins","old_version":"0.5.0","new_version":"0.6.1","repository_url":"https://github.com/executablebooks/mdit-py-plugins"},{"name":"packaging","old_version":"26.0","new_version":"26.2","repository_url":"https://github.com/pypa/packaging"},{"name":"pip","old_version":"26.0.1","new_version":"26.1.2","repository_url":"https://github.com/pypa/pip"},{"name":"platformdirs","old_version":"4.9.6","new_version":"4.10.0","repository_url":"https://github.com/tox-dev/platformdirs"},{"name":"pyjwt","old_version":"2.12.1","new_version":"2.13.0","repository_url":"https://github.com/jpadilla/pyjwt"},{"name":"pyopenssl","old_version":"26.0.0","new_version":"26.2.0","repository_url":"https://github.com/pyca/pyopenssl"},{"name":"python-discovery","old_version":"1.2.2","new_version":"1.4.0","repository_url":"https://github.com/tox-dev/python-discovery"},{"name":"requests","old_version":"2.33.1","new_version":"2.34.2","repository_url":"https://github.com/psf/requests"},{"name":"securesystemslib","old_version":"1.3.1","new_version":"1.4.0","repository_url":"https://github.com/secure-systems-lab/securesystemslib"},{"name":"sigstore","old_version":"4.2.0","new_version":"4.3.0","repository_url":"https://github.com/sigstore/sigstore-python"},{"name":"soupsieve","old_version":"2.8.3","new_version":"2.8.4","repository_url":"https://github.com/facelessuser/soupsieve"},{"name":"textual","old_version":"8.2.4","new_version":"8.2.7","repository_url":"https://github.com/Textualize/textual"},{"name":"urllib3","old_version":"2.6.3","new_version":"2.7.0","repository_url":"https://github.com/urllib3/urllib3"},{"name":"virtualenv","old_version":"21.2.0","new_version":"21.4.2","repository_url":"https://github.com/pypa/virtualenv"}],"path":null,"ecosystem":"pip"},"body":"Bumps the dev-dependencies group with 28 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [uv](https://github.com/astral-sh/uv) | `0.11.7` | `0.11.19` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.15.11` | `0.15.16` |\n| [ty](https://github.com/astral-sh/ty) | `0.0.31` | `0.0.44` |\n| [hypothesis](https://github.com/HypothesisWorks/hypothesis) | `6.152.1` | `6.155.2` |\n| [beautifulsoup4](https://www.crummy.com/software/BeautifulSoup/bs4/) | `4.14.3` | `4.15.0` |\n| [mutmut](https://github.com/boxed/mutmut) | `3.5.0` | `3.6.0` |\n| [pre-commit](https://github.com/pre-commit/pre-commit) | `4.5.1` | `4.6.0` |\n| [certifi](https://github.com/certifi/python-certifi) | `2026.2.25` | `2026.5.20` |\n| [coverage](https://github.com/coveragepy/coveragepy) | `7.13.5` | `7.14.1` |\n| [cyclonedx-python-lib](https://github.com/CycloneDX/cyclonedx-python-lib) | `11.7.0` | `11.8.0` |\n| [distlib](https://github.com/pypa/distlib) | `0.4.0` | `0.4.1` |\n| [filelock](https://github.com/tox-dev/py-filelock) | `3.25.2` | `3.29.1` |\n| [identify](https://github.com/pre-commit/identify) | `2.6.18` | `2.6.19` |\n| [idna](https://github.com/kjd/idna) | `3.11` | `3.18` |\n| [mdit-py-plugins](https://github.com/executablebooks/mdit-py-plugins) | `0.5.0` | `0.6.1` |\n| [packaging](https://github.com/pypa/packaging) | `26.0` | `26.2` |\n| [pip](https://github.com/pypa/pip) | `26.0.1` | `26.1.2` |\n| [platformdirs](https://github.com/tox-dev/platformdirs) | `4.9.6` | `4.10.0` |\n| [pyjwt](https://github.com/jpadilla/pyjwt) | `2.12.1` | `2.13.0` |\n| [pyopenssl](https://github.com/pyca/pyopenssl) | `26.0.0` | `26.2.0` |\n| [python-discovery](https://github.com/tox-dev/python-discovery) | `1.2.2` | `1.4.0` |\n| [requests](https://github.com/psf/requests) | `2.33.1` | `2.34.2` |\n| [securesystemslib](https://github.com/secure-systems-lab/securesystemslib) | `1.3.1` | `1.4.0` |\n| [sigstore](https://github.com/sigstore/sigstore-python) | `4.2.0` | `4.3.0` |\n| [soupsieve](https://github.com/facelessuser/soupsieve) | `2.8.3` | `2.8.4` |\n| [textual](https://github.com/Textualize/textual) | `8.2.4` | `8.2.7` |\n| [urllib3](https://github.com/urllib3/urllib3) | `2.6.3` | `2.7.0` |\n| [virtualenv](https://github.com/pypa/virtualenv) | `21.2.0` | `21.4.2` |\n\n\nUpdates `uv` from 0.11.7 to 0.11.19\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/uv/releases\"\u003euv's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.11.19\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-06-03.\u003c/p\u003e\n\u003ch3\u003ePython\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd CPython 3.15.0b2 (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19531\"\u003e#19531\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAlways compute SHA256 for remote distributions (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19662\"\u003e#19662\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd PyEmscripten platform (PEP 783) (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19629\"\u003e#19629\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Pyodide 2025 target triple (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19653\"\u003e#19653\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMake preview features for commands have names that aren't ambiguous with the command (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19645\"\u003e#19645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRespect \u003ccode\u003e--isolated\u003c/code\u003e in \u003ccode\u003euv check\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19666\"\u003e#19666\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eContinue tool uninstall after dangling receipts (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19623\"\u003e#19623\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip Unix-specific installation steps when cross-installing Windows Python distributions (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19424\"\u003e#19424\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall uv 0.11.19\u003c/h2\u003e\n\u003ch3\u003eInstall prebuilt binaries via shell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ecurl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/uv/releases/download/0.11.19/uv-installer.sh | sh\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via powershell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003epowershell -ExecutionPolicy Bypass -c \u0026quot;irm https://releases.astral.sh/github/uv/releases/download/0.11.19/uv-installer.ps1 | iex\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eDownload uv 0.11.19\u003c/h2\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eFile\u003c/th\u003e\n\u003cth\u003ePlatform\u003c/th\u003e\n\u003cth\u003eChecksum\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/uv/releases/download/0.11.19/uv-aarch64-apple-darwin.tar.gz\"\u003euv-aarch64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eApple Silicon macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/uv/releases/download/0.11.19/uv-aarch64-apple-darwin.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/uv/releases/download/0.11.19/uv-x86_64-apple-darwin.tar.gz\"\u003euv-x86_64-apple-darwin.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eIntel macOS\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/uv/releases/download/0.11.19/uv-x86_64-apple-darwin.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/uv/releases/download/0.11.19/uv-aarch64-pc-windows-msvc.zip\"\u003euv-aarch64-pc-windows-msvc.zip\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eARM64 Windows\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/uv/releases/download/0.11.19/uv-aarch64-pc-windows-msvc.zip.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/uv/releases/download/0.11.19/uv-i686-pc-windows-msvc.zip\"\u003euv-i686-pc-windows-msvc.zip\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ex86 Windows\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/uv/releases/download/0.11.19/uv-i686-pc-windows-msvc.zip.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/uv/releases/download/0.11.19/uv-x86_64-pc-windows-msvc.zip\"\u003euv-x86_64-pc-windows-msvc.zip\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ex64 Windows\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/uv/releases/download/0.11.19/uv-x86_64-pc-windows-msvc.zip.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/uv/releases/download/0.11.19/uv-aarch64-unknown-linux-gnu.tar.gz\"\u003euv-aarch64-unknown-linux-gnu.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eARM64 Linux\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/uv/releases/download/0.11.19/uv-aarch64-unknown-linux-gnu.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/uv/releases/download/0.11.19/uv-i686-unknown-linux-gnu.tar.gz\"\u003euv-i686-unknown-linux-gnu.tar.gz\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ex86 Linux\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://releases.astral.sh/github/uv/releases/download/0.11.19/uv-i686-unknown-linux-gnu.tar.gz.sha256\"\u003echecksum\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/uv/blob/main/CHANGELOG.md\"\u003euv's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.11.19\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-06-03.\u003c/p\u003e\n\u003ch3\u003ePython\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd CPython 3.15.0b2 (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19531\"\u003e#19531\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAlways compute SHA256 for remote distributions (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19662\"\u003e#19662\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd PyEmscripten platform (PEP 783) (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19629\"\u003e#19629\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Pyodide 2025 target triple (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19653\"\u003e#19653\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMake preview features for commands have names that aren't ambiguous with the command (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19645\"\u003e#19645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRespect \u003ccode\u003e--isolated\u003c/code\u003e in \u003ccode\u003euv check\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19666\"\u003e#19666\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eContinue tool uninstall after dangling receipts (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19623\"\u003e#19623\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip Unix-specific installation steps when cross-installing Windows Python distributions (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19424\"\u003e#19424\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.11.18\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-06-01.\u003c/p\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix performance regression in unzip of local wheels (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19637\"\u003e#19637\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003euv check\u003c/code\u003e to run \u003ccode\u003ety\u003c/code\u003e from uv (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19605\"\u003e#19605\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate activation scripts with upstream fixes (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19628\"\u003e#19628\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump MSRV to 1.94 (\u003ca href=\"https://redirect.github.com/astral-sh/uv/pull/19600\"\u003e#19600\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.11.17\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-28.\u003c/p\u003e\n\u003ch3\u003eEnhancements\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/astral-sh/uv/commit/7b2cff1c316eb3b7f52b1cc121d7e25eeea1b17c\"\u003e\u003ccode\u003e7b2cff1\u003c/code\u003e\u003c/a\u003e Bump version to 0.11.19 (\u003ca href=\"https://redirect.github.com/astral-sh/uv/issues/19668\"\u003e#19668\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/uv/commit/ebd5033d77bca6a58c329cbbc351406a9415c920\"\u003e\u003ccode\u003eebd5033\u003c/code\u003e\u003c/a\u003e Fix setup-crates-io-publish call (\u003ca href=\"https://redirect.github.com/astral-sh/uv/issues/19667\"\u003e#19667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/uv/commit/9abd9b122b963dc6d71a8b29729efa86b3b41d4c\"\u003e\u003ccode\u003e9abd9b1\u003c/code\u003e\u003c/a\u003e Respect \u003ccode\u003e--isolated\u003c/code\u003e in \u003ccode\u003euv check\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/uv/issues/19666\"\u003e#19666\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/uv/commit/95507374d81bee4c6ffe55d9ccef60c5120e20b2\"\u003e\u003ccode\u003e9550737\u003c/code\u003e\u003c/a\u003e Use global preview in \u003ccode\u003eCondaEnvironmentKind::from_prefix_path\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/uv/issues/19649\"\u003e#19649\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/uv/commit/b82cadf1555c23a0971bd660ed07fba223290aee\"\u003e\u003ccode\u003eb82cadf\u003c/code\u003e\u003c/a\u003e Remove more duplication in \u003ccode\u003eshow_settings\u003c/code\u003e tests (\u003ca href=\"https://redirect.github.com/astral-sh/uv/issues/19664\"\u003e#19664\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/uv/commit/d3cd632c83dbce8452cd2d4c3ccd8a3cd8ff5069\"\u003e\u003ccode\u003ed3cd632\u003c/code\u003e\u003c/a\u003e Always compute SHA256 for remote distributions (\u003ca href=\"https://redirect.github.com/astral-sh/uv/issues/19662\"\u003e#19662\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/uv/commit/48548c496e835a84c9a69d7d7e7d3b4b809fad8c\"\u003e\u003ccode\u003e48548c4\u003c/code\u003e\u003c/a\u003e Sync latest Python releases (\u003ca href=\"https://redirect.github.com/astral-sh/uv/issues/19531\"\u003e#19531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/uv/commit/8df759892cd54488c66a77852d7fc3f87a066f64\"\u003e\u003ccode\u003e8df7598\u003c/code\u003e\u003c/a\u003e fix feature-gates on \u003ccode\u003eformat\u003c/code\u003e and \u003ccode\u003echeck\u003c/code\u003e tests to specify they access r2 (\u003ca href=\"https://redirect.github.com/astral-sh/uv/issues/1\"\u003e#1\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/uv/commit/68ae09e00cb4a1b7eb512b0ac77b79e4683cfaf4\"\u003e\u003ccode\u003e68ae09e\u003c/code\u003e\u003c/a\u003e Remove unused \u003ccode\u003epub\u003c/code\u003e code from workspace (\u003ca href=\"https://redirect.github.com/astral-sh/uv/issues/19565\"\u003e#19565\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/uv/commit/d4450f385074cd2a639e2525f44608c3c27f6414\"\u003e\u003ccode\u003ed4450f3\u003c/code\u003e\u003c/a\u003e Remove a bunch of duplication in \u003ccode\u003eshow_settings\u003c/code\u003e tests by using diffs (\u003ca href=\"https://redirect.github.com/astral-sh/uv/issues/19654\"\u003e#19654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/uv/compare/0.11.7...0.11.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruff` from 0.15.11 to 0.15.16\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.16\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-06-04.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-async\u003c/code\u003e] Implement \u003ccode\u003eyield-in-context-manager-in-async-generator\u003c/code\u003e (\u003ccode\u003eASYNC119\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24644\"\u003e#24644\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Narrow diagnostic range and exclude cases without exception handlers (\u003ccode\u003ePLW0717\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25440\"\u003e#25440\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Treat \u003ccode\u003eyield\u003c/code\u003e before \u003ccode\u003ebreak\u003c/code\u003e from a terminal loop as terminal (\u003ccode\u003eRUF075\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25447\"\u003e#25447\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eeradicate\u003c/code\u003e] Avoid flagging \u003ccode\u003eruff:ignore\u003c/code\u003e comments as code (\u003ccode\u003eERA001\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25537\"\u003e#25537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eeradicate\u003c/code\u003e] Fix \u003ccode\u003eERA001\u003c/code\u003e/\u003ccode\u003eRUF100\u003c/code\u003e conflict when \u003ccode\u003enoqa\u003c/code\u003e is on commented-out code (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25414\"\u003e#25414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Avoid removing the \u003ccode\u003eformat\u003c/code\u003e call when it would change behavior (\u003ccode\u003eF523\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25320\"\u003e#25320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Avoid syntax errors in invalid character replacements in f-strings before Python 3.12 (\u003ccode\u003ePLE2510\u003c/code\u003e, \u003ccode\u003ePLE2512\u003c/code\u003e, \u003ccode\u003ePLE2513\u003c/code\u003e, \u003ccode\u003ePLE2514\u003c/code\u003e, \u003ccode\u003ePLE2515\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25544\"\u003e#25544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Avoid converting \u003ccode\u003eformat\u003c/code\u003e calls with more kinds of side effects (\u003ccode\u003eUP032\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25484\"\u003e#25484\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pytest-style\u003c/code\u003e] Avoid fixes for ambiguous \u003ccode\u003eargnames\u003c/code\u003e and \u003ccode\u003eargvalues\u003c/code\u003e combinations (\u003ccode\u003ePT006\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24776\"\u003e#24776\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDrop excess capacity from statement suites during parsing (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25368\"\u003e#25368\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003epydocstyle\u003c/code\u003e] Improve discoverability of rules enabled for each convention (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24973\"\u003e#24973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Restore example code for Python versions before 3.15 (\u003ccode\u003eRUF017\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25439\"\u003e#25439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix typo \u003ccode\u003ebin/active\u003c/code\u003e → \u003ccode\u003ebin/activate\u003c/code\u003e in tutorial (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25473\"\u003e#25473\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShrink additional parser AST collections (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25465\"\u003e#25465\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Redslayer112\"\u003e\u003ccode\u003e@​Redslayer112\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/koriyoshi2041\"\u003e\u003ccode\u003e@​koriyoshi2041\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/George-Ogden\"\u003e\u003ccode\u003e@​George-Ogden\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TejasAmle\"\u003e\u003ccode\u003e@​TejasAmle\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anishgirianish\"\u003e\u003ccode\u003e@​anishgirianish\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MichaReiser\"\u003e\u003ccode\u003e@​MichaReiser\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/loganrosen\"\u003e\u003ccode\u003e@​loganrosen\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RafaelJohn9\"\u003e\u003ccode\u003e@​RafaelJohn9\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adityasingh2400\"\u003e\u003ccode\u003e@​adityasingh2400\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.16\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-06-04.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-async\u003c/code\u003e] Implement \u003ccode\u003eyield-in-context-manager-in-async-generator\u003c/code\u003e (\u003ccode\u003eASYNC119\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24644\"\u003e#24644\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Narrow diagnostic range and exclude cases without exception handlers (\u003ccode\u003ePLW0717\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25440\"\u003e#25440\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Treat \u003ccode\u003eyield\u003c/code\u003e before \u003ccode\u003ebreak\u003c/code\u003e from a terminal loop as terminal (\u003ccode\u003eRUF075\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25447\"\u003e#25447\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eeradicate\u003c/code\u003e] Avoid flagging \u003ccode\u003eruff:ignore\u003c/code\u003e comments as code (\u003ccode\u003eERA001\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25537\"\u003e#25537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eeradicate\u003c/code\u003e] Fix \u003ccode\u003eERA001\u003c/code\u003e/\u003ccode\u003eRUF100\u003c/code\u003e conflict when \u003ccode\u003enoqa\u003c/code\u003e is on commented-out code (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25414\"\u003e#25414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Avoid removing the \u003ccode\u003eformat\u003c/code\u003e call when it would change behavior (\u003ccode\u003eF523\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25320\"\u003e#25320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Avoid syntax errors in invalid character replacements in f-strings before Python 3.12 (\u003ccode\u003ePLE2510\u003c/code\u003e, \u003ccode\u003ePLE2512\u003c/code\u003e, \u003ccode\u003ePLE2513\u003c/code\u003e, \u003ccode\u003ePLE2514\u003c/code\u003e, \u003ccode\u003ePLE2515\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25544\"\u003e#25544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Avoid converting \u003ccode\u003eformat\u003c/code\u003e calls with more kinds of side effects (\u003ccode\u003eUP032\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25484\"\u003e#25484\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pytest-style\u003c/code\u003e] Avoid fixes for ambiguous \u003ccode\u003eargnames\u003c/code\u003e and \u003ccode\u003eargvalues\u003c/code\u003e combinations (\u003ccode\u003ePT006\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24776\"\u003e#24776\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDrop excess capacity from statement suites during parsing (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25368\"\u003e#25368\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003epydocstyle\u003c/code\u003e] Improve discoverability of rules enabled for each convention (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24973\"\u003e#24973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Restore example code for Python versions before 3.15 (\u003ccode\u003eRUF017\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25439\"\u003e#25439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix typo \u003ccode\u003ebin/active\u003c/code\u003e → \u003ccode\u003ebin/activate\u003c/code\u003e in tutorial (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25473\"\u003e#25473\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShrink additional parser AST collections (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25465\"\u003e#25465\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Redslayer112\"\u003e\u003ccode\u003e@​Redslayer112\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/koriyoshi2041\"\u003e\u003ccode\u003e@​koriyoshi2041\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/George-Ogden\"\u003e\u003ccode\u003e@​George-Ogden\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TejasAmle\"\u003e\u003ccode\u003e@​TejasAmle\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anishgirianish\"\u003e\u003ccode\u003e@​anishgirianish\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MichaReiser\"\u003e\u003ccode\u003e@​MichaReiser\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/loganrosen\"\u003e\u003ccode\u003e@​loganrosen\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RafaelJohn9\"\u003e\u003ccode\u003e@​RafaelJohn9\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adityasingh2400\"\u003e\u003ccode\u003e@​adityasingh2400\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.15.15\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/6c498ab5394edc5622d7f348e12956bf86203716\"\u003e\u003ccode\u003e6c498ab\u003c/code\u003e\u003c/a\u003e Bump 0.15.16 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25635\"\u003e#25635\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/e51e132831c4e1c4a5ac00fca4c9256354ab99bf\"\u003e\u003ccode\u003ee51e132\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eflake8-async\u003c/code\u003e] Implement \u003ccode\u003eyield-in-context-manager-in-async-generator\u003c/code\u003e (`AS...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/7c6dcd9f2611999c449143d241c582dedf287964\"\u003e\u003ccode\u003e7c6dcd9\u003c/code\u003e\u003c/a\u003e [ty] Add caching for pattern match narrowing (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25613\"\u003e#25613\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/27058fc071b542bf06395ba89cabed061d313ca6\"\u003e\u003ccode\u003e27058fc\u003c/code\u003e\u003c/a\u003e [ty] Compact retained definition and expression identities (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25606\"\u003e#25606\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/bf80d05f007c939799f530c9e775ed9449f5b2eb\"\u003e\u003ccode\u003ebf80d05\u003c/code\u003e\u003c/a\u003e Fix CODEOWNERS syntax (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25622\"\u003e#25622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/10ccd511e94a81d1e836b174f1c553a73ff3f1b3\"\u003e\u003ccode\u003e10ccd51\u003c/code\u003e\u003c/a\u003e Shrink additional parser AST collections (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25465\"\u003e#25465\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/0d7135f4d23e7f4d8404daed16b9ef11d14f3fb9\"\u003e\u003ccode\u003e0d7135f\u003c/code\u003e\u003c/a\u003e [ty] Upgrade Salsa (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25545\"\u003e#25545\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/49493a3cea83a08fa9aa143695017c816a540f1d\"\u003e\u003ccode\u003e49493a3\u003c/code\u003e\u003c/a\u003e [ty] Show type alias value on hover (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25381\"\u003e#25381\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/85207d3b7657a84252f266766cb0d56034dc21cc\"\u003e\u003ccode\u003e85207d3\u003c/code\u003e\u003c/a\u003e [ty] sys.implementation.version is not sys.version_info (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25608\"\u003e#25608\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/a8a0614348c1fcf47fc9b666eff61a103914d520\"\u003e\u003ccode\u003ea8a0614\u003c/code\u003e\u003c/a\u003e [ty] Avoid retaining duplicate function signatures (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25609\"\u003e#25609\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.15.11...0.15.16\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ty` from 0.0.31 to 0.0.44\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ty/releases\"\u003ety's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.44\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-06-04.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid treating \u003ccode\u003esys.implementation.version\u003c/code\u003e like \u003ccode\u003esys.version_info\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25608\"\u003e#25608\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix anchor point for override diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25621\"\u003e#25621\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLSP server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShow type alias value on hover (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25381\"\u003e#25381\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd caching for pattern match narrowing (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25613\"\u003e#25613\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCompact retained definition and expression identities (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25606\"\u003e#25606\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReuse expression cache for TypedDict union inference (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25643\"\u003e#25643\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade Salsa (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25545\"\u003e#25545\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCore type checking\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnable narrowing for unions of TypedDict (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25188\"\u003e#25188\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lerebear\"\u003e\u003ccode\u003e@​lerebear\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MichaReiser\"\u003e\u003ccode\u003e@​MichaReiser\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/carljm\"\u003e\u003ccode\u003e@​carljm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pierrem964\"\u003e\u003ccode\u003e@​pierrem964\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/charliermarsh\"\u003e\u003ccode\u003e@​charliermarsh\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Hugo-Polloli\"\u003e\u003ccode\u003e@​Hugo-Polloli\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall ty 0.0.44\u003c/h2\u003e\n\u003ch3\u003eInstall prebuilt binaries via shell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ecurl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/ty/releases/download/0.0.44/ty-installer.sh | sh\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via powershell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003epowershell -ExecutionPolicy Bypass -c \u0026quot;irm https://releases.astral.sh/github/ty/releases/download/0.0.44/ty-installer.ps1 | iex\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eDownload ty 0.0.44\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ty/blob/main/CHANGELOG.md\"\u003ety's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.44\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-06-04.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid treating \u003ccode\u003esys.implementation.version\u003c/code\u003e like \u003ccode\u003esys.version_info\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25608\"\u003e#25608\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix anchor point for override diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25621\"\u003e#25621\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLSP server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShow type alias value on hover (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25381\"\u003e#25381\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd caching for pattern match narrowing (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25613\"\u003e#25613\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCompact retained definition and expression identities (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25606\"\u003e#25606\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReuse expression cache for TypedDict union inference (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25643\"\u003e#25643\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade Salsa (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25545\"\u003e#25545\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCore type checking\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnable narrowing for unions of TypedDict (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25188\"\u003e#25188\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lerebear\"\u003e\u003ccode\u003e@​lerebear\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MichaReiser\"\u003e\u003ccode\u003e@​MichaReiser\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/carljm\"\u003e\u003ccode\u003e@​carljm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pierrem964\"\u003e\u003ccode\u003e@​pierrem964\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/charliermarsh\"\u003e\u003ccode\u003e@​charliermarsh\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Hugo-Polloli\"\u003e\u003ccode\u003e@​Hugo-Polloli\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.43\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-06-03.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't inject \u003ccode\u003eUnknown\u003c/code\u003e from non-callable elements of intersection call (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25538\"\u003e#25538\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't needlessly disambiguate the same type alias (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25563\"\u003e#25563\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix variance inference for nested type aliases (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25567\"\u003e#25567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIgnore rejected member annotations for synthesized bindings (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25427\"\u003e#25427\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNormalize dynamic class literals in cycle recovery (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25558\"\u003e#25558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRegister file roots for first-party search paths (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25522\"\u003e#25522\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTreat union-bound typevars like unions for \u003ccode\u003epossibly-missing-attribute\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25561\"\u003e#25561\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLSP server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSuppress importable completions that are already in scope (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25479\"\u003e#25479\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/f5523e256eb275c9b473f174aedc383e7b050c34\"\u003e\u003ccode\u003ef5523e2\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.44 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3667\"\u003e#3667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/29ce3146faa2d42867dadd7ecbda84759b8183be\"\u003e\u003ccode\u003e29ce314\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.43 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3648\"\u003e#3648\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/794322d34624abc56301bd85ac354b94ca54fbb2\"\u003e\u003ccode\u003e794322d\u003c/code\u003e\u003c/a\u003e Update docker/build-push-action action to v7.2.0 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3629\"\u003e#3629\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/ce89685310383494c7dfec92bd2fc2dd2a46d074\"\u003e\u003ccode\u003ece89685\u003c/code\u003e\u003c/a\u003e Update prek dependencies (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3628\"\u003e#3628\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/792fb71ca172f8d67fcfdb5fdd452a049724c8fd\"\u003e\u003ccode\u003e792fb71\u003c/code\u003e\u003c/a\u003e Update docker/login-action action to v4.2.0 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3630\"\u003e#3630\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/5c377476823a4b77a903fb5340d77b51d68db389\"\u003e\u003ccode\u003e5c37747\u003c/code\u003e\u003c/a\u003e Update docker/metadata-action action to v6.1.0 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3631\"\u003e#3631\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/5a3e1695ce1e2205070afc18d9a7449e0ed045d0\"\u003e\u003ccode\u003e5a3e169\u003c/code\u003e\u003c/a\u003e Update docker/setup-buildx-action action to v4.1.0 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3632\"\u003e#3632\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/c2500cc57e4aea85ae8e3287351538ad60a9ee00\"\u003e\u003ccode\u003ec2500cc\u003c/code\u003e\u003c/a\u003e Release: Force usage of PyPI as the index (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3616\"\u003e#3616\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/7f8cb6457e8d77178ae9204f9b81a516f44444ed\"\u003e\u003ccode\u003e7f8cb64\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.42 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3615\"\u003e#3615\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/41bb0d24412ad97c214bd0019e602c463ae3feba\"\u003e\u003ccode\u003e41bb0d2\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.41 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3601\"\u003e#3601\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ty/compare/0.0.31...0.0.44\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `hypothesis` from 6.152.1 to 6.155.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/HypothesisWorks/hypothesis/releases\"\u003ehypothesis's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eHypothesis for Python - version 6.152.9\u003c/h2\u003e\n\u003cp\u003eThis release substantially improves our internal distribution for\ngenerating integers. This release has the most visible effect on\n\u0026quot;integers()\u0026quot;, but may incidentally improve other strategies which draw\nintegers internally.\u003c/p\u003e\n\u003cp\u003eOur integers distribution had two problems. First, it had jagged\ndiscontinuities at certain values where we switched sampling\napproaches. Second, it used a different distribution for bounded and\nunbounded ranges, which resulted in \u0026quot;st.integers()\u0026quot; and\n\u0026quot;st.integers(-2\u003cstrong\u003e64, 2\u003c/strong\u003e64)\u0026quot; producing very different distributions\ndespite being semantically similar.\u003c/p\u003e\n\u003cp\u003eWe now use a smooth distribution for both \u0026quot;st.integers()\u0026quot; and\n\u0026quot;st.integers(a, b)\u0026quot;, which fixes both of these issues. This should\nsubstantially improve our testing power in certain cases.\u003c/p\u003e\n\u003cp\u003eThe only way this release should be user-visible is that it finds more\nbugs! If this release is user-visible in other ways - for example,\nbecause it is slower, or produces a worse distribution in some cases -\nplease open an issue.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e\u003ca href=\"https://hypothesis.readthedocs.io/en/latest/changelog.html#v6-152-9\"\u003eThe canonical version of these notes (with links) is on readthedocs.\u003c/a\u003e\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eHypothesis for Python - version 6.152.8\u003c/h2\u003e\n\u003cp\u003eThis release drops support for end-of-life Django 4.2.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e\u003ca href=\"https://hypothesis.readthedocs.io/en/latest/changelog.html#v6-152-8\"\u003eThe canonical version of these notes (with links) is on readthedocs.\u003c/a\u003e\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eHypothesis for Python - version 6.152.7\u003c/h2\u003e\n\u003cp\u003eThis patch improves our type hints for \u0026quot;.filter()\u0026quot; to work with\n\u0026quot;typing.TypeGuard\u0026quot;. For example:\u003c/p\u003e\n\u003cp\u003efrom typing import TypeGuard\u003c/p\u003e\n\u003cp\u003efrom hypothesis import strategies as st\u003c/p\u003e\n\u003cp\u003edef is_str(x: object) -\u0026gt; TypeGuard[str]:\nreturn isinstance(x, str)\u003c/p\u003e\n\u003cp\u003es = st.from_type(object).filter(is_str)\u003c/p\u003e\n\u003ch1\u003epreviously: SearchStrategy[object]\u003c/h1\u003e\n\u003ch1\u003enow: SearchStrategy[str]\u003c/h1\u003e\n\u003cp\u003ereveal_type(s)\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e\u003ca href=\"https://hypothesis.readthedocs.io/en/latest/changelog.html#v6-152-7\"\u003eThe canonical version of these notes (with links) is on readthedocs.\u003c/a\u003e\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eHypothesis for Python - version 6.152.6\u003c/h2\u003e\n\u003cp\u003eThis patch adds a shrinking pass that tries natural text\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/HypothesisWorks/hypothesis/commit/fcc26c4c67eb9aaf4f153417f373f4c349128b54\"\u003e\u003ccode\u003efcc26c4\u003c/code\u003e\u003c/a\u003e Bump hypothesis version to 6.155.2 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/13cdd0b401f23468171e8d424da391892d5e5b26\"\u003e\u003ccode\u003e13cdd0b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4760\"\u003e#4760\u003c/a\u003e from Zac-HD/datetime-symbolic-4759\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/e48846d29ac846ca054697f4a2463f9550847e26\"\u003e\u003ccode\u003ee48846d\u003c/code\u003e\u003c/a\u003e format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/b4152eaeae285ef4e24f0ebdc72b1e9ce817f769\"\u003e\u003ccode\u003eb4152ea\u003c/code\u003e\u003c/a\u003e rewrite comments and improve test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/6b18db3fd215d15484f072b31bddafcef1a0b162\"\u003e\u003ccode\u003e6b18db3\u003c/code\u003e\u003c/a\u003e fixed flake\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/eb7d53abdc3a0c06efe919b4c75f6e4dc766d3f2\"\u003e\u003ccode\u003eeb7d53a\u003c/code\u003e\u003c/a\u003e Update pinned dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/1bbeb59dce2f9cfe5a4bde03bac16e8f09ae6da9\"\u003e\u003ccode\u003e1bbeb59\u003c/code\u003e\u003c/a\u003e Fix update_pyodide_versions for relocated xbuildenv metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/552a461a915fe2deb610db19766c9d120272d492\"\u003e\u003ccode\u003e552a461\u003c/code\u003e\u003c/a\u003e Make date/time drawing symbolic-execution friendly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/2c6dfdb16694041a49110590ef598b0324ff89f8\"\u003e\u003ccode\u003e2c6dfdb\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4758\"\u003e#4758\u003c/a\u003e from bsluther/docs-fix-assume-condition\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/1416fe1a5d906a5dffa176bddee8899da9e4b129\"\u003e\u003ccode\u003e1416fe1\u003c/code\u003e\u003c/a\u003e Fix assume condition in \u003ccode\u003eadapting-strategies.rst\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/HypothesisWorks/hypothesis/compare/hypothesis-python-6.152.1...v6.155.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `beautifulsoup4` from 4.14.3 to 4.15.0\n\nUpdates `mutmut` from 3.5.0 to 3.6.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/boxed/mutmut/blob/main/HISTORY.rst\"\u003emutmut's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e3.6.0\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Add `# pragma: no mutate block` and `# pragma: no mutate start/end` comments\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd \u003ccode\u003edo_not_mutate_patterns\u003c/code\u003e to disable mutations with a regex\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd \u003ccode\u003eonly_mutate\u003c/code\u003e config to select which files get mutated\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAlso mutate methods decorated with (only) \u003ccode\u003e@staticmethod\u003c/code\u003e or \u003ccode\u003e@classmethod\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd \u003ccode\u003euse_setproctitle\u003c/code\u003e option to disable process renaming (automatically disabled on MacOS)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd (unstable) \u003ccode\u003etimeout_multiplier\u003c/code\u003e and \u003ccode\u003etimeout_constant\u003c/code\u003e options\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRename \u003ccode\u003epaths_to_mutate\u003c/code\u003e to \u003ccode\u003esource_paths\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDeprecate \u003ccode\u003etests_dir\u003c/code\u003e in favor of \u003ccode\u003epytest_add_cli_args_test_selection\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eChange \u003ccode\u003emax_stack_depth\u003c/code\u003e to only consider functions inside \u003ccode\u003esource_paths\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDisable mutation of enums and \u003ccode\u003e@staticmethod\u003c/code\u003e/\u003ccode\u003e@classmethod\u003c/code\u003e methods when \u003ccode\u003etype_check_command\u003c/code\u003e is set, as these mutations break type checking\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix mutation for enum class methods\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix mutate_only_covered_lines when project uses custom coverage.py config\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix execution when running mutmut via \u003ccode\u003epython -m mutmut run\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix mutation of \u003ccode\u003eclass _SomePrivateClass\u003c/code\u003e class methods\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix mutation of default args\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003emutmut browse\u003c/code\u003e crash when no file is selected yet\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix timeout checker looking up the wrong mutant's expected test time, which could cause mutants to hang\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCompare stats paths after resolving symlinks\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eWarn when mutmut cannot match mutants with the collected stats\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/boxed/mutmut/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pre-commit` from 4.5.1 to 4.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pre-commit/pre-commit/releases\"\u003epre-commit's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epre-commit v4.6.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003epre-commit hook-impl\u003c/code\u003e: allow \u003ccode\u003e--hook-dir\u003c/code\u003e to be missing to enable easier usage with \u003ccode\u003egit\u003c/code\u003e 2.54+ git hooks.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3662\"\u003e#3662\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003epre-commit hook-impl\u003c/code\u003e: \u003ccode\u003e--hook-type\u003c/code\u003e is required.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3661\"\u003e#3661\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md\"\u003epre-commit's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e4.6.0 - 2026-04-21\u003c/h1\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003epre-commit hook-impl\u003c/code\u003e: allow \u003ccode\u003e--hook-dir\u003c/code\u003e to be missing to enable easier\nusage with \u003ccode\u003egit\u003c/code\u003e 2.54+ git hooks.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3662\"\u003e#3662\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003epre-commit hook-impl\u003c/code\u003e: \u003ccode\u003e--hook-type\u003c/code\u003e is required.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3661\"\u003e#3661\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/f35134b05028ec938ac605ae500fdf95462655d3\"\u003e\u003ccode\u003ef35134b\u003c/code\u003e\u003c/a\u003e v4.6.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/2a51ffcb81f6c8ed2e6467913c3343a8800f3ab9\"\u003e\u003ccode\u003e2a51ffc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3662\"\u003e#3662\u003c/a\u003e from pre-commit/hook-impl-optional-hook-dir\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/d7dee322abfc765b042f2e3b872aab3c3a867610\"\u003e\u003ccode\u003ed7dee32\u003c/code\u003e\u003c/a\u003e make --hook-dir optional for hook-impl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/965aeb1c680e8b526342153547f0ec014484c63d\"\u003e\u003ccode\u003e965aeb1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3661\"\u003e#3661\u003c/a\u003e from pre-commit/hook-impl-required\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/2eacc064aa9b5bb33d3a0d84a234b475e34f3096\"\u003e\u003ccode\u003e2eacc06\u003c/code\u003e\u003c/a\u003e --hook-type is required for hook-impl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/f5678bf4ac35cffc0ff7174ad85f7fdc2a5c977e\"\u003e\u003ccode\u003ef5678bf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3657\"\u003e#3657\u003c/a\u003e from pre-commit/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/054cc5bd6bb1b20faa1eefe09f0de3b68fceee94\"\u003e\u003ccode\u003e054cc5b\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/5c0f3024d2524f6e029a4c333392fd9be9fb27f6\"\u003e\u003ccode\u003e5c0f302\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3652\"\u003e#3652\u003c/a\u003e from pre-commit/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/a5d91142676630f8130020b35e166e0c0e92b8f4\"\u003e\u003ccode\u003ea5d9114\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/129a1f5ca1eaee0c952a5e7a07faae305c5e15bc\"\u003e\u003ccode\u003e129a1f5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3641\"\u003e#3641\u003c/a\u003e from pre-commit/mxr-patch-1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pre-commit/pre-commit/compare/v4.5.1...v4.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `certifi` from 2026.2.25 to 2026.5.20\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/d7ea151afc2ce6bef0555b9349902bd867e928dd\"\u003e\u003ccode\u003ed7ea151\u003c/code\u003e\u003c/a\u003e 2026.05.20 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/413\"\u003e#413\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/5dddfb072243da27adde885b73ba9b809c3224ca\"\u003e\u003ccode\u003e5dddfb0\u003c/code\u003e\u003c/a\u003e 2026.04.22 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/410\"\u003e#410\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/f99eccdaf87f7c10e521a58a700ca3eb94a0787e\"\u003e\u003ccode\u003ef99eccd\u003c/code\u003e\u003c/a\u003e Bump peter-evans/create-pull-request from 8.1.0 to 8.1.1 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/404\"\u003e#404\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/918bed055f7291719512af186c1c24710f845660\"\u003e\u003ccode\u003e918bed0\u003c/code\u003e\u003c/a\u003e Bump actions/upload-artifact from 7.0.0 to 7.0.1 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/405\"\u003e#405\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/0a49067eb434e53e1f8df5f7707d5dc05ef9def4\"\u003e\u003ccode\u003e0a49067\u003c/code\u003e\u003c/a\u003e Bump pypa/gh-action-pypi-publish from 1.13.0 to 1.14.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/403\"\u003e#403\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/acf6ce8e39e3b125f4349e11904295e4fe4c1bed\"\u003e\u003ccode\u003eacf6ce8\u003c/code\u003e\u003c/a\u003e Bump actions/download-artifact from 8.0.0 to 8.0.1 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/398\"\u003e#398\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/feb0ed26163a9417ea0fb8eb52d47e79fcf202ab\"\u003e\u003ccode\u003efeb0ed2\u003c/code\u003e\u003c/a\u003e Bump actions/download-artifact from 7.0.0 to 8.0.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/397\"\u003e#397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/d9c11a50369cc377abb40f7909ded3d6da4d98a3\"\u003e\u003ccode\u003ed9c11a5\u003c/code\u003e\u003c/a\u003e Bump actions/upload-artifact from 6.0.0 to 7.0.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/396\"\u003e#396\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/certifi/python-certifi/compare/2026.02.25...2026.05.20\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `coverage` from 7.13.5 to 7.14.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/coveragepy/coveragepy/blob/main/CHANGES.rst\"\u003ecoverage's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 7.14.1 — 2026-05-26\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix: the HTML report used typographic niceties to make file paths more\nreadable by adding a small amount of space around slashes. Those spaces\ninterfered with searching the page for file paths of interest. Now the report\nuses CSS to accomplish the same visual tweak so that searches with slashes\nwork correctly. Closes \u003ccode\u003eissue 2170\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eAdd a 3.16 PyPI classifier \u0026lt;hugo-316_\u0026gt;\u003c/code\u003e_ since we test on the 3.16 main\nbranch.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _issue 2170: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2170\"\u003ecoveragepy/coveragepy#2170\u003c/a\u003e\n.. _hugo-316: \u003ca href=\"https://mastodon.social/@hugovk/116588523571204490\"\u003ehttps://mastodon.social/@​hugovk/116588523571204490\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e.. _changes_7-14-0:\u003c/p\u003e\n\u003ch2\u003eVersion 7.14.0 — 2026-05-10\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeature: now when running one of the reporting commands, if there are\nparallel data files that need combining, they will be implicitly combined\nbefore creating the report. There is no option to avoid the combination; let\nus know if you have a use case that requires it.  Thanks, \u003ccode\u003eTim Hatch \u0026lt;pull 2162_\u0026gt;\u003c/code\u003e\u003cem\u003e. Closes \u003ccode\u003eissue 1781\u003c/code\u003e\u003c/em\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: the output from \u003ccode\u003ecombine\u003c/code\u003e was too verbose, listing each file\nconsidered. Now it shows a single line with the counts of files combined,\nfiles skipped, and files with errors. The \u003ccode\u003e-q\u003c/code\u003e flag suppresses this line.\nThe old detailed lines are available with the new \u003ccode\u003e--debug=combine\u003c/code\u003e option.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: running a Python file through a symlink now sets the sys.path correctly,\nmatching regular Python behavior. Fixes \u003ccode\u003eissue 2157\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: \u003ccode\u003eCollector.flush_data\u003c/code\u003e could fail with \u0026quot;RuntimeError: Set changed\nsize during iteration\u0026quot; when a tracer in another thread added a line to the\nper-file set that \u003ccode\u003eadd_lines\u003c/code\u003e (or \u003ccode\u003eadd_arcs\u003c/code\u003e) was iterating. The values\npassed to \u003ccode\u003eCoverageData\u003c/code\u003e are now snapshotted via \u003ccode\u003edict.copy()\u003c/code\u003e and\n\u003ccode\u003eset.copy()\u003c/code\u003e, which are atomic under the GIL. Thanks, \u003ccode\u003eAlex Vandiver \u0026lt;pull 2165_\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: the soft keyword \u003ccode\u003elazy\u003c/code\u003e is now bolded in HTML reports.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eWe are no longer testing eventlet support. Eventlet started issuing stern\ndeprecation warnings that break our tests. Our support code is still there.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _issue 1781: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/1781\"\u003ecoveragepy/coveragepy#1781\u003c/a\u003e\n.. _issue 2157: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2157\"\u003ecoveragepy/coveragepy#2157\u003c/a\u003e\n.. _pull 2162: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/pull/2162\"\u003ecoveragepy/coveragepy#2162\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/64d9b66fd852c1920ffe6cb8b58d7e4fdae90226\"\u003e\u003ccode\u003e64d9b66\u003c/code\u003e\u003c/a\u003e docs: correct the date for 7.14.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/6fa7dd44c25e1a660252faaf030dd8f2f1e20861\"\u003e\u003ccode\u003e6fa7dd4\u003c/code\u003e\u003c/a\u003e chore: bump actions/dependency-review-action (\u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2181\"\u003e#2181\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/078afae263597b004eb9a85d880b6a65008e75ed\"\u003e\u003ccode\u003e078afae\u003c/code\u003e\u003c/a\u003e docs: sample HTML for 7.14.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/cb4f028a36e008b664739d04f387b90ee5105044\"\u003e\u003ccode\u003ecb4f028\u003c/code\u003e\u003c/a\u003e docs: prep for 7.14.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/ae2d09f562271c6169534e1c242d015dd0823dda\"\u003e\u003ccode\u003eae2d09f\u003c/code\u003e\u003c/a\u003e Merge branch 'nedbat/classifire-316-kits'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/2c3568b2e041f2c0dbbc8eaa3919d46ee891b743\"\u003e\u003ccode\u003e2c3568b\u003c/code\u003e\u003c/a\u003e build: declare 3.16 compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/faa68f8601cf098701b68976dbb73b9fc23c9297\"\u003e\u003ccode\u003efaa68f8\u003c/code\u003e\u003c/a\u003e chore: bump github/codeql-action in the action-dependencies group (\u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2173\"\u003e#2173\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/eb55feedf54b363e3d0b678f20abf3bfd3551a88\"\u003e\u003ccode\u003eeb55fee\u003c/code\u003e\u003c/a\u003e test: we don't need PyPy \u0026lt; 7.3.22 anymore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/ac168fe53c04cdb2ff5231c0c4e5045021ee339b\"\u003e\u003ccode\u003eac168fe\u003c/code\u003e\u003c/a\u003e test: the text summary should show missing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/fed4bd2db3c1cb2916a07791041da693fbf8e996\"\u003e\u003ccode\u003efed4bd2\u003c/code\u003e\u003c/a\u003e chore: upgrade virtualenv\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/coveragepy/coveragepy/compare/7.13.5...7.14.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cyclonedx-python-lib` from 11.7.0 to 11.8.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/releases\"\u003ecyclonedx-python-lib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev11.8.0 (2026-06-04)\u003c/h2\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate CDX summary (\u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/951\"\u003e#951\u003c/a\u003e, \u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/commit/752b1620a23e319add81c505fe7197a2ae3cca06\"\u003e\u003ccode\u003e752b162\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support CycloneDX 1.7.1 \u0026amp; 1.6.2 \u0026amp; 1.5.1 (\u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/985\"\u003e#985\u003c/a\u003e, \u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/commit/303889ba2b47033ae693c1af8bff552664e1910c\"\u003e\u003ccode\u003e303889b\u003c/code\u003e\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePull SPDX license IDs v1.1-3.28.0 (\u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/986\"\u003e#986\u003c/a\u003e, \u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/commit/42ff04444fa054d86da2302bc62e1bffd3b397df\"\u003e\u003ccode\u003e42ff044\u003c/code\u003e\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore: extract glob for pyupgrade to separate script for cross-platform compatibility by \u003ca href=\"https://github.com/peschuster\"\u003e\u003ccode\u003e@​peschuster\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/950\"\u003eCycloneDX/cyclonedx-python-lib#950\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update CDX summary by \u003ca href=\"https://github.com/jkowalleck\"\u003e\u003ccode\u003e@​jkowalleck\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/951\"\u003eCycloneDX/cyclonedx-python-lib#951\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: fix test coverage reporting by \u003ca href=\"https://github.com/jkowalleck\"\u003e\u003ccode\u003e@​jkowalleck\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/956\"\u003eCycloneDX/cyclonedx-python-lib#956\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): update tomli requirement from 2.3.0 to 2.4.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/954\"\u003eCycloneDX/cyclonedx-python-lib#954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(release): use own GH app for releasing by \u003ca href=\"https://github.com/jkowalleck\"\u003e\u003ccode\u003e@​jkowalleck\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/958\"\u003eCycloneDX/cyclonedx-python-lib#958\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(ci): pin GitHub Actions to immutable SHAs while preserving tag tracking by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/961\"\u003eCycloneDX/cyclonedx-python-lib#961\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: add zizmor workflow to harden GitHub Actions security by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/968\"\u003eCycloneDX/cyclonedx-python-lib#968\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate PULL_REQUEST_TEMPLATE.md by \u003ca href=\"https://github.com/jkowalleck\"\u003e\u003ccode\u003e@​jkowalleck\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/974\"\u003eCycloneDX/cyclonedx-python-lib#974\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Update CONTRIBUTING.md by \u003ca href=\"https://github.com/jkowalleck\"\u003e\u003ccode\u003e@​jkowalleck\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/975\"\u003eCycloneDX/cyclonedx-python-lib#975\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(ci): comments for pinned actions by \u003ca href=\"https://github.com/jkowalleck\"\u003e\u003ccode\u003e@​jkowalleck\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/984\"\u003eCycloneDX/cyclonedx-python-lib#984\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add support CycloneDX 1.7.1 \u0026amp; 1.6.2 \u0026amp; 1.5.1 by \u003ca href=\"https://github.com/jkowalleck\"\u003e\u003ccode\u003e@​jkowalleck\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/985\"\u003eCycloneDX/cyclonedx-python-lib#985\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump actions/create-github-app-token from 3.1.1 to 3.2.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/982\"\u003eCycloneDX/cyclonedx-python-lib#982\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump actions/download-artifact from 7.0.0 to 8.0.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/964\"\u003eCycloneDX/cyclonedx-python-lib#964\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump actions/upload-artifact from 6.0.0 to 7.0.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/963\"\u003eCycloneDX/cyclonedx-python-lib#963\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: pull SPDX license IDs v1.1-3.28.0 by \u003ca href=\"https://github.com/jkowalleck\"\u003e\u003ccode\u003e@​jkowalleck\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/986\"\u003eCycloneDX/cyclonedx-python-lib#986\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/compare/v11.7.0...v11.8.0\"\u003ehttps://github.com/CycloneDX/cyclonedx-python-lib/compare/v11.7.0...v11.8.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev11.7.1-alpha.2 (2026-05-04)\u003c/h2\u003e\n\u003cp\u003etest release during \u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/969\"\u003eCycloneDX/cyclonedx-python-lib#969\u003c/a\u003e\u003c/p\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003cstrong\u003eDetailed Changes\u003c/strong\u003e: \u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/compare/v11.7.0...v11.7.1-alpha.2\"\u003ev11.7.0...v11.7.1-alpha.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev11.7.1-alpha.1 (2026-05-04)\u003c/h2\u003e\n\u003cp\u003etest release during \u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/969\"\u003eCycloneDX/cyclonedx-python-lib#969\u003c/a\u003e\u003c/p\u003e\n\u003chr /\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/blob/main/CHANGELOG.md\"\u003ecyclonedx-python-lib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev11.8.0 (2026-06-04)\u003c/h2\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate CDX summary (\u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/951\"\u003e#951\u003c/a\u003e,\n\u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/commit/752b1620a23e319add81c505fe7197a2ae3cca06\"\u003e\u003ccode\u003e752b162\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support CycloneDX 1.7.1 \u0026amp; 1.6.2 \u0026amp; 1.5.1\n(\u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/985\"\u003e#985\u003c/a\u003e,\n\u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/commit/303889ba2b47033ae693c1af8bff552664e1910c\"\u003e\u003ccode\u003e303889b\u003c/code\u003e\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePull SPDX license IDs v1.1-3.28.0\n(\u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/pull/986\"\u003e#986\u003c/a\u003e,\n\u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/commit/42ff04444fa054d86da2302bc62e1bffd3b397df\"\u003e\u003ccode\u003e42ff044\u003c/code\u003e\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/commit/e537812860bc7800ee6252524da2353bee71aba3\"\u003e\u003ccode\u003ee537812\u003c/code\u003e\u003c/a\u003e chore(release): 11.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/commit/42ff04444fa054d86da2302bc62e1bffd3b397df\"\u003e\u003ccode\u003e42ff044\u003c/code\u003e\u003c/a\u003e feat: pull SPDX license IDs v1.1-3.28.0 (\u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/issues/986\"\u003e#986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/commit/590402a0c963816a48902eba86d6be963ebf3ed0\"\u003e\u003ccode\u003e590402a\u003c/code\u003e\u003c/a\u003e chore(deps): bump actions/upload-artifact from 6.0.0 to 7.0.1 (\u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/issues/963\"\u003e#963\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/commit/051abcef774a606b93da55b8fed4aa4ae056a744\"\u003e\u003ccode\u003e051abce\u003c/code\u003e\u003c/a\u003e chore(deps): bump actions/download-artifact from 7.0.0 to 8.0.1 (\u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/issues/964\"\u003e#964\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/commit/bc961efabd6a898f2d349ad97d2804d66b60e45c\"\u003e\u003ccode\u003ebc961ef\u003c/code\u003e\u003c/a\u003e chore(deps): bump actions/create-github-app-token from 3.1.1 to 3.2.0 (\u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/issues/982\"\u003e#982\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/commit/303889ba2b47033ae693c1af8bff552664e1910c\"\u003e\u003ccode\u003e303889b\u003c/code\u003e\u003c/a\u003e feat: add support CycloneDX 1.7.1 \u0026amp; 1.6.2 \u0026amp; 1.5.1 (\u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/issues/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/commit/392ba604f2510bdfaab5020f8cd7c54f8140dd6a\"\u003e\u003ccode\u003e392ba60\u003c/code\u003e\u003c/a\u003e chore(ci): comments for pinned actions (\u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/issues/984\"\u003e#984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/commit/0daf3f99c171d64634443cfecea12eb10c84fde9\"\u003e\u003ccode\u003e0daf3f9\u003c/code\u003e\u003c/a\u003e chore: Update CONTRIBUTING.md (\u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/issues/975\"\u003e#975\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/commit/1a6dfb047631085d2acddc38afbe41413a4f9420\"\u003e\u003ccode\u003e1a6dfb0\u003c/code\u003e\u003c/a\u003e Update PULL_REQUEST_TEMPLATE.md (\u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/issues/974\"\u003e#974\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/commit/52c29afe0e17339daf77fc107f21072d4bf52425\"\u003e\u003ccode\u003e52c29af\u003c/code\u003e\u003c/a\u003e chore: add zizmor workflow to harden GitHub Actions security (\u003ca href=\"https://redirect.github.com/CycloneDX/cyclonedx-python-lib/issues/968\"\u003e#968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/CycloneDX/cyclonedx-python-lib/compare/v11.7.0...v11.8.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `distlib` from 0.4.0 to 0.4.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/distlib/blob/master/CHANGES.rst\"\u003edistlib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e0.4.1\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\nReleased: 2026-06-02\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003escripts\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix path traversal bug in handling entry points which allowed escaping the scripts directory.\nThanks to tonghuaroot for the comprehensive report.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003etests\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ca href=\"https://redirect.github.com/pypa/distlib/issues/251\"\u003e#251\u003c/a\u003e: Change test function following a reorganization which happened in the Python stdlib.\n\u003c/code\u003e\u003c/pre\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/distlib/commit/d562ad5aabe23dc03b22fccdf84dc01fddf0d336\"\u003e\u003ccode\u003ed562ad5\u003c/code\u003e\u003c/a\u003e Changes for 0.4.1.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/distlib/commit/6286442857de9f734686d08f0e59ca8048ee357a\"\u003e\u003ccode\u003e6286442\u003c/code\u003e\u003c/a\u003e Fix \u003ca href=\"https://redirect.github.com/pypa/distlib/issues/251\"\u003e#251\u003c/a\u003e: Use more appropriate function in test.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/distlib/commit/e3b1cd6ec121058ae71a2aab08aa2a120360c872\"\u003e\u003ccode\u003ee3b1cd6\u003c/code\u003e\u003c/a\u003e Bump version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/distlib/commit/da3e90aef9c2ea545ac653039dd970174b48ebd4\"\u003e\u003ccode\u003eda3e90a\u003c/code\u003e\u003c/a\u003e Added tag 0.4.0 for changeset d31f0b340fde\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pypa/distlib/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 `filelock` from 3.25.2 to 3.29.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tox-dev/py-filelock/releases\"\u003efilelock's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.29.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edocs: fix API docs of \u003ccode\u003erelease()\u003c/code\u003e by \u003ca href=\"https://github.com/MrAnno\"\u003e\u003ccode\u003e@​MrAnno\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/540\"\u003etox-dev/filelock#540\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: clarify per-thread scope of FileLock configuration by \u003ca href=\"https://github.com/Gares95\"\u003e\u003ccode\u003e@​Gares95\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/543\"\u003etox-dev/filelock#543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: improve filelock maintenance path by \u003ca href=\"https://github.com/lphuc2250gma\"\u003e\u003ccode\u003e@​lphuc2250gma\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/542\"\u003etox-dev/filelock#542\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: improve filelock maintenance path by \u003ca href=\"https://github.com/lphuc2250gma\"\u003e\u003ccode\u003e@​lphuc2250gma\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/544\"\u003etox-dev/filelock#544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: improve filelock maintenance path by \u003ca href=\"https://github.com/lphuc2250gma\"\u003e\u003ccode\u003e@​lphuc2250gma\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/545\"\u003etox-dev/filelock#545\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(soft): refuse to follow symlinks when reading the lock file by \u003ca href=\"https://github.com/dxbjavid\"\u003e\u003ccode\u003e@​dxbjavid\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/548\"\u003etox-dev/filelock#548\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MrAnno\"\u003e\u003ccode\u003e@​MrAnno\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/540\"\u003etox-dev/filelock#540\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Gares95\"\u003e\u003ccode\u003e@​Gares95\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/543\"\u003etox-dev/filelock#543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lphuc2250gma\"\u003e\u003ccode\u003e@​lphuc2250gma\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/542\"\u003etox-dev/filelock#542\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dxbjavid\"\u003e\u003ccode\u003e@​dxbjavid\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/548\"\u003etox-dev/filelock#548\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tox-dev/filelock/compare/3.29.0...3.29.1\"\u003ehttps://github.com/tox-dev/filelock/compare/3.29.0...3.29.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.29.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 fix(async): use single-thread executor for lock consistency by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/533\"\u003etox-dev/filelock#533\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ feat(soft): enable stale lock detection on Windows by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/534\"\u003etox-dev/filelock#534\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tox-dev/filelock/compare/3.28.0...3.29.0\"\u003ehttps://github.com/tox-dev/filelock/compare/3.28.0...3.29.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.28.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 fix(ci): unbreak release workflow, publish to PyPI again by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/529\"\u003etox-dev/filelock#529\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tox-dev/filelock/compare/3.27.0...3.28.0\"\u003ehttps://github.com/tox-dev/filelock/compare/3.27.0...3.28.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.27.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e✨ feat(rw): add SoftReadWriteLock for NFS and HPC clusters by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/528\"\u003etox-dev/filelock#528\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tox-dev/filelock/compare/3.26.1...3.27.0\"\u003ehttps://github.com/tox-dev/filelock/compare/3.26.1...3.27.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.26.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blo...\n\n_Description has been truncated_","html_url":"https://github.com/IvanAnishchuk/geek42/pull/163","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/IvanAnishchuk%2Fgeek42/issues/163","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/163/packages"}},{"old_version":"8.2.6","new_version":"8.2.7","update_type":"patch","path":"the all-deps group","pr_created_at":"2026-05-25T12:00:51.000Z","version_change":"8.2.6 → 8.2.7","issue":{"uuid":"4516738292","node_id":"PR_kwDOSeLHK87fB7Ug","number":3,"state":"closed","title":"chore(deps): bump textual from 8.2.6 to 8.2.7 in the all-deps group","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-02T01:18:41.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-25T12:00:51.000Z","updated_at":"2026-06-02T01:18:43.000Z","time_to_close":652670,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"textual","old_version":"8.2.6","new_version":"8.2.7","repository_url":"https://github.com/Textualize/textual"}],"path":"the all-deps group","ecosystem":"pip"},"body":"Bumps the all-deps group with 1 update: [textual](https://github.com/Textualize/textual).\n\nUpdates `textual` from 8.2.6 to 8.2.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/textual/releases\"\u003etextual's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eThe more Kitty Release\u003c/h2\u003e\n\u003cp\u003eThis release adds additional support for the Kitty key protocol. Which enables some additional keys on some terminals. Additionally, Textual will report modifier keys as separate key events.\u003c/p\u003e\n\u003cp\u003eAdditionally there are a few more shortcuts to the Text Area.\u003c/p\u003e\n\u003cp\u003eThis release sponsored by Mistral AI. See release notes for detail.\u003c/p\u003e\n\u003ch2\u003e[8.2.7] - 2026-05-19\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Kitty key protocol \u0026quot;Report all keys as escape codes\u0026quot; which enabled alt+backspace on Warp \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6544\"\u003eTextualize/textual#6544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded support for detecting separate modifier keys for terminals that support the Kitty key protocol \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6544\"\u003eTextualize/textual#6544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eTEXTUAL_DISABLE_KITTY_KEY\u003c/code\u003e env var to disable Kitty key protocol support (debug aid). \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6544\"\u003eTextualize/textual#6544\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUndo/redo/copy/cut/paste in TextArea will now work with cmd+ on supported terminals \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6543\"\u003eTextualize/textual#6543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIn TextArea, ctrl+u will now delete a newline if the cursor is at the start \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6543\"\u003eTextualize/textual#6543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ein TextArea alt+delete is now bound to delete word right \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6543\"\u003eTextualize/textual#6543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eText opacity applied to an ansi theme will now set the dim attribute if the opacity is \u0026lt; 50% \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6546\"\u003eTextualize/textual#6546\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/Textualize/textual/blob/main/CHANGELOG.md\"\u003etextual's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[8.2.7] - 2026-05-19\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Kitty key protocol \u0026quot;Report all keys as escape codes\u0026quot; which enabled alt+backspace on Warp \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6544\"\u003eTextualize/textual#6544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded support for detecting separate modifier keys for terminals that support the Kitty key protocol \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6544\"\u003eTextualize/textual#6544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eTEXTUAL_DISABLE_KITTY_KEY\u003c/code\u003e env var to disable Kitty key protocol support (debug aid). \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6544\"\u003eTextualize/textual#6544\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUndo/redo/copy/cut/paste in TextArea will now work with cmd+ on supported terminals \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6543\"\u003eTextualize/textual#6543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIn TextArea, ctrl+u will now delete a newline if the cursor is at the start \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6543\"\u003eTextualize/textual#6543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ein TextArea alt+delete is now bound to delete word right \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6543\"\u003eTextualize/textual#6543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eText opacity applied to an ansi theme will now set the dim attribute if the opacity is \u0026lt; 50% \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6546\"\u003eTextualize/textual#6546\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed text opacity with ANSI themes creating RGB colors.  \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6546\"\u003eTextualize/textual#6546\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/Textualize/textual/commit/182277f69011ba0b9665a9a1b1b0c3e89630e913\"\u003e\u003ccode\u003e182277f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6546\"\u003e#6546\u003c/a\u003e from Textualize/ansi-opacity\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/49cbec44ffef26d94ddd42065bcb59a0017acd1a\"\u003e\u003ccode\u003e49cbec4\u003c/code\u003e\u003c/a\u003e bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/b24ef07d422b4ca82d0e65189a0659d032036bf4\"\u003e\u003ccode\u003eb24ef07\u003c/code\u003e\u003c/a\u003e snapshot\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/24e34e48a375ae83c607400809c699d88d423b88\"\u003e\u003ccode\u003e24e34e4\u003c/code\u003e\u003c/a\u003e changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/0c8bbc7eaa3a83b3e2b8b8a35f3e69ec07682b41\"\u003e\u003ccode\u003e0c8bbc7\u003c/code\u003e\u003c/a\u003e text opacity change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/3b04f316e72d071e212046a01f6b9f9976c77e5c\"\u003e\u003ccode\u003e3b04f31\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6543\"\u003e#6543\u003c/a\u003e from Textualize/textarea-actions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/913f5d28cd4aa423f5d9fb9a967cebffa41646aa\"\u003e\u003ccode\u003e913f5d2\u003c/code\u003e\u003c/a\u003e test fixes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/1027c41662ec4c6c3e50f658f548ea33cbdf9233\"\u003e\u003ccode\u003e1027c41\u003c/code\u003e\u003c/a\u003e ctrl+f replaced with ctrl+delete\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/01fb6fd73af092fe6e5da03c032d3e9c3fa161f1\"\u003e\u003ccode\u003e01fb6fd\u003c/code\u003e\u003c/a\u003e ctrl+backspace binding\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/54317091b8a57ab19a5512ef8479d1748d0c6de4\"\u003e\u003ccode\u003e5431709\u003c/code\u003e\u003c/a\u003e words\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/textual/compare/v8.2.6...v8.2.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=textual\u0026package-manager=pip\u0026previous-version=8.2.6\u0026new-version=8.2.7)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \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/Tombo1001/battery-extender/pull/3","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tombo1001%2Fbattery-extender/issues/3","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/3/packages"}},{"old_version":"\u003e=0.40.0","new_version":"\u003e=8.2.7","update_type":"patch","path":null,"pr_created_at":"2026-05-24T08:15:28.000Z","version_change":"\u003e=0.40.0 → \u003e=8.2.7","issue":{"uuid":"4510938726","node_id":"PR_kwDOQ7csuc7ev20M","number":1903,"state":"closed","title":"chore(deps): update textual requirement from \u003e=0.40.0 to \u003e=8.2.7","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-05-24T08:22:40.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-24T08:15:28.000Z","updated_at":"2026-05-24T08:24:32.000Z","time_to_close":432,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): update","packages":[{"name":"textual","old_version":"\u003e=0.40.0","new_version":"\u003e=8.2.7","repository_url":"https://github.com/Textualize/textual"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [textual](https://github.com/Textualize/textual) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/textual/releases\"\u003etextual's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eThe more Kitty Release\u003c/h2\u003e\n\u003cp\u003eThis release adds additional support for the Kitty key protocol. Which enables some additional keys on some terminals. Additionally, Textual will report modifier keys as separate key events.\u003c/p\u003e\n\u003cp\u003eAdditionally there are a few more shortcuts to the Text Area.\u003c/p\u003e\n\u003cp\u003eThis release sponsored by Mistral AI. See release notes for detail.\u003c/p\u003e\n\u003ch2\u003e[8.2.7] - 2026-05-19\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Kitty key protocol \u0026quot;Report all keys as escape codes\u0026quot; which enabled alt+backspace on Warp \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6544\"\u003eTextualize/textual#6544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded support for detecting separate modifier keys for terminals that support the Kitty key protocol \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6544\"\u003eTextualize/textual#6544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eTEXTUAL_DISABLE_KITTY_KEY\u003c/code\u003e env var to disable Kitty key protocol support (debug aid). \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6544\"\u003eTextualize/textual#6544\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUndo/redo/copy/cut/paste in TextArea will now work with cmd+ on supported terminals \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6543\"\u003eTextualize/textual#6543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIn TextArea, ctrl+u will now delete a newline if the cursor is at the start \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6543\"\u003eTextualize/textual#6543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ein TextArea alt+delete is now bound to delete word right \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6543\"\u003eTextualize/textual#6543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eText opacity applied to an ansi theme will now set the dim attribute if the opacity is \u0026lt; 50% \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6546\"\u003eTextualize/textual#6546\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/Textualize/textual/blob/main/CHANGELOG.md\"\u003etextual's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[8.2.7] - 2026-05-19\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Kitty key protocol \u0026quot;Report all keys as escape codes\u0026quot; which enabled alt+backspace on Warp \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6544\"\u003eTextualize/textual#6544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded support for detecting separate modifier keys for terminals that support the Kitty key protocol \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6544\"\u003eTextualize/textual#6544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eTEXTUAL_DISABLE_KITTY_KEY\u003c/code\u003e env var to disable Kitty key protocol support (debug aid). \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6544\"\u003eTextualize/textual#6544\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUndo/redo/copy/cut/paste in TextArea will now work with cmd+ on supported terminals \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6543\"\u003eTextualize/textual#6543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIn TextArea, ctrl+u will now delete a newline if the cursor is at the start \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6543\"\u003eTextualize/textual#6543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ein TextArea alt+delete is now bound to delete word right \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6543\"\u003eTextualize/textual#6543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eText opacity applied to an ansi theme will now set the dim attribute if the opacity is \u0026lt; 50% \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6546\"\u003eTextualize/textual#6546\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed text opacity with ANSI themes creating RGB colors.  \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6546\"\u003eTextualize/textual#6546\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.6] - 2026-05-13\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed selection to the right of code fence blocks (may break some snapshots)\u003c/li\u003e\n\u003cli\u003eFixed Markdown code fences losing content when switching themes \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6537\"\u003eTextualize/textual#6537\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded ability to select outside of text, so the user doesn't need to be quite so precise \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6523\"\u003eTextualize/textual#6523\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.5] - 2026-04-30\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eTwo new themes: \u0026quot;ansi-dark\u0026quot; and \u0026quot;ansi-light\u0026quot; \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded an \u003ccode\u003eansi\u003c/code\u003e value to themes \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eApp.ansi_color\u003c/code\u003e may now be \u003ccode\u003eNone\u003c/code\u003e to use the \u003ccode\u003eansi\u003c/code\u003e value from the theme. \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.4] - 2026-04-19\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eDOM.update_classes\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6478\"\u003eTextualize/textual#6478\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed anchor released when scrolling down with the trackpad \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6503\"\u003eTextualize/textual#6503\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/182277f69011ba0b9665a9a1b1b0c3e89630e913\"\u003e\u003ccode\u003e182277f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6546\"\u003e#6546\u003c/a\u003e from Textualize/ansi-opacity\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/49cbec44ffef26d94ddd42065bcb59a0017acd1a\"\u003e\u003ccode\u003e49cbec4\u003c/code\u003e\u003c/a\u003e bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/b24ef07d422b4ca82d0e65189a0659d032036bf4\"\u003e\u003ccode\u003eb24ef07\u003c/code\u003e\u003c/a\u003e snapshot\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/24e34e48a375ae83c607400809c699d88d423b88\"\u003e\u003ccode\u003e24e34e4\u003c/code\u003e\u003c/a\u003e changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/0c8bbc7eaa3a83b3e2b8b8a35f3e69ec07682b41\"\u003e\u003ccode\u003e0c8bbc7\u003c/code\u003e\u003c/a\u003e text opacity change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/3b04f316e72d071e212046a01f6b9f9976c77e5c\"\u003e\u003ccode\u003e3b04f31\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6543\"\u003e#6543\u003c/a\u003e from Textualize/textarea-actions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/913f5d28cd4aa423f5d9fb9a967cebffa41646aa\"\u003e\u003ccode\u003e913f5d2\u003c/code\u003e\u003c/a\u003e test fixes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/1027c41662ec4c6c3e50f658f548ea33cbdf9233\"\u003e\u003ccode\u003e1027c41\u003c/code\u003e\u003c/a\u003e ctrl+f replaced with ctrl+delete\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/01fb6fd73af092fe6e5da03c032d3e9c3fa161f1\"\u003e\u003ccode\u003e01fb6fd\u003c/code\u003e\u003c/a\u003e ctrl+backspace binding\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/54317091b8a57ab19a5512ef8479d1748d0c6de4\"\u003e\u003ccode\u003e5431709\u003c/code\u003e\u003c/a\u003e words\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/textual/compare/v0.40.0...v8.2.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/issdandavis/SCBE-AETHERMOORE/pull/1903","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/issdandavis%2FSCBE-AETHERMOORE/issues/1903","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1903/packages"}},{"old_version":"8.2.6","new_version":"8.2.7","update_type":"patch","path":null,"pr_created_at":"2026-05-20T00:02:27.000Z","version_change":"8.2.6 → 8.2.7","issue":{"uuid":"4481992861","node_id":"PR_kwDOFGF0JM7dTSgl","number":640,"state":"closed","title":"Bump textual from 8.2.6 to 8.2.7","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":["PabloLec"],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-20T00:03:15.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-20T00:02:27.000Z","updated_at":"2026-05-20T00:03:22.000Z","time_to_close":48,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"textual","old_version":"8.2.6","new_version":"8.2.7","repository_url":"https://github.com/Textualize/textual"}],"path":null,"ecosystem":"pip"},"body":"Bumps [textual](https://github.com/Textualize/textual) from 8.2.6 to 8.2.7.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/textual/releases\"\u003etextual's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eThe more Kitty Release\u003c/h2\u003e\n\u003cp\u003eThis release adds additional support for the Kitty key protocol. Which enables some additional keys on some terminals. Additionally, Textual will report modifier keys as separate key events.\u003c/p\u003e\n\u003cp\u003eAdditionally there are a few more shortcuts to the Text Area.\u003c/p\u003e\n\u003cp\u003eThis release sponsored by Mistral AI. See release notes for detail.\u003c/p\u003e\n\u003ch2\u003e[8.2.7] - 2026-05-19\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Kitty key protocol \u0026quot;Report all keys as escape codes\u0026quot; which enabled alt+backspace on Warp \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6544\"\u003eTextualize/textual#6544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded support for detecting separate modifier keys for terminals that support the Kitty key protocol \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6544\"\u003eTextualize/textual#6544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eTEXTUAL_DISABLE_KITTY_KEY\u003c/code\u003e env var to disable Kitty key protocol support (debug aid). \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6544\"\u003eTextualize/textual#6544\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUndo/redo/copy/cut/paste in TextArea will now work with cmd+ on supported terminals \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6543\"\u003eTextualize/textual#6543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIn TextArea, ctrl+u will now delete a newline if the cursor is at the start \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6543\"\u003eTextualize/textual#6543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ein TextArea alt+delete is now bound to delete word right \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6543\"\u003eTextualize/textual#6543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eText opacity applied to an ansi theme will now set the dim attribute if the opacity is \u0026lt; 50% \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6546\"\u003eTextualize/textual#6546\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/Textualize/textual/blob/main/CHANGELOG.md\"\u003etextual's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[8.2.7] - 2026-05-19\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Kitty key protocol \u0026quot;Report all keys as escape codes\u0026quot; which enabled alt+backspace on Warp \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6544\"\u003eTextualize/textual#6544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded support for detecting separate modifier keys for terminals that support the Kitty key protocol \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6544\"\u003eTextualize/textual#6544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eTEXTUAL_DISABLE_KITTY_KEY\u003c/code\u003e env var to disable Kitty key protocol support (debug aid). \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6544\"\u003eTextualize/textual#6544\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUndo/redo/copy/cut/paste in TextArea will now work with cmd+ on supported terminals \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6543\"\u003eTextualize/textual#6543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIn TextArea, ctrl+u will now delete a newline if the cursor is at the start \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6543\"\u003eTextualize/textual#6543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ein TextArea alt+delete is now bound to delete word right \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6543\"\u003eTextualize/textual#6543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eText opacity applied to an ansi theme will now set the dim attribute if the opacity is \u0026lt; 50% \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6546\"\u003eTextualize/textual#6546\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed text opacity with ANSI themes creating RGB colors.  \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6546\"\u003eTextualize/textual#6546\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/Textualize/textual/commit/182277f69011ba0b9665a9a1b1b0c3e89630e913\"\u003e\u003ccode\u003e182277f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6546\"\u003e#6546\u003c/a\u003e from Textualize/ansi-opacity\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/49cbec44ffef26d94ddd42065bcb59a0017acd1a\"\u003e\u003ccode\u003e49cbec4\u003c/code\u003e\u003c/a\u003e bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/b24ef07d422b4ca82d0e65189a0659d032036bf4\"\u003e\u003ccode\u003eb24ef07\u003c/code\u003e\u003c/a\u003e snapshot\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/24e34e48a375ae83c607400809c699d88d423b88\"\u003e\u003ccode\u003e24e34e4\u003c/code\u003e\u003c/a\u003e changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/0c8bbc7eaa3a83b3e2b8b8a35f3e69ec07682b41\"\u003e\u003ccode\u003e0c8bbc7\u003c/code\u003e\u003c/a\u003e text opacity change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/3b04f316e72d071e212046a01f6b9f9976c77e5c\"\u003e\u003ccode\u003e3b04f31\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6543\"\u003e#6543\u003c/a\u003e from Textualize/textarea-actions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/913f5d28cd4aa423f5d9fb9a967cebffa41646aa\"\u003e\u003ccode\u003e913f5d2\u003c/code\u003e\u003c/a\u003e test fixes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/1027c41662ec4c6c3e50f658f548ea33cbdf9233\"\u003e\u003ccode\u003e1027c41\u003c/code\u003e\u003c/a\u003e ctrl+f replaced with ctrl+delete\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/01fb6fd73af092fe6e5da03c032d3e9c3fa161f1\"\u003e\u003ccode\u003e01fb6fd\u003c/code\u003e\u003c/a\u003e ctrl+backspace binding\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/54317091b8a57ab19a5512ef8479d1748d0c6de4\"\u003e\u003ccode\u003e5431709\u003c/code\u003e\u003c/a\u003e words\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/textual/compare/v8.2.6...v8.2.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=textual\u0026package-manager=pip\u0026previous-version=8.2.6\u0026new-version=8.2.7)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/PabloLec/RecoverPy/pull/640","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/PabloLec%2FRecoverPy/issues/640","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/640/packages"}},{"old_version":"\u003e=0.50.0","new_version":"\u003e=8.2.6","update_type":"patch","path":null,"pr_created_at":"2026-05-16T00:52:54.000Z","version_change":"\u003e=0.50.0 → \u003e=8.2.6","issue":{"uuid":"4457940223","node_id":"PR_kwDOSYYgoM7cHjEc","number":14,"state":"open","title":"chore(deps): update textual requirement from \u003e=0.50.0 to \u003e=8.2.6","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-16T00:52:54.000Z","updated_at":"2026-05-16T00:54:38.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): update","packages":[{"name":"textual","old_version":"\u003e=0.50.0","new_version":"\u003e=8.2.6","repository_url":"https://github.com/Textualize/textual"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [textual](https://github.com/Textualize/textual) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/textual/releases\"\u003etextual's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eThe more selective release\u003c/h2\u003e\n\u003cp\u003eImproved text select logic. You can select text without first clicking on a content area.\u003c/p\u003e\n\u003cp\u003eMay break snapshots without affecting appearance.\u003c/p\u003e\n\u003ch2\u003e[8.2.6] - 2026-04-13\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed selection to the right of code fence blocks (may break some snapshots)\u003c/li\u003e\n\u003cli\u003eFixed Markdown code fences losing content when switching themes \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6537\"\u003eTextualize/textual#6537\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded ability to select outside of text, so the user doesn't need to be quite so precise \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6523\"\u003eTextualize/textual#6523\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/Textualize/textual/blob/main/CHANGELOG.md\"\u003etextual's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[8.2.6] - 2026-04-13\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed selection to the right of code fence blocks (may break some snapshots)\u003c/li\u003e\n\u003cli\u003eFixed Markdown code fences losing content when switching themes \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6537\"\u003eTextualize/textual#6537\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded ability to select outside of text, so the user doesn't need to be quite so precise \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6523\"\u003eTextualize/textual#6523\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.5] - 2026-04-30\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eTwo new themes: \u0026quot;ansi-dark\u0026quot; and \u0026quot;ansi-light\u0026quot; \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded an \u003ccode\u003eansi\u003c/code\u003e value to themes \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eApp.ansi_color\u003c/code\u003e may now be \u003ccode\u003eNone\u003c/code\u003e to use the \u003ccode\u003eansi\u003c/code\u003e value from the theme. \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.4] - 2026-04-19\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eDOM.update_classes\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6478\"\u003eTextualize/textual#6478\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed anchor released when scrolling down with the trackpad \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6503\"\u003eTextualize/textual#6503\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.3] - 2026-04-05\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReduce lag when resizing window, by moving resize from idle to a timer \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6471\"\u003eTextualize/textual#6471\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.2] - 2026-04-03\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed Pointless style updates when resizing \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6464\"\u003eTextualize/textual#6464\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.1] - 2026-03-29\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix crash when a widget disapears between selections \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6455\"\u003eTextualize/textual#6455\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/f1929043fc5a9346a7a13649c1c2bc6ac4199a3b\"\u003e\u003ccode\u003ef192904\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6538\"\u003e#6538\u003c/a\u003e from Textualize/bump826\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/018a448f5e5f2f1c6b02732d318c90843a98788c\"\u003e\u003ccode\u003e018a448\u003c/code\u003e\u003c/a\u003e bump to 8.2.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/36bb351496b8a1a4c8aecd78a41e5c25f3b8a7d0\"\u003e\u003ccode\u003e36bb351\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6537\"\u003e#6537\u003c/a\u003e from Textualize/markdown-context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/0bdce31cfd14da3fe1f2c3a78490c95da03ea3a8\"\u003e\u003ccode\u003e0bdce31\u003c/code\u003e\u003c/a\u003e remove time factor\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/f4bc21b3367dce5b04d70ec869859190adcdef3c\"\u003e\u003ccode\u003ef4bc21b\u003c/code\u003e\u003c/a\u003e snapshot test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/d979a7d2f3d8d4c36f17a56573e85bae6673aef1\"\u003e\u003ccode\u003ed979a7d\u003c/code\u003e\u003c/a\u003e snapshot\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/35452692c46be734b4332dcd02bd187407756a0c\"\u003e\u003ccode\u003e3545269\u003c/code\u003e\u003c/a\u003e fix markdown context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/2f7b768aeeb3ed1ac338bc2bbc733d8417e4e3cc\"\u003e\u003ccode\u003e2f7b768\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6523\"\u003e#6523\u003c/a\u003e from Textualize/select-state\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/1c0cda228a60d06015222024f7bfec2e847eabbc\"\u003e\u003ccode\u003e1c0cda2\u003c/code\u003e\u003c/a\u003e punctuation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/aaa0fc452dbc328403513e4d3fa0a9388fb5bc58\"\u003e\u003ccode\u003eaaa0fc4\u003c/code\u003e\u003c/a\u003e clarify\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/textual/compare/v0.50.0...v8.2.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore 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/zlj-zz/muster/pull/14","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/zlj-zz%2Fmuster/issues/14","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/14/packages"}},{"old_version":"8.2.4","new_version":"8.2.6","update_type":"patch","path":null,"pr_created_at":"2026-05-15T21:36:09.000Z","version_change":"8.2.4 → 8.2.6","issue":{"uuid":"4457096708","node_id":"PR_kwDOQGVpfs7cE0fG","number":211,"state":"closed","title":"⬆️ Bump textual from 8.2.4 to 8.2.6","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-22T21:36:40.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-15T21:36:09.000Z","updated_at":"2026-05-22T21:36:42.000Z","time_to_close":604831,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"⬆️ Bump","packages":[{"name":"textual","old_version":"8.2.4","new_version":"8.2.6","repository_url":"https://github.com/Textualize/textual"}],"path":null,"ecosystem":"pip"},"body":"Bumps [textual](https://github.com/Textualize/textual) from 8.2.4 to 8.2.6.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/textual/releases\"\u003etextual's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eThe more selective release\u003c/h2\u003e\n\u003cp\u003eImproved text select logic. You can select text without first clicking on a content area.\u003c/p\u003e\n\u003cp\u003eMay break snapshots without affecting appearance.\u003c/p\u003e\n\u003ch2\u003e[8.2.6] - 2026-04-13\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed selection to the right of code fence blocks (may break some snapshots)\u003c/li\u003e\n\u003cli\u003eFixed Markdown code fences losing content when switching themes \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6537\"\u003eTextualize/textual#6537\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded ability to select outside of text, so the user doesn't need to be quite so precise \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6523\"\u003eTextualize/textual#6523\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eThe Antsy Release\u003c/h2\u003e\n\u003cp\u003eThis release adds support for dedicated ansi themes, which are also exposed from the command palette.\u003c/p\u003e\n\u003cp\u003eThere were a few tweaks to the theming system which may result in broken snapshots, but there should be no visual changes.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003e[8.2.5] - 2026-04-30\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eTwo new themes: \u0026quot;ansi-dark\u0026quot; and \u0026quot;ansi-light\u0026quot; \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded an \u003ccode\u003eansi\u003c/code\u003e value to themes \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eApp.ansi_color\u003c/code\u003e may now be \u003ccode\u003eNone\u003c/code\u003e to use the \u003ccode\u003eansi\u003c/code\u003e value from the theme. \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\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/Textualize/textual/blob/main/CHANGELOG.md\"\u003etextual's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[8.2.6] - 2026-04-13\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed selection to the right of code fence blocks (may break some snapshots)\u003c/li\u003e\n\u003cli\u003eFixed Markdown code fences losing content when switching themes \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6537\"\u003eTextualize/textual#6537\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded ability to select outside of text, so the user doesn't need to be quite so precise \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6523\"\u003eTextualize/textual#6523\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.5] - 2026-04-30\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eTwo new themes: \u0026quot;ansi-dark\u0026quot; and \u0026quot;ansi-light\u0026quot; \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded an \u003ccode\u003eansi\u003c/code\u003e value to themes \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eApp.ansi_color\u003c/code\u003e may now be \u003ccode\u003eNone\u003c/code\u003e to use the \u003ccode\u003eansi\u003c/code\u003e value from the theme. \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\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/Textualize/textual/commit/f1929043fc5a9346a7a13649c1c2bc6ac4199a3b\"\u003e\u003ccode\u003ef192904\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6538\"\u003e#6538\u003c/a\u003e from Textualize/bump826\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/018a448f5e5f2f1c6b02732d318c90843a98788c\"\u003e\u003ccode\u003e018a448\u003c/code\u003e\u003c/a\u003e bump to 8.2.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/36bb351496b8a1a4c8aecd78a41e5c25f3b8a7d0\"\u003e\u003ccode\u003e36bb351\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6537\"\u003e#6537\u003c/a\u003e from Textualize/markdown-context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/0bdce31cfd14da3fe1f2c3a78490c95da03ea3a8\"\u003e\u003ccode\u003e0bdce31\u003c/code\u003e\u003c/a\u003e remove time factor\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/f4bc21b3367dce5b04d70ec869859190adcdef3c\"\u003e\u003ccode\u003ef4bc21b\u003c/code\u003e\u003c/a\u003e snapshot test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/d979a7d2f3d8d4c36f17a56573e85bae6673aef1\"\u003e\u003ccode\u003ed979a7d\u003c/code\u003e\u003c/a\u003e snapshot\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/35452692c46be734b4332dcd02bd187407756a0c\"\u003e\u003ccode\u003e3545269\u003c/code\u003e\u003c/a\u003e fix markdown context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/2f7b768aeeb3ed1ac338bc2bbc733d8417e4e3cc\"\u003e\u003ccode\u003e2f7b768\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6523\"\u003e#6523\u003c/a\u003e from Textualize/select-state\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/1c0cda228a60d06015222024f7bfec2e847eabbc\"\u003e\u003ccode\u003e1c0cda2\u003c/code\u003e\u003c/a\u003e punctuation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/aaa0fc452dbc328403513e4d3fa0a9388fb5bc58\"\u003e\u003ccode\u003eaaa0fc4\u003c/code\u003e\u003c/a\u003e clarify\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/textual/compare/v8.2.4...v8.2.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=textual\u0026package-manager=uv\u0026previous-version=8.2.4\u0026new-version=8.2.6)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/davep/oldnews/pull/211","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/davep%2Foldnews/issues/211","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/211/packages"}},{"old_version":"8.2.4","new_version":"8.2.6","update_type":"patch","path":null,"pr_created_at":"2026-05-13T19:28:08.000Z","version_change":"8.2.4 → 8.2.6","issue":{"uuid":"4440618029","node_id":"PR_kwDOR3Nnos7bQYmy","number":25,"state":"closed","title":"chore(deps-dev): bump textual from 8.2.4 to 8.2.6","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-05-20T22:43:51.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-13T19:28:08.000Z","updated_at":"2026-05-20T22:43:53.000Z","time_to_close":616543,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev)","packages":[{"name":"textual","old_version":"8.2.4","new_version":"8.2.6","repository_url":"https://github.com/Textualize/textual"}],"path":null,"ecosystem":"pip"},"body":"Bumps [textual](https://github.com/Textualize/textual) from 8.2.4 to 8.2.6.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/textual/releases\"\u003etextual's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eThe more selective release\u003c/h2\u003e\n\u003cp\u003eImproved text select logic. You can select text without first clicking on a content area.\u003c/p\u003e\n\u003cp\u003eMay break snapshots without affecting appearance.\u003c/p\u003e\n\u003ch2\u003e[8.2.6] - 2026-04-13\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed selection to the right of code fence blocks (may break some snapshots)\u003c/li\u003e\n\u003cli\u003eFixed Markdown code fences losing content when switching themes \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6537\"\u003eTextualize/textual#6537\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded ability to select outside of text, so the user doesn't need to be quite so precise \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6523\"\u003eTextualize/textual#6523\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eThe Antsy Release\u003c/h2\u003e\n\u003cp\u003eThis release adds support for dedicated ansi themes, which are also exposed from the command palette.\u003c/p\u003e\n\u003cp\u003eThere were a few tweaks to the theming system which may result in broken snapshots, but there should be no visual changes.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003e[8.2.5] - 2026-04-30\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eTwo new themes: \u0026quot;ansi-dark\u0026quot; and \u0026quot;ansi-light\u0026quot; \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded an \u003ccode\u003eansi\u003c/code\u003e value to themes \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eApp.ansi_color\u003c/code\u003e may now be \u003ccode\u003eNone\u003c/code\u003e to use the \u003ccode\u003eansi\u003c/code\u003e value from the theme. \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\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/Textualize/textual/blob/main/CHANGELOG.md\"\u003etextual's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[8.2.6] - 2026-04-13\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed selection to the right of code fence blocks (may break some snapshots)\u003c/li\u003e\n\u003cli\u003eFixed Markdown code fences losing content when switching themes \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6537\"\u003eTextualize/textual#6537\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded ability to select outside of text, so the user doesn't need to be quite so precise \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6523\"\u003eTextualize/textual#6523\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.5] - 2026-04-30\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eTwo new themes: \u0026quot;ansi-dark\u0026quot; and \u0026quot;ansi-light\u0026quot; \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded an \u003ccode\u003eansi\u003c/code\u003e value to themes \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eApp.ansi_color\u003c/code\u003e may now be \u003ccode\u003eNone\u003c/code\u003e to use the \u003ccode\u003eansi\u003c/code\u003e value from the theme. \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\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/Textualize/textual/commit/f1929043fc5a9346a7a13649c1c2bc6ac4199a3b\"\u003e\u003ccode\u003ef192904\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6538\"\u003e#6538\u003c/a\u003e from Textualize/bump826\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/018a448f5e5f2f1c6b02732d318c90843a98788c\"\u003e\u003ccode\u003e018a448\u003c/code\u003e\u003c/a\u003e bump to 8.2.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/36bb351496b8a1a4c8aecd78a41e5c25f3b8a7d0\"\u003e\u003ccode\u003e36bb351\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6537\"\u003e#6537\u003c/a\u003e from Textualize/markdown-context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/0bdce31cfd14da3fe1f2c3a78490c95da03ea3a8\"\u003e\u003ccode\u003e0bdce31\u003c/code\u003e\u003c/a\u003e remove time factor\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/f4bc21b3367dce5b04d70ec869859190adcdef3c\"\u003e\u003ccode\u003ef4bc21b\u003c/code\u003e\u003c/a\u003e snapshot test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/d979a7d2f3d8d4c36f17a56573e85bae6673aef1\"\u003e\u003ccode\u003ed979a7d\u003c/code\u003e\u003c/a\u003e snapshot\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/35452692c46be734b4332dcd02bd187407756a0c\"\u003e\u003ccode\u003e3545269\u003c/code\u003e\u003c/a\u003e fix markdown context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/2f7b768aeeb3ed1ac338bc2bbc733d8417e4e3cc\"\u003e\u003ccode\u003e2f7b768\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6523\"\u003e#6523\u003c/a\u003e from Textualize/select-state\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/1c0cda228a60d06015222024f7bfec2e847eabbc\"\u003e\u003ccode\u003e1c0cda2\u003c/code\u003e\u003c/a\u003e punctuation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/aaa0fc452dbc328403513e4d3fa0a9388fb5bc58\"\u003e\u003ccode\u003eaaa0fc4\u003c/code\u003e\u003c/a\u003e clarify\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/textual/compare/v8.2.4...v8.2.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=textual\u0026package-manager=pip\u0026previous-version=8.2.4\u0026new-version=8.2.6)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/firattamurcw/app-reviews/pull/25","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/firattamurcw%2Fapp-reviews/issues/25","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/25/packages"}},{"old_version":"8.2.5","new_version":"8.2.6","update_type":"patch","path":null,"pr_created_at":"2026-05-13T17:25:44.000Z","version_change":"8.2.5 → 8.2.6","issue":{"uuid":"4439904561","node_id":"PR_kwDOOgNN9M7bODN3","number":90,"state":"closed","title":"Bump the python-dependencies group across 1 directory with 2 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-26T22:49:50.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-13T17:25:44.000Z","updated_at":"2026-05-26T22:49:52.000Z","time_to_close":1142646,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"python-dependencies","update_count":2,"packages":[{"name":"pydantic","old_version":"2.13.3","new_version":"2.13.4","repository_url":"https://github.com/pydantic/pydantic"},{"name":"textual","old_version":"8.2.5","new_version":"8.2.6","repository_url":"https://github.com/Textualize/textual"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-dependencies group with 2 updates in the / directory: [pydantic](https://github.com/pydantic/pydantic) and [textual](https://github.com/Textualize/textual).\n\nUpdates `pydantic` from 2.13.3 to 2.13.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/releases\"\u003epydantic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.13.4 2026-05-06\u003c/h2\u003e\n\u003ch2\u003ev2.13.4 (2026-05-06)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003ePackaging\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eBump libc from 0.2.155 to 0.2.185 by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13109\"\u003e#13109\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdapt \u003ccode\u003epydantic-core\u003c/code\u003e linker flags on macOS by \u003ca href=\"https://github.com/washingtoneg\"\u003e\u003ccode\u003e@​washingtoneg\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13147\"\u003e#13147\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve \u003ccode\u003eRootModel\u003c/code\u003e core metadata by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13129\"\u003e#13129\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.13.3...v2.13.4\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.3...v2.13.4\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/blob/v2.13.4/HISTORY.md\"\u003epydantic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.13.4 (2026-05-06)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.4\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003ePackaging\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eBump libc from 0.2.155 to 0.2.185 by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13109\"\u003e#13109\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdapt \u003ccode\u003epydantic-core\u003c/code\u003e linker flags on macOS by \u003ca href=\"https://github.com/washingtoneg\"\u003e\u003ccode\u003e@​washingtoneg\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13147\"\u003e#13147\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve \u003ccode\u003eRootModel\u003c/code\u003e core metadata by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13129\"\u003e#13129\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/cf67d4b3193c3fe43ede18612ed62785eee11382\"\u003e\u003ccode\u003ecf67d4b\u003c/code\u003e\u003c/a\u003e Fix linting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/f0d8a214a5803036db46a56b1f62f1e56b81d662\"\u003e\u003ccode\u003ef0d8a21\u003c/code\u003e\u003c/a\u003e Prepare release v2.13.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/5e3fe1d41a00f441204241c66078003ae0391f9a\"\u003e\u003ccode\u003e5e3fe1d\u003c/code\u003e\u003c/a\u003e Check for pydantic tag pattern in CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/7f9edcc2a191d2eaa9751220eb910914e716a686\"\u003e\u003ccode\u003e7f9edcc\u003c/code\u003e\u003c/a\u003e Document tagging conventions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/b46a0c9b8a4dd967fda8ec1a92f6437076bf262c\"\u003e\u003ccode\u003eb46a0c9\u003c/code\u003e\u003c/a\u003e Adapt \u003ccode\u003epydantic-core\u003c/code\u003e linker flags on macOS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/50629c851e61d887d5420452c311ec6203f1f400\"\u003e\u003ccode\u003e50629c8\u003c/code\u003e\u003c/a\u003e Update to PyPy 7.3.22\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/8522ebb71e5e9a6f7188af5f009f01785b8cf725\"\u003e\u003ccode\u003e8522ebb\u003c/code\u003e\u003c/a\u003e Preserve \u003ccode\u003eRootModel\u003c/code\u003e core metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/a37f3aff090ca342dc5f48304889963530b993f8\"\u003e\u003ccode\u003ea37f3af\u003c/code\u003e\u003c/a\u003e Adapt \u003ccode\u003eMISSING\u003c/code\u003e sentinel test to work with unreleased \u003ccode\u003etyping_extensions\u003c/code\u003e ver...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/909259a9df660518033aa686b689f045a6eaf9d2\"\u003e\u003ccode\u003e909259a\u003c/code\u003e\u003c/a\u003e Remove Logfire example in documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/2c4174c366606fc2dc46cb806833a080aefa77df\"\u003e\u003ccode\u003e2c4174c\u003c/code\u003e\u003c/a\u003e Bump libc from 0.2.155 to 0.2.185\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.13.3...v2.13.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `textual` from 8.2.5 to 8.2.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/textual/releases\"\u003etextual's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eThe more selective release\u003c/h2\u003e\n\u003cp\u003eImproved text select logic. You can select text without first clicking on a content area.\u003c/p\u003e\n\u003cp\u003eMay break snapshots without affecting appearance.\u003c/p\u003e\n\u003ch2\u003e[8.2.6] - 2026-04-13\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed selection to the right of code fence blocks (may break some snapshots)\u003c/li\u003e\n\u003cli\u003eFixed Markdown code fences losing content when switching themes \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6537\"\u003eTextualize/textual#6537\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded ability to select outside of text, so the user doesn't need to be quite so precise \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6523\"\u003eTextualize/textual#6523\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/Textualize/textual/blob/main/CHANGELOG.md\"\u003etextual's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[8.2.6] - 2026-04-13\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed selection to the right of code fence blocks (may break some snapshots)\u003c/li\u003e\n\u003cli\u003eFixed Markdown code fences losing content when switching themes \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6537\"\u003eTextualize/textual#6537\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded ability to select outside of text, so the user doesn't need to be quite so precise \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6523\"\u003eTextualize/textual#6523\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/Textualize/textual/commit/f1929043fc5a9346a7a13649c1c2bc6ac4199a3b\"\u003e\u003ccode\u003ef192904\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6538\"\u003e#6538\u003c/a\u003e from Textualize/bump826\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/018a448f5e5f2f1c6b02732d318c90843a98788c\"\u003e\u003ccode\u003e018a448\u003c/code\u003e\u003c/a\u003e bump to 8.2.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/36bb351496b8a1a4c8aecd78a41e5c25f3b8a7d0\"\u003e\u003ccode\u003e36bb351\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6537\"\u003e#6537\u003c/a\u003e from Textualize/markdown-context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/0bdce31cfd14da3fe1f2c3a78490c95da03ea3a8\"\u003e\u003ccode\u003e0bdce31\u003c/code\u003e\u003c/a\u003e remove time factor\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/f4bc21b3367dce5b04d70ec869859190adcdef3c\"\u003e\u003ccode\u003ef4bc21b\u003c/code\u003e\u003c/a\u003e snapshot test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/d979a7d2f3d8d4c36f17a56573e85bae6673aef1\"\u003e\u003ccode\u003ed979a7d\u003c/code\u003e\u003c/a\u003e snapshot\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/35452692c46be734b4332dcd02bd187407756a0c\"\u003e\u003ccode\u003e3545269\u003c/code\u003e\u003c/a\u003e fix markdown context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/2f7b768aeeb3ed1ac338bc2bbc733d8417e4e3cc\"\u003e\u003ccode\u003e2f7b768\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6523\"\u003e#6523\u003c/a\u003e from Textualize/select-state\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/1c0cda228a60d06015222024f7bfec2e847eabbc\"\u003e\u003ccode\u003e1c0cda2\u003c/code\u003e\u003c/a\u003e punctuation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/aaa0fc452dbc328403513e4d3fa0a9388fb5bc58\"\u003e\u003ccode\u003eaaa0fc4\u003c/code\u003e\u003c/a\u003e clarify\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/textual/compare/v8.2.5...v8.2.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/AAraKKe/ynab-unlinked/pull/90","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/AAraKKe%2Fynab-unlinked/issues/90","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/90/packages"}},{"old_version":"\u003e=3.0.0","new_version":"\u003e=8.2.5","update_type":"minor","path":null,"pr_created_at":"2026-05-10T21:18:48.000Z","version_change":"\u003e=3.0.0 → \u003e=8.2.5","issue":{"uuid":"4416869984","node_id":"PR_kwDORh0dfc7aDND_","number":14,"state":"open","title":"build(deps-dev): update textual requirement from \u003e=3.0.0 to \u003e=8.2.5","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-10T21:18:48.000Z","updated_at":"2026-05-10T21:18:49.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps-dev): update","packages":[{"name":"textual","old_version":"\u003e=3.0.0","new_version":"\u003e=8.2.5","repository_url":"https://github.com/Textualize/textual"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [textual](https://github.com/Textualize/textual) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/textual/releases\"\u003etextual's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eThe Antsy Release\u003c/h2\u003e\n\u003cp\u003eThis release adds support for dedicated ansi themes, which are also exposed from the command palette.\u003c/p\u003e\n\u003cp\u003eThere were a few tweaks to the theming system which may result in broken snapshots, but there should be no visual changes.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003e[8.2.5] - 2026-04-30\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eTwo new themes: \u0026quot;ansi-dark\u0026quot; and \u0026quot;ansi-light\u0026quot; \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded an \u003ccode\u003eansi\u003c/code\u003e value to themes \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eApp.ansi_color\u003c/code\u003e may now be \u003ccode\u003eNone\u003c/code\u003e to use the \u003ccode\u003eansi\u003c/code\u003e value from the theme. \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\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/Textualize/textual/blob/main/CHANGELOG.md\"\u003etextual's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[8.2.5] - 2026-04-30\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eTwo new themes: \u0026quot;ansi-dark\u0026quot; and \u0026quot;ansi-light\u0026quot; \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded an \u003ccode\u003eansi\u003c/code\u003e value to themes \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eApp.ansi_color\u003c/code\u003e may now be \u003ccode\u003eNone\u003c/code\u003e to use the \u003ccode\u003eansi\u003c/code\u003e value from the theme. \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.4] - 2026-04-19\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eDOM.update_classes\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6478\"\u003eTextualize/textual#6478\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed anchor released when scrolling down with the trackpad \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6503\"\u003eTextualize/textual#6503\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.3] - 2026-04-05\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReduce lag when resizing window, by moving resize from idle to a timer \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6471\"\u003eTextualize/textual#6471\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.2] - 2026-04-03\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed Pointless style updates when resizing \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6464\"\u003eTextualize/textual#6464\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.1] - 2026-03-29\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix crash when a widget disapears between selections \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6455\"\u003eTextualize/textual#6455\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.0] - 2026-03-27\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAuto-scrolling on select \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6440\"\u003eTextualize/textual#6440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSelecting over containers \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6440\"\u003eTextualize/textual#6440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eApp.ENABLE_SELECT_AUTO_SCROLL\u003c/code\u003e, \u003ccode\u003eApp.SELECT_AUTO_SCROLL_LINES\u003c/code\u003e, \u003ccode\u003eApp.SELECT_AUTO_SCROLL_SPEED\u003c/code\u003e to tweak auto scrolling behavior \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6440\"\u003eTextualize/textual#6440\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.1.1] - 2026-03-10\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/Textualize/textual/commit/5fdea0dd0538451399762dcb75efefde7f6ddcdc\"\u003e\u003ccode\u003e5fdea0d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6513\"\u003e#6513\u003c/a\u003e from Textualize/ansi-themes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/992eb8683dc58c0ed7e1569669e198e3d6d7942c\"\u003e\u003ccode\u003e992eb86\u003c/code\u003e\u003c/a\u003e superfluous code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/eebf3fc0b72815164a4f155723b309eb0fbc2cce\"\u003e\u003ccode\u003eeebf3fc\u003c/code\u003e\u003c/a\u003e style tweak\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/a82be18e43d712c45eff150490961a988eecf3a8\"\u003e\u003ccode\u003ea82be18\u003c/code\u003e\u003c/a\u003e theme tweak\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/12ef2588eb9ae25e3db89caec2936db39733ac58\"\u003e\u003ccode\u003e12ef258\u003c/code\u003e\u003c/a\u003e bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/f4b774a12a9535a7d127603a4279f38b809d9d06\"\u003e\u003ccode\u003ef4b774a\u003c/code\u003e\u003c/a\u003e changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/978f86a958d14c56300e69ca2bffe1d4d3975f61\"\u003e\u003ccode\u003e978f86a\u003c/code\u003e\u003c/a\u003e simplify\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/c12fd8fc7ff0ff6a107bf60944b0ab504381d106\"\u003e\u003ccode\u003ec12fd8f\u003c/code\u003e\u003c/a\u003e unbolden\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/a72aa4cb9bacb008f546485cdfc169f0853189fb\"\u003e\u003ccode\u003ea72aa4c\u003c/code\u003e\u003c/a\u003e highlight tweak\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/28476f719a7a70e902ab80918eb91bd82276c03d\"\u003e\u003ccode\u003e28476f7\u003c/code\u003e\u003c/a\u003e button tweak\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/textual/compare/v3.0.0...v8.2.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/getheddle/heddle/pull/14","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/getheddle%2Fheddle/issues/14","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/14/packages"}},{"old_version":"~=6.8.0","new_version":"~=8.2.5","update_type":"patch","path":null,"pr_created_at":"2026-05-10T13:14:15.000Z","version_change":"~=6.8.0 → ~=8.2.5","issue":{"uuid":"4415705576","node_id":"PR_kwDONV34TM7Z_vBR","number":9,"state":"closed","title":"Update textual requirement from ~=6.8.0 to ~=8.2.5","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-05-10T13:17:47.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-10T13:14:15.000Z","updated_at":"2026-05-10T13:17:55.000Z","time_to_close":212,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Update","packages":[{"name":"textual","old_version":"~=6.8.0","new_version":"~=8.2.5","repository_url":"https://github.com/Textualize/textual"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [textual](https://github.com/Textualize/textual) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/textual/releases\"\u003etextual's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eThe Antsy Release\u003c/h2\u003e\n\u003cp\u003eThis release adds support for dedicated ansi themes, which are also exposed from the command palette.\u003c/p\u003e\n\u003cp\u003eThere were a few tweaks to the theming system which may result in broken snapshots, but there should be no visual changes.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003e[8.2.5] - 2026-04-30\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eTwo new themes: \u0026quot;ansi-dark\u0026quot; and \u0026quot;ansi-light\u0026quot; \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded an \u003ccode\u003eansi\u003c/code\u003e value to themes \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eApp.ansi_color\u003c/code\u003e may now be \u003ccode\u003eNone\u003c/code\u003e to use the \u003ccode\u003eansi\u003c/code\u003e value from the theme. \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\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/Textualize/textual/blob/main/CHANGELOG.md\"\u003etextual's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[8.2.5] - 2026-04-30\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eTwo new themes: \u0026quot;ansi-dark\u0026quot; and \u0026quot;ansi-light\u0026quot; \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded an \u003ccode\u003eansi\u003c/code\u003e value to themes \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eApp.ansi_color\u003c/code\u003e may now be \u003ccode\u003eNone\u003c/code\u003e to use the \u003ccode\u003eansi\u003c/code\u003e value from the theme. \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.4] - 2026-04-19\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eDOM.update_classes\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6478\"\u003eTextualize/textual#6478\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed anchor released when scrolling down with the trackpad \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6503\"\u003eTextualize/textual#6503\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.3] - 2026-04-05\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReduce lag when resizing window, by moving resize from idle to a timer \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6471\"\u003eTextualize/textual#6471\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.2] - 2026-04-03\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed Pointless style updates when resizing \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6464\"\u003eTextualize/textual#6464\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.1] - 2026-03-29\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix crash when a widget disapears between selections \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6455\"\u003eTextualize/textual#6455\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.0] - 2026-03-27\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAuto-scrolling on select \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6440\"\u003eTextualize/textual#6440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSelecting over containers \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6440\"\u003eTextualize/textual#6440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eApp.ENABLE_SELECT_AUTO_SCROLL\u003c/code\u003e, \u003ccode\u003eApp.SELECT_AUTO_SCROLL_LINES\u003c/code\u003e, \u003ccode\u003eApp.SELECT_AUTO_SCROLL_SPEED\u003c/code\u003e to tweak auto scrolling behavior \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6440\"\u003eTextualize/textual#6440\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.1.1] - 2026-03-10\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/Textualize/textual/commit/5fdea0dd0538451399762dcb75efefde7f6ddcdc\"\u003e\u003ccode\u003e5fdea0d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6513\"\u003e#6513\u003c/a\u003e from Textualize/ansi-themes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/992eb8683dc58c0ed7e1569669e198e3d6d7942c\"\u003e\u003ccode\u003e992eb86\u003c/code\u003e\u003c/a\u003e superfluous code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/eebf3fc0b72815164a4f155723b309eb0fbc2cce\"\u003e\u003ccode\u003eeebf3fc\u003c/code\u003e\u003c/a\u003e style tweak\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/a82be18e43d712c45eff150490961a988eecf3a8\"\u003e\u003ccode\u003ea82be18\u003c/code\u003e\u003c/a\u003e theme tweak\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/12ef2588eb9ae25e3db89caec2936db39733ac58\"\u003e\u003ccode\u003e12ef258\u003c/code\u003e\u003c/a\u003e bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/f4b774a12a9535a7d127603a4279f38b809d9d06\"\u003e\u003ccode\u003ef4b774a\u003c/code\u003e\u003c/a\u003e changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/978f86a958d14c56300e69ca2bffe1d4d3975f61\"\u003e\u003ccode\u003e978f86a\u003c/code\u003e\u003c/a\u003e simplify\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/c12fd8fc7ff0ff6a107bf60944b0ab504381d106\"\u003e\u003ccode\u003ec12fd8f\u003c/code\u003e\u003c/a\u003e unbolden\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/a72aa4cb9bacb008f546485cdfc169f0853189fb\"\u003e\u003ccode\u003ea72aa4c\u003c/code\u003e\u003c/a\u003e highlight tweak\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/28476f719a7a70e902ab80918eb91bd82276c03d\"\u003e\u003ccode\u003e28476f7\u003c/code\u003e\u003c/a\u003e button tweak\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/textual/compare/v6.8.0...v8.2.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/jacob-sabella/lazygradle/pull/9","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/jacob-sabella%2Flazygradle/issues/9","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/9/packages"}},{"old_version":"\u003e=0.50.0","new_version":"\u003e=8.2.5","update_type":"patch","path":null,"pr_created_at":"2026-05-09T18:15:16.000Z","version_change":"\u003e=0.50.0 → \u003e=8.2.5","issue":{"uuid":"4413423206","node_id":"PR_kwDOSYYgoM7Z47Z7","number":5,"state":"closed","title":"chore(deps): update textual requirement from \u003e=0.50.0 to \u003e=8.2.5","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-05-16T00:52:56.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-09T18:15:16.000Z","updated_at":"2026-05-16T00:52:58.000Z","time_to_close":542260,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): update","packages":[{"name":"textual","old_version":"\u003e=0.50.0","new_version":"\u003e=8.2.5","repository_url":"https://github.com/Textualize/textual"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [textual](https://github.com/Textualize/textual) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/textual/releases\"\u003etextual's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eThe Antsy Release\u003c/h2\u003e\n\u003cp\u003eThis release adds support for dedicated ansi themes, which are also exposed from the command palette.\u003c/p\u003e\n\u003cp\u003eThere were a few tweaks to the theming system which may result in broken snapshots, but there should be no visual changes.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003e[8.2.5] - 2026-04-30\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eTwo new themes: \u0026quot;ansi-dark\u0026quot; and \u0026quot;ansi-light\u0026quot; \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded an \u003ccode\u003eansi\u003c/code\u003e value to themes \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eApp.ansi_color\u003c/code\u003e may now be \u003ccode\u003eNone\u003c/code\u003e to use the \u003ccode\u003eansi\u003c/code\u003e value from the theme. \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\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/Textualize/textual/blob/main/CHANGELOG.md\"\u003etextual's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[8.2.5] - 2026-04-30\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eTwo new themes: \u0026quot;ansi-dark\u0026quot; and \u0026quot;ansi-light\u0026quot; \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded an \u003ccode\u003eansi\u003c/code\u003e value to themes \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eApp.ansi_color\u003c/code\u003e may now be \u003ccode\u003eNone\u003c/code\u003e to use the \u003ccode\u003eansi\u003c/code\u003e value from the theme. \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.4] - 2026-04-19\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eDOM.update_classes\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6478\"\u003eTextualize/textual#6478\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed anchor released when scrolling down with the trackpad \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6503\"\u003eTextualize/textual#6503\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.3] - 2026-04-05\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReduce lag when resizing window, by moving resize from idle to a timer \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6471\"\u003eTextualize/textual#6471\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.2] - 2026-04-03\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed Pointless style updates when resizing \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6464\"\u003eTextualize/textual#6464\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.1] - 2026-03-29\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix crash when a widget disapears between selections \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6455\"\u003eTextualize/textual#6455\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.0] - 2026-03-27\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAuto-scrolling on select \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6440\"\u003eTextualize/textual#6440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSelecting over containers \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6440\"\u003eTextualize/textual#6440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eApp.ENABLE_SELECT_AUTO_SCROLL\u003c/code\u003e, \u003ccode\u003eApp.SELECT_AUTO_SCROLL_LINES\u003c/code\u003e, \u003ccode\u003eApp.SELECT_AUTO_SCROLL_SPEED\u003c/code\u003e to tweak auto scrolling behavior \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6440\"\u003eTextualize/textual#6440\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.1.1] - 2026-03-10\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/Textualize/textual/commit/5fdea0dd0538451399762dcb75efefde7f6ddcdc\"\u003e\u003ccode\u003e5fdea0d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6513\"\u003e#6513\u003c/a\u003e from Textualize/ansi-themes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/992eb8683dc58c0ed7e1569669e198e3d6d7942c\"\u003e\u003ccode\u003e992eb86\u003c/code\u003e\u003c/a\u003e superfluous code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/eebf3fc0b72815164a4f155723b309eb0fbc2cce\"\u003e\u003ccode\u003eeebf3fc\u003c/code\u003e\u003c/a\u003e style tweak\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/a82be18e43d712c45eff150490961a988eecf3a8\"\u003e\u003ccode\u003ea82be18\u003c/code\u003e\u003c/a\u003e theme tweak\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/12ef2588eb9ae25e3db89caec2936db39733ac58\"\u003e\u003ccode\u003e12ef258\u003c/code\u003e\u003c/a\u003e bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/f4b774a12a9535a7d127603a4279f38b809d9d06\"\u003e\u003ccode\u003ef4b774a\u003c/code\u003e\u003c/a\u003e changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/978f86a958d14c56300e69ca2bffe1d4d3975f61\"\u003e\u003ccode\u003e978f86a\u003c/code\u003e\u003c/a\u003e simplify\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/c12fd8fc7ff0ff6a107bf60944b0ab504381d106\"\u003e\u003ccode\u003ec12fd8f\u003c/code\u003e\u003c/a\u003e unbolden\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/a72aa4cb9bacb008f546485cdfc169f0853189fb\"\u003e\u003ccode\u003ea72aa4c\u003c/code\u003e\u003c/a\u003e highlight tweak\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/28476f719a7a70e902ab80918eb91bd82276c03d\"\u003e\u003ccode\u003e28476f7\u003c/code\u003e\u003c/a\u003e button tweak\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/textual/compare/v0.50.0...v8.2.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e","html_url":"https://github.com/zlj-zz/muster/pull/5","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/zlj-zz%2Fmuster/issues/5","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/5/packages"}},{"old_version":"\u003c1.0,\u003e=0.89","new_version":"\u003e=0.89,\u003c9.0","update_type":"minor","path":null,"pr_created_at":"2026-05-01T20:03:14.000Z","version_change":"\u003c1.0,\u003e=0.89 → \u003e=0.89,\u003c9.0","issue":{"uuid":"4366419430","node_id":"PR_kwDOSR7T3s7XhQVi","number":6,"state":"open","title":"Update textual requirement from \u003c1.0,\u003e=0.89 to \u003e=0.89,\u003c9.0","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-01T20:03:14.000Z","updated_at":"2026-05-01T20:04:59.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Update","packages":[{"name":"textual","old_version":"\u003c1.0,\u003e=0.89","new_version":"\u003e=0.89,\u003c9.0","repository_url":"https://github.com/Textualize/textual"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [textual](https://github.com/Textualize/textual) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/textual/releases\"\u003etextual's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eThe Antsy Release\u003c/h2\u003e\n\u003cp\u003eThis release adds support for dedicated ansi themes, which are also exposed from the command palette.\u003c/p\u003e\n\u003cp\u003eThere were a few tweaks to the theming system which may result in broken snapshots, but there should be no visual changes.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003e[8.2.5] - 2026-04-30\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eTwo new themes: \u0026quot;ansi-dark\u0026quot; and \u0026quot;ansi-light\u0026quot; \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded an \u003ccode\u003eansi\u003c/code\u003e value to themes \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eApp.ansi_color\u003c/code\u003e may now be \u003ccode\u003eNone\u003c/code\u003e to use the \u003ccode\u003eansi\u003c/code\u003e value from the theme. \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\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/Textualize/textual/blob/main/CHANGELOG.md\"\u003etextual's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[8.2.5] - 2026-04-30\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eTwo new themes: \u0026quot;ansi-dark\u0026quot; and \u0026quot;ansi-light\u0026quot; \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded an \u003ccode\u003eansi\u003c/code\u003e value to themes \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eApp.ansi_color\u003c/code\u003e may now be \u003ccode\u003eNone\u003c/code\u003e to use the \u003ccode\u003eansi\u003c/code\u003e value from the theme. \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6513\"\u003eTextualize/textual#6513\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.4] - 2026-04-19\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eDOM.update_classes\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6478\"\u003eTextualize/textual#6478\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed anchor released when scrolling down with the trackpad \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6503\"\u003eTextualize/textual#6503\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.3] - 2026-04-05\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReduce lag when resizing window, by moving resize from idle to a timer \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6471\"\u003eTextualize/textual#6471\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.2] - 2026-04-03\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed Pointless style updates when resizing \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6464\"\u003eTextualize/textual#6464\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.1] - 2026-03-29\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix crash when a widget disapears between selections \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6455\"\u003eTextualize/textual#6455\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.0] - 2026-03-27\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAuto-scrolling on select \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6440\"\u003eTextualize/textual#6440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSelecting over containers \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6440\"\u003eTextualize/textual#6440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eApp.ENABLE_SELECT_AUTO_SCROLL\u003c/code\u003e, \u003ccode\u003eApp.SELECT_AUTO_SCROLL_LINES\u003c/code\u003e, \u003ccode\u003eApp.SELECT_AUTO_SCROLL_SPEED\u003c/code\u003e to tweak auto scrolling behavior \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6440\"\u003eTextualize/textual#6440\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.1.1] - 2026-03-10\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/Textualize/textual/commit/5fdea0dd0538451399762dcb75efefde7f6ddcdc\"\u003e\u003ccode\u003e5fdea0d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6513\"\u003e#6513\u003c/a\u003e from Textualize/ansi-themes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/992eb8683dc58c0ed7e1569669e198e3d6d7942c\"\u003e\u003ccode\u003e992eb86\u003c/code\u003e\u003c/a\u003e superfluous code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/eebf3fc0b72815164a4f155723b309eb0fbc2cce\"\u003e\u003ccode\u003eeebf3fc\u003c/code\u003e\u003c/a\u003e style tweak\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/a82be18e43d712c45eff150490961a988eecf3a8\"\u003e\u003ccode\u003ea82be18\u003c/code\u003e\u003c/a\u003e theme tweak\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/12ef2588eb9ae25e3db89caec2936db39733ac58\"\u003e\u003ccode\u003e12ef258\u003c/code\u003e\u003c/a\u003e bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/f4b774a12a9535a7d127603a4279f38b809d9d06\"\u003e\u003ccode\u003ef4b774a\u003c/code\u003e\u003c/a\u003e changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/978f86a958d14c56300e69ca2bffe1d4d3975f61\"\u003e\u003ccode\u003e978f86a\u003c/code\u003e\u003c/a\u003e simplify\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/c12fd8fc7ff0ff6a107bf60944b0ab504381d106\"\u003e\u003ccode\u003ec12fd8f\u003c/code\u003e\u003c/a\u003e unbolden\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/a72aa4cb9bacb008f546485cdfc169f0853189fb\"\u003e\u003ccode\u003ea72aa4c\u003c/code\u003e\u003c/a\u003e highlight tweak\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/28476f719a7a70e902ab80918eb91bd82276c03d\"\u003e\u003ccode\u003e28476f7\u003c/code\u003e\u003c/a\u003e button tweak\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/textual/compare/v0.89.0...v8.2.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/san2stic/San-o1-Intelligence/pull/6","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/san2stic%2FSan-o1-Intelligence/issues/6","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/6/packages"}},{"old_version":"8.2.3","new_version":"8.2.4","update_type":"patch","path":null,"pr_created_at":"2026-04-27T20:49:28.000Z","version_change":"8.2.3 → 8.2.4","issue":{"uuid":"4338795373","node_id":"PR_kwDOJiVJE87WHIPO","number":180,"state":"open","title":"chore(deps-dev): bump textual from 8.2.3 to 8.2.4","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-27T20:49:28.000Z","updated_at":"2026-04-27T20:50:43.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev)","packages":[{"name":"textual","old_version":"8.2.3","new_version":"8.2.4","repository_url":"https://github.com/Textualize/textual"}],"path":null,"ecosystem":"pip"},"body":"Bumps [textual](https://github.com/Textualize/textual) from 8.2.3 to 8.2.4.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/textual/releases\"\u003etextual's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eThe small potatoes Release\u003c/h2\u003e\n\u003cp\u003eSmall potatoes update, to fix a glitch with anchor.\u003c/p\u003e\n\u003ch2\u003e[8.2.4] - 2026-04-19\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eDOM.update_classes\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6478\"\u003eTextualize/textual#6478\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed anchor released when scrolling down with the trackpad \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6503\"\u003eTextualize/textual#6503\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/Textualize/textual/blob/main/CHANGELOG.md\"\u003etextual's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[8.2.4] - 2026-04-19\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eDOM.update_classes\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6478\"\u003eTextualize/textual#6478\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed anchor released when scrolling down with the trackpad \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6503\"\u003eTextualize/textual#6503\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/Textualize/textual/commit/49a24d67a66b553ef2dede0674232a4704f5b4d8\"\u003e\u003ccode\u003e49a24d6\u003c/code\u003e\u003c/a\u003e bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/2a84efdda39e996a5bd698b510b87e7f90590996\"\u003e\u003ccode\u003e2a84efd\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6503\"\u003e#6503\u003c/a\u003e from Textualize/anchor-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/c9a49755a45497f0b604a42a477e47fe162c5cb7\"\u003e\u003ccode\u003ec9a4975\u003c/code\u003e\u003c/a\u003e fix anchor release on trackpad\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/f8b42bd7a93578338f1b3668a1dc83f79e344fe8\"\u003e\u003ccode\u003ef8b42bd\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6495\"\u003e#6495\u003c/a\u003e from Rohan5commit/docs-input-messages-20260417\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/697d0ffe41ce314b07835fcf00d5e841430d7ce9\"\u003e\u003ccode\u003e697d0ff\u003c/code\u003e\u003c/a\u003e docs: fix input validation typo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/759e66f8218b422ec76b35d0c8454eb5eb6291b1\"\u003e\u003ccode\u003e759e66f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6478\"\u003e#6478\u003c/a\u003e from Textualize/update-classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/3a3a76cd5754d44155c8ea6f6684d15837177c8c\"\u003e\u003ccode\u003e3a3a76c\u003c/code\u003e\u003c/a\u003e Added update flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/91c86a14ca523817b8e56f8b928cbf1a706f1123\"\u003e\u003ccode\u003e91c86a1\u003c/code\u003e\u003c/a\u003e Changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/27623a95efb5454fad63158858a4528e6c185fc5\"\u003e\u003ccode\u003e27623a9\u003c/code\u003e\u003c/a\u003e name change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/3decce56d9f5c157e641c5be5f59d00450effbd7\"\u003e\u003ccode\u003e3decce5\u003c/code\u003e\u003c/a\u003e leaner with sets\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/textual/compare/v8.2.3...v8.2.4\"\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=textual\u0026package-manager=uv\u0026previous-version=8.2.3\u0026new-version=8.2.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/Kilo59/ruff-sync/pull/180","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kilo59%2Fruff-sync/issues/180","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/180/packages"}},{"old_version":"8.2.3","new_version":"8.2.4","update_type":"patch","path":null,"pr_created_at":"2026-04-25T20:52:34.000Z","version_change":"8.2.3 → 8.2.4","issue":{"uuid":"4329191629","node_id":"PR_kwDOGrlpEM7VpIPf","number":451,"state":"closed","title":"Bump textual from 8.2.3 to 8.2.4","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-02T20:52:32.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-25T20:52:34.000Z","updated_at":"2026-05-02T20:52:34.000Z","time_to_close":604798,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"textual","old_version":"8.2.3","new_version":"8.2.4","repository_url":"https://github.com/Textualize/textual"}],"path":null,"ecosystem":"pip"},"body":"Bumps [textual](https://github.com/Textualize/textual) from 8.2.3 to 8.2.4.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/textual/releases\"\u003etextual's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eThe small potatoes Release\u003c/h2\u003e\n\u003cp\u003eSmall potatoes update, to fix a glitch with anchor.\u003c/p\u003e\n\u003ch2\u003e[8.2.4] - 2026-04-19\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eDOM.update_classes\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6478\"\u003eTextualize/textual#6478\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed anchor released when scrolling down with the trackpad \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6503\"\u003eTextualize/textual#6503\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/Textualize/textual/blob/main/CHANGELOG.md\"\u003etextual's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[8.2.4] - 2026-04-19\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eDOM.update_classes\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6478\"\u003eTextualize/textual#6478\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed anchor released when scrolling down with the trackpad \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6503\"\u003eTextualize/textual#6503\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/Textualize/textual/commit/49a24d67a66b553ef2dede0674232a4704f5b4d8\"\u003e\u003ccode\u003e49a24d6\u003c/code\u003e\u003c/a\u003e bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/2a84efdda39e996a5bd698b510b87e7f90590996\"\u003e\u003ccode\u003e2a84efd\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6503\"\u003e#6503\u003c/a\u003e from Textualize/anchor-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/c9a49755a45497f0b604a42a477e47fe162c5cb7\"\u003e\u003ccode\u003ec9a4975\u003c/code\u003e\u003c/a\u003e fix anchor release on trackpad\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/f8b42bd7a93578338f1b3668a1dc83f79e344fe8\"\u003e\u003ccode\u003ef8b42bd\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6495\"\u003e#6495\u003c/a\u003e from Rohan5commit/docs-input-messages-20260417\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/697d0ffe41ce314b07835fcf00d5e841430d7ce9\"\u003e\u003ccode\u003e697d0ff\u003c/code\u003e\u003c/a\u003e docs: fix input validation typo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/759e66f8218b422ec76b35d0c8454eb5eb6291b1\"\u003e\u003ccode\u003e759e66f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6478\"\u003e#6478\u003c/a\u003e from Textualize/update-classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/3a3a76cd5754d44155c8ea6f6684d15837177c8c\"\u003e\u003ccode\u003e3a3a76c\u003c/code\u003e\u003c/a\u003e Added update flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/91c86a14ca523817b8e56f8b928cbf1a706f1123\"\u003e\u003ccode\u003e91c86a1\u003c/code\u003e\u003c/a\u003e Changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/27623a95efb5454fad63158858a4528e6c185fc5\"\u003e\u003ccode\u003e27623a9\u003c/code\u003e\u003c/a\u003e name change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/3decce56d9f5c157e641c5be5f59d00450effbd7\"\u003e\u003ccode\u003e3decce5\u003c/code\u003e\u003c/a\u003e leaner with sets\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/textual/compare/v8.2.3...v8.2.4\"\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=textual\u0026package-manager=pip\u0026previous-version=8.2.3\u0026new-version=8.2.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/dmunozv04/iSponsorBlockTV/pull/451","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/dmunozv04%2FiSponsorBlockTV/issues/451","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/451/packages"}},{"old_version":"\u003e=0.65.0","new_version":"\u003e=8.2.4","update_type":"patch","path":"/test","pr_created_at":"2026-04-25T18:17:25.000Z","version_change":"\u003e=0.65.0 → \u003e=8.2.4","issue":{"uuid":"4328886905","node_id":"PR_kwDOPW6rlc7VoPaZ","number":36,"state":"closed","title":"chore(deps): update textual requirement from \u003e=0.65.0 to \u003e=8.2.4 in /test","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-04-25T21:26:20.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-25T18:17:25.000Z","updated_at":"2026-04-25T21:26:28.000Z","time_to_close":11335,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): update","packages":[{"name":"textual","old_version":"\u003e=0.65.0","new_version":"\u003e=8.2.4","repository_url":"https://github.com/Textualize/textual"}],"path":"/test","ecosystem":"pip"},"body":"Updates the requirements on [textual](https://github.com/Textualize/textual) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/textual/releases\"\u003etextual's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eThe small potatoes Release\u003c/h2\u003e\n\u003cp\u003eSmall potatoes update, to fix a glitch with anchor.\u003c/p\u003e\n\u003ch2\u003e[8.2.4] - 2026-04-19\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eDOM.update_classes\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6478\"\u003eTextualize/textual#6478\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed anchor released when scrolling down with the trackpad \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6503\"\u003eTextualize/textual#6503\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/Textualize/textual/blob/main/CHANGELOG.md\"\u003etextual's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[8.2.4] - 2026-04-19\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eDOM.update_classes\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6478\"\u003eTextualize/textual#6478\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed anchor released when scrolling down with the trackpad \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6503\"\u003eTextualize/textual#6503\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.3] - 2026-04-05\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReduce lag when resizing window, by moving resize from idle to a timer \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6471\"\u003eTextualize/textual#6471\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.2] - 2026-04-03\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed Pointless style updates when resizing \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6464\"\u003eTextualize/textual#6464\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.1] - 2026-03-29\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix crash when a widget disapears between selections \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6455\"\u003eTextualize/textual#6455\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.0] - 2026-03-27\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAuto-scrolling on select \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6440\"\u003eTextualize/textual#6440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSelecting over containers \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6440\"\u003eTextualize/textual#6440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eApp.ENABLE_SELECT_AUTO_SCROLL\u003c/code\u003e, \u003ccode\u003eApp.SELECT_AUTO_SCROLL_LINES\u003c/code\u003e, \u003ccode\u003eApp.SELECT_AUTO_SCROLL_SPEED\u003c/code\u003e to tweak auto scrolling behavior \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6440\"\u003eTextualize/textual#6440\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.1.1] - 2026-03-10\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHotfix for animation on complete \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6412\"\u003eTextualize/textual#6412\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.1.0] - 2026-03-10\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReplace circuar references in DOM with weak references to improve GC times \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6410\"\u003eTextualize/textual#6410\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen animating an attribute a second time, the original \u003ccode\u003eon_complete\u003c/code\u003e is now called \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6410\"\u003eTextualize/textual#6410\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/49a24d67a66b553ef2dede0674232a4704f5b4d8\"\u003e\u003ccode\u003e49a24d6\u003c/code\u003e\u003c/a\u003e bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/2a84efdda39e996a5bd698b510b87e7f90590996\"\u003e\u003ccode\u003e2a84efd\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6503\"\u003e#6503\u003c/a\u003e from Textualize/anchor-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/c9a49755a45497f0b604a42a477e47fe162c5cb7\"\u003e\u003ccode\u003ec9a4975\u003c/code\u003e\u003c/a\u003e fix anchor release on trackpad\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/f8b42bd7a93578338f1b3668a1dc83f79e344fe8\"\u003e\u003ccode\u003ef8b42bd\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6495\"\u003e#6495\u003c/a\u003e from Rohan5commit/docs-input-messages-20260417\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/697d0ffe41ce314b07835fcf00d5e841430d7ce9\"\u003e\u003ccode\u003e697d0ff\u003c/code\u003e\u003c/a\u003e docs: fix input validation typo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/759e66f8218b422ec76b35d0c8454eb5eb6291b1\"\u003e\u003ccode\u003e759e66f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6478\"\u003e#6478\u003c/a\u003e from Textualize/update-classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/3a3a76cd5754d44155c8ea6f6684d15837177c8c\"\u003e\u003ccode\u003e3a3a76c\u003c/code\u003e\u003c/a\u003e Added update flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/91c86a14ca523817b8e56f8b928cbf1a706f1123\"\u003e\u003ccode\u003e91c86a1\u003c/code\u003e\u003c/a\u003e Changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/27623a95efb5454fad63158858a4528e6c185fc5\"\u003e\u003ccode\u003e27623a9\u003c/code\u003e\u003c/a\u003e name change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/3decce56d9f5c157e641c5be5f59d00450effbd7\"\u003e\u003ccode\u003e3decce5\u003c/code\u003e\u003c/a\u003e leaner with sets\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/textual/compare/v0.65.0...v8.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore 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/bamr87/bashcrawl/pull/36","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/bamr87%2Fbashcrawl/issues/36","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/36/packages"}},{"old_version":"8.2.1","new_version":"8.2.4","update_type":"patch","path":null,"pr_created_at":"2026-04-25T06:43:20.000Z","version_change":"8.2.1 → 8.2.4","issue":{"uuid":"4327385454","node_id":"PR_kwDOQ8nqEc7VjydM","number":279,"state":"closed","title":"Bump textual from 8.2.1 to 8.2.4","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-02T06:43:35.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-25T06:43:20.000Z","updated_at":"2026-05-02T06:43:36.000Z","time_to_close":604815,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"textual","old_version":"8.2.1","new_version":"8.2.4","repository_url":"https://github.com/Textualize/textual"}],"path":null,"ecosystem":"pip"},"body":"Bumps [textual](https://github.com/Textualize/textual) from 8.2.1 to 8.2.4.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/textual/releases\"\u003etextual's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eThe small potatoes Release\u003c/h2\u003e\n\u003cp\u003eSmall potatoes update, to fix a glitch with anchor.\u003c/p\u003e\n\u003ch2\u003e[8.2.4] - 2026-04-19\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eDOM.update_classes\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6478\"\u003eTextualize/textual#6478\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed anchor released when scrolling down with the trackpad \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6503\"\u003eTextualize/textual#6503\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eThe snappier resize Release\u003c/h2\u003e\n\u003ch2\u003e[8.2.3] - 2026-04-05\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReduce lag when resizing window, by moving resize from idle to a timer \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6471\"\u003eTextualize/textual#6471\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eThe Faster Resize Release\u003c/h2\u003e\n\u003cp\u003eFixed an issue where styles were being unneccesarily updated when resizing. Textual apps will now adapt to changes in the terminal size much more quickly.\u003c/p\u003e\n\u003ch2\u003e[8.2.2] - 2026-04-03\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed Pointless style updates when resizing \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6464\"\u003eTextualize/textual#6464\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/Textualize/textual/blob/main/CHANGELOG.md\"\u003etextual's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[8.2.4] - 2026-04-19\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eDOM.update_classes\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6478\"\u003eTextualize/textual#6478\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed anchor released when scrolling down with the trackpad \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6503\"\u003eTextualize/textual#6503\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.3] - 2026-04-05\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReduce lag when resizing window, by moving resize from idle to a timer \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6471\"\u003eTextualize/textual#6471\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.2] - 2026-04-03\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed Pointless style updates when resizing \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6464\"\u003eTextualize/textual#6464\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/Textualize/textual/commit/49a24d67a66b553ef2dede0674232a4704f5b4d8\"\u003e\u003ccode\u003e49a24d6\u003c/code\u003e\u003c/a\u003e bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/2a84efdda39e996a5bd698b510b87e7f90590996\"\u003e\u003ccode\u003e2a84efd\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6503\"\u003e#6503\u003c/a\u003e from Textualize/anchor-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/c9a49755a45497f0b604a42a477e47fe162c5cb7\"\u003e\u003ccode\u003ec9a4975\u003c/code\u003e\u003c/a\u003e fix anchor release on trackpad\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/f8b42bd7a93578338f1b3668a1dc83f79e344fe8\"\u003e\u003ccode\u003ef8b42bd\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6495\"\u003e#6495\u003c/a\u003e from Rohan5commit/docs-input-messages-20260417\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/697d0ffe41ce314b07835fcf00d5e841430d7ce9\"\u003e\u003ccode\u003e697d0ff\u003c/code\u003e\u003c/a\u003e docs: fix input validation typo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/759e66f8218b422ec76b35d0c8454eb5eb6291b1\"\u003e\u003ccode\u003e759e66f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6478\"\u003e#6478\u003c/a\u003e from Textualize/update-classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/3a3a76cd5754d44155c8ea6f6684d15837177c8c\"\u003e\u003ccode\u003e3a3a76c\u003c/code\u003e\u003c/a\u003e Added update flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/91c86a14ca523817b8e56f8b928cbf1a706f1123\"\u003e\u003ccode\u003e91c86a1\u003c/code\u003e\u003c/a\u003e Changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/27623a95efb5454fad63158858a4528e6c185fc5\"\u003e\u003ccode\u003e27623a9\u003c/code\u003e\u003c/a\u003e name change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/3decce56d9f5c157e641c5be5f59d00450effbd7\"\u003e\u003ccode\u003e3decce5\u003c/code\u003e\u003c/a\u003e leaner with sets\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/textual/compare/v8.2.1...v8.2.4\"\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=textual\u0026package-manager=pip\u0026previous-version=8.2.1\u0026new-version=8.2.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/pavel-vlasov/TUI-K6-Runner/pull/279","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/pavel-vlasov%2FTUI-K6-Runner/issues/279","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/279/packages"}},{"old_version":"8.0.2","new_version":"8.2.4","update_type":"minor","path":null,"pr_created_at":"2026-04-20T06:31:15.000Z","version_change":"8.0.2 → 8.2.4","issue":{"uuid":"4293571694","node_id":"PR_kwDOIye5g87T1w3y","number":32,"state":"open","title":"chore(deps): bump the python-dependencies group with 14 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-20T06:31:15.000Z","updated_at":"2026-04-20T06:32:37.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"python-dependencies","update_count":14,"packages":[{"name":"sqlmodel","old_version":"0.0.37","new_version":"0.0.38","repository_url":"https://github.com/fastapi/sqlmodel"},{"name":"duckdb","old_version":"1.4.4","new_version":"1.5.2","repository_url":"https://github.com/duckdb/duckdb-python"},{"name":"rich","old_version":"14.3.3","new_version":"15.0.0","repository_url":"https://github.com/Textualize/rich"},{"name":"textual","old_version":"8.0.2","new_version":"8.2.4","repository_url":"https://github.com/Textualize/textual"},{"name":"pytest","old_version":"9.0.2","new_version":"9.0.3","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"pytest-cov","old_version":"7.0.0","new_version":"7.1.0","repository_url":"https://github.com/pytest-dev/pytest-cov"},{"name":"respx","old_version":"0.22.0","new_version":"0.23.1","repository_url":"https://github.com/lundberg/respx"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [polars[database,pyarrow]](https://github.com/pola-rs/polars), [pandera[polars]](https://github.com/pandera-dev/pandera), [sqlmodel](https://github.com/fastapi/sqlmodel), [duckdb](https://github.com/duckdb/duckdb-python), [rich](https://github.com/Textualize/rich), [textual](https://github.com/Textualize/textual), [pytest](https://github.com/pytest-dev/pytest), [pytest-cov](https://github.com/pytest-dev/pytest-cov), [respx](https://github.com/lundberg/respx), [hypothesis](https://github.com/HypothesisWorks/hypothesis), [ruff](https://github.com/astral-sh/ruff), [ty](https://github.com/astral-sh/ty), [sqlfluff](https://github.com/sqlfluff/sqlfluff) and [sqlglot](https://github.com/tobymao/sqlglot) to permit the latest version.\nUpdates `polars[database,pyarrow]` to 1.40.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pola-rs/polars/releases\"\u003epolars[database,pyarrow]'s releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ePython Polars 1.40.0\u003c/h2\u003e\n\u003ch2\u003e🏆 Highlights\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd streaming support for grouped AsOf join (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27293\"\u003e#27293\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e⚠️ Deprecations\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate support for dataframe interchange protocol (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27214\"\u003e#27214\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🚀 Performance improvements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCreate IR slice from expr slice pushdown (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27200\"\u003e#27200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd streaming support for grouped AsOf join (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27293\"\u003e#27293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid unnecessary rechunk when sorting already sorted DataFrame (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27264\"\u003e#27264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLower basic over() to streaming primitives (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27303\"\u003e#27303\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLower \u003ccode\u003edrop_{nulls,nans}\u003c/code\u003e in streaming \u003ccode\u003egroup_by\u003c/code\u003e aggregations (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27296\"\u003e#27296\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLower \u003ccode\u003eentropy\u003c/code\u003e to streaming reductions (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27174\"\u003e#27174\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd native streaming \u003ccode\u003einterpolate\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27185\"\u003e#27185\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStreaming \u003ccode\u003estrptime\u003c/code\u003e with \u003ccode\u003eformat=None\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27056\"\u003e#27056\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLower \u003ccode\u003eskew\u003c/code\u003e / \u003ccode\u003ekurtosis\u003c/code\u003e to streaming aggregations (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27176\"\u003e#27176\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePost apply pyarrow filter in Polars' engine instead of pyarrow (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27192\"\u003e#27192\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOptimize \u003ccode\u003edrop_nulls().{first,last}()\u003c/code\u003e to \u003ccode\u003e{first,last}(ignore_nulls=True)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27187\"\u003e#27187\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAlways process pyarrow scan in batches (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27183\"\u003e#27183\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003ecut\u003c/code\u003e output \u003ccode\u003eEnum\u003c/code\u003e and mark as elementwise (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27173\"\u003e#27173\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove unused expression sorts (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27075\"\u003e#27075\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse delta stats for mixed hive and non-hive predicate pushdown (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27102\"\u003e#27102\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTake into account size per row in join sampling (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27098\"\u003e#27098\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStreaming is_first_distinct and unique(maintain_order=True) (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27052\"\u003e#27052\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStreaming \u003ccode\u003ecov\u003c/code\u003e and \u003ccode\u003ecorr\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27008\"\u003e#27008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd sorted unique node to streaming engine (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26990\"\u003e#26990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure Expr.append is lowered in streaming engine (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27022\"\u003e#27022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCollapse consecutive Sort nodes (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26965\"\u003e#26965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop \u003ccode\u003emaintain_order=True\u003c/code\u003e requirement in \u003ccode\u003esink_delta\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27007\"\u003e#27007\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e✨ Enhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eignore_nulls\u003c/code\u003e to \u003ccode\u003e{list,arr}.{any,all}\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27186\"\u003e#27186\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLock-free memory manager with spill-to-disk and fully OOC multiplexer (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26774\"\u003e#26774\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eis_unique\u003c/code\u003e to list/array dtypes (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27290\"\u003e#27290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStreaming pyarrow datasets sources (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27230\"\u003e#27230\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003epl.merge_sorted\u003c/code\u003e operating on multiple frames (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27014\"\u003e#27014\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003egroup_by()\u003c/code\u003e without key exprs (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27141\"\u003e#27141\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChange default scan/read_lines column name from \u0026quot;lines\u0026quot; to \u0026quot;line\u0026quot; (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27122\"\u003e#27122\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake unnest() effective on all columns by default (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27029\"\u003e#27029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCollapse consecutive Sort nodes (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/26965\"\u003e#26965\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐞 Bug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003egroups\u003c/code\u003e to correct length for \u003ccode\u003eImplode\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27282\"\u003e#27282\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix scan_csv missing_columns='insert' overwrote existing data with NULLs (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27297\"\u003e#27297\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/bf6a425f4ecdc53fd5d0c4b47ef4a08ca61f8d87\"\u003e\u003ccode\u003ebf6a425\u003c/code\u003e\u003c/a\u003e fix: Update \u003ccode\u003egroups\u003c/code\u003e to correct length for \u003ccode\u003eImplode\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27282\"\u003e#27282\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/aeb677d8598fc3032458751b53bd04c0e1963401\"\u003e\u003ccode\u003eaeb677d\u003c/code\u003e\u003c/a\u003e test(python): Add regression test for instantiating polars DataFrame from pan...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/5fd657e420147284358e8388c389a566ae13ff38\"\u003e\u003ccode\u003e5fd657e\u003c/code\u003e\u003c/a\u003e docs: Add documentation for openlineage on-premises (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27334\"\u003e#27334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/fad784c03ada4eb23c75985eac3e254d6b5977bc\"\u003e\u003ccode\u003efad784c\u003c/code\u003e\u003c/a\u003e fix: Fix scan_csv missing_columns='insert' overwrote existing data with NULLs...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/bdf73dc7991754b7e4025a7760d3a0f7c7f2914c\"\u003e\u003ccode\u003ebdf73dc\u003c/code\u003e\u003c/a\u003e docs: Release page (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27335\"\u003e#27335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/f9dfa217361aa3ee9866a8532904d58668a6fcad\"\u003e\u003ccode\u003ef9dfa21\u003c/code\u003e\u003c/a\u003e perf: Create IR slice from expr slice pushdown (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27200\"\u003e#27200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/f81f8f8b1caef5d86d9adcf01ae18aa228dd38a1\"\u003e\u003ccode\u003ef81f8f8\u003c/code\u003e\u003c/a\u003e refactor(rust): Add generic tree traversal with edge value propagation (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27249\"\u003e#27249\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/d1165c074ebfb3bc8a3a19efb21ce09cb34877e0\"\u003e\u003ccode\u003ed1165c0\u003c/code\u003e\u003c/a\u003e docs: Update uv pip install polars-on-premises cmd (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27330\"\u003e#27330\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/4b216a89fc691a2ece5ca8511cc978e1aba2079f\"\u003e\u003ccode\u003e4b216a8\u003c/code\u003e\u003c/a\u003e perf: Add streaming support for grouped AsOf join (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27293\"\u003e#27293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/518b9a3f5da2403d5b20fe0feb7faa2a336eb68b\"\u003e\u003ccode\u003e518b9a3\u003c/code\u003e\u003c/a\u003e chore: Bump Python Polars version (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27315\"\u003e#27315\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pola-rs/polars/compare/py-1.38.1...py-1.40.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pandera[polars]` to 0.31.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pandera-dev/pandera/releases\"\u003epandera[polars]'s releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.31.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix pandera[polars] import without pandas by \u003ca href=\"https://github.com/cosmicBboy\"\u003e\u003ccode\u003e@​cosmicBboy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2291\"\u003eunionai-oss/pandera#2291\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/unionai-oss/pandera/compare/v0.31.0...v0.31.1\"\u003ehttps://github.com/unionai-oss/pandera/compare/v0.31.0...v0.31.1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/df7cb7d8282e20cca0fc13f166bb7d99e48c5a3f\"\u003e\u003ccode\u003edf7cb7d\u003c/code\u003e\u003c/a\u003e Fix pandera[polars] import without pandas (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2291\"\u003e#2291\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/1921c1d56d7436dfc4592f1be8739a25ff7accd2\"\u003e\u003ccode\u003e1921c1d\u003c/code\u003e\u003c/a\u003e Rename test functions for clarity\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/0502361a191431b9e34520330afd65141b0af164\"\u003e\u003ccode\u003e0502361\u003c/code\u003e\u003c/a\u003e test(pyspark): add str_length regressions for issues \u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/1311\"\u003e#1311\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/1314\"\u003e#1314\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/7773eb8626985f33b23c398389cee6f47497d1ed\"\u003e\u003ccode\u003e7773eb8\u003c/code\u003e\u003c/a\u003e fix: support Spark Connect DataFrame in cache_check_obj decorator\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/52f9805fd6055aca1f907af32c5b8d481b98f247\"\u003e\u003ccode\u003e52f9805\u003c/code\u003e\u003c/a\u003e tests(mypy): add polars Column Decimal/Struct typing regression\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/e61e02ce7dc0b12b1248a5f1cc3e78f1480f336e\"\u003e\u003ccode\u003ee61e02c\u003c/code\u003e\u003c/a\u003e fix(geopandas): re-export errors in module \u003cstrong\u003eall\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/3d95fc16fe85734c2a47dd749ff529be351146ac\"\u003e\u003ccode\u003e3d95fc1\u003c/code\u003e\u003c/a\u003e fix(pandas): export errors in pandera.pandas public API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/1370d6d480e018443d7ca224e6344443dbd49261\"\u003e\u003ccode\u003e1370d6d\u003c/code\u003e\u003c/a\u003e docs: fix xarray guide link in banner\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/356f1a6aefee572ebc6eafe77affb89c2bf0fa5a\"\u003e\u003ccode\u003e356f1a6\u003c/code\u003e\u003c/a\u003e docs: update xarray integration info for v0.31.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/99fbb48998308542e48047332693a14281d2da0b\"\u003e\u003ccode\u003e99fbb48\u003c/code\u003e\u003c/a\u003e fix(pandas): remove deprecated applymap from parser backend (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2281\"\u003e#2281\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pandera-dev/pandera/compare/v0.29.0...v0.31.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sqlmodel` from 0.0.37 to 0.0.38\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fastapi/sqlmodel/releases\"\u003esqlmodel's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.38\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix type annotation in \u003ccode\u003eSQLModel.__new__\u003c/code\u003e, avoid explicitly returning \u003ccode\u003eAny\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1846\"\u003e#1846\u003c/a\u003e by \u003ca href=\"https://github.com/carljm\"\u003e\u003ccode\u003e@​carljm\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🐛 Fix \u003ccode\u003etuple_\u003c/code\u003e return type annotation. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1639\"\u003e#1639\u003c/a\u003e by \u003ca href=\"https://github.com/kakeruzoku\"\u003e\u003ccode\u003e@​kakeruzoku\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✏️ Fix typos in \u003ccode\u003econtributing.md\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1842\"\u003e#1842\u003c/a\u003e by \u003ca href=\"https://github.com/GopalGB\"\u003e\u003ccode\u003e@​GopalGB\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔥 Remove outdated Python 3.9 tutorial file. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1822\"\u003e#1822\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Fix ambiguous phrasing regarding \u003ccode\u003eHeroPublicWithTeam\u003c/code\u003e model. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1678\"\u003e#1678\u003c/a\u003e by \u003ca href=\"https://github.com/berkaykrc\"\u003e\u003ccode\u003e@​berkaykrc\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔨 Handle external links \u003ccode\u003etarget=_blank\u003c/code\u003e and CSS automatically in JS and CSS. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1799\"\u003e#1799\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Document \u003ccode\u003e.in_()\u003c/code\u003e method. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/619\"\u003e#619\u003c/a\u003e by \u003ca href=\"https://github.com/masylum\"\u003e\u003ccode\u003e@​masylum\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Fix small typos in the documentation. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1641\"\u003e#1641\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔨 Add pre-commit hook to ensure latest release header has date. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1786\"\u003e#1786\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pillow from 12.1.1 to 12.2.0. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1845\"\u003e#1845\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump fastapi from 0.135.2 to 0.135.3. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1844\"\u003e#1844\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump prek from 0.3.6 to 0.3.8. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1829\"\u003e#1829\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pygithub from 2.8.1 to 2.9.0. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1827\"\u003e#1827\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump fastapi from 0.135.1 to 0.135.2. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1828\"\u003e#1828\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e➕ Add a direct dependency on \u003ccode\u003etyping-extensions\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1815\"\u003e#1815\u003c/a\u003e by \u003ca href=\"https://github.com/musicinmybrain\"\u003e\u003ccode\u003e@​musicinmybrain\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump mkdocs-material from 9.7.5 to 9.7.6. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1825\"\u003e#1825\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.15.6 to 0.15.7. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1826\"\u003e#1826\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump prek from 0.3.5 to 0.3.6. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1817\"\u003e#1817\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📌 Update internal dependency limits. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1809\"\u003e#1809\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.15.5 to 0.15.6. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1814\"\u003e#1814\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump cairosvg from 2.8.2 to 2.9.0. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1813\"\u003e#1813\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump dorny/paths-filter from 3 to 4. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1812\"\u003e#1812\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump black from 26.3.0 to 26.3.1. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1811\"\u003e#1811\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump mkdocs-material from 9.7.4 to 9.7.5. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1808\"\u003e#1808\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump prek from 0.3.4 to 0.3.5. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1807\"\u003e#1807\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump black from 26.1.0 to 26.3.0. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1803\"\u003e#1803\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.15.4 to 0.15.5. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1801\"\u003e#1801\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump mkdocs-material from 9.7.3 to 9.7.4. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1797\"\u003e#1797\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump sqlalchemy from 2.0.47 to 2.0.48. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1793\"\u003e#1793\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump prek from 0.3.3 to 0.3.4. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1794\"\u003e#1794\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump fastapi from 0.134.0 to 0.135.1. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1795\"\u003e#1795\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump fastapi from 0.133.1 to 0.134.0. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1792\"\u003e#1792\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.15.2 to 0.15.4. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1790\"\u003e#1790\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump actions/download-artifact from 7 to 8. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1789\"\u003e#1789\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump actions/upload-artifact from 6 to 7. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1788\"\u003e#1788\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump fastapi from 0.133.0 to 0.133.1. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1787\"\u003e#1787\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump mkdocs-material from 9.7.2 to 9.7.3. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1782\"\u003e#1782\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump fastapi from 0.132.0 to 0.133.0. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1781\"\u003e#1781\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump sqlalchemy from 2.0.46 to 2.0.47. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1783\"\u003e#1783\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pytest from 8.4.2 to 9.0.2. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1780\"\u003e#1780\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump mkdocstrings[python] from 0.30.1 to 1.0.3. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1776\"\u003e#1776\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fastapi/sqlmodel/blob/main/docs/release-notes.md\"\u003esqlmodel's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.38 (2026-04-02)\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix type annotation in \u003ccode\u003eSQLModel.__new__\u003c/code\u003e, avoid explicitly returning \u003ccode\u003eAny\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1846\"\u003e#1846\u003c/a\u003e by \u003ca href=\"https://github.com/carljm\"\u003e\u003ccode\u003e@​carljm\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🐛 Fix \u003ccode\u003etuple_\u003c/code\u003e return type annotation. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1639\"\u003e#1639\u003c/a\u003e by \u003ca href=\"https://github.com/kakeruzoku\"\u003e\u003ccode\u003e@​kakeruzoku\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✏️ Fix typos in \u003ccode\u003econtributing.md\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1842\"\u003e#1842\u003c/a\u003e by \u003ca href=\"https://github.com/GopalGB\"\u003e\u003ccode\u003e@​GopalGB\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔥 Remove outdated Python 3.9 tutorial file. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1822\"\u003e#1822\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Fix ambiguous phrasing regarding \u003ccode\u003eHeroPublicWithTeam\u003c/code\u003e model. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1678\"\u003e#1678\u003c/a\u003e by \u003ca href=\"https://github.com/berkaykrc\"\u003e\u003ccode\u003e@​berkaykrc\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔨 Handle external links \u003ccode\u003etarget=_blank\u003c/code\u003e and CSS automatically in JS and CSS. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1799\"\u003e#1799\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Document \u003ccode\u003e.in_()\u003c/code\u003e method. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/619\"\u003e#619\u003c/a\u003e by \u003ca href=\"https://github.com/masylum\"\u003e\u003ccode\u003e@​masylum\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Fix small typos in the documentation. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1641\"\u003e#1641\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔨 Add pre-commit hook to ensure latest release header has date. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1786\"\u003e#1786\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pillow from 12.1.1 to 12.2.0. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1845\"\u003e#1845\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump fastapi from 0.135.2 to 0.135.3. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1844\"\u003e#1844\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump prek from 0.3.6 to 0.3.8. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1829\"\u003e#1829\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pygithub from 2.8.1 to 2.9.0. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1827\"\u003e#1827\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump fastapi from 0.135.1 to 0.135.2. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1828\"\u003e#1828\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e➕ Add a direct dependency on \u003ccode\u003etyping-extensions\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1815\"\u003e#1815\u003c/a\u003e by \u003ca href=\"https://github.com/musicinmybrain\"\u003e\u003ccode\u003e@​musicinmybrain\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump mkdocs-material from 9.7.5 to 9.7.6. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1825\"\u003e#1825\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.15.6 to 0.15.7. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1826\"\u003e#1826\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump prek from 0.3.5 to 0.3.6. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1817\"\u003e#1817\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📌 Update internal dependency limits. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1809\"\u003e#1809\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.15.5 to 0.15.6. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1814\"\u003e#1814\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump cairosvg from 2.8.2 to 2.9.0. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1813\"\u003e#1813\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump dorny/paths-filter from 3 to 4. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1812\"\u003e#1812\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump black from 26.3.0 to 26.3.1. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1811\"\u003e#1811\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump mkdocs-material from 9.7.4 to 9.7.5. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1808\"\u003e#1808\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump prek from 0.3.4 to 0.3.5. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1807\"\u003e#1807\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump black from 26.1.0 to 26.3.0. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1803\"\u003e#1803\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.15.4 to 0.15.5. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1801\"\u003e#1801\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump mkdocs-material from 9.7.3 to 9.7.4. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1797\"\u003e#1797\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump sqlalchemy from 2.0.47 to 2.0.48. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1793\"\u003e#1793\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump prek from 0.3.3 to 0.3.4. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1794\"\u003e#1794\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump fastapi from 0.134.0 to 0.135.1. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1795\"\u003e#1795\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump fastapi from 0.133.1 to 0.134.0. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1792\"\u003e#1792\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.15.2 to 0.15.4. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1790\"\u003e#1790\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump actions/download-artifact from 7 to 8. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1789\"\u003e#1789\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump actions/upload-artifact from 6 to 7. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1788\"\u003e#1788\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump fastapi from 0.133.0 to 0.133.1. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1787\"\u003e#1787\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump mkdocs-material from 9.7.2 to 9.7.3. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1782\"\u003e#1782\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump fastapi from 0.132.0 to 0.133.0. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1781\"\u003e#1781\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump sqlalchemy from 2.0.46 to 2.0.47. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1783\"\u003e#1783\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pytest from 8.4.2 to 9.0.2. PR \u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/pull/1780\"\u003e#1780\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/sqlmodel/commit/de0ecdf63e9eae5da67f7ffc8d73577a326e30b9\"\u003e\u003ccode\u003ede0ecdf\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.0.38\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/sqlmodel/commit/8363cc764e6d3e9744b42df265071db6f0e98446\"\u003e\u003ccode\u003e8363cc7\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/sqlmodel/commit/ae672ce7caebc84098731d216c2919f483c5dce0\"\u003e\u003ccode\u003eae672ce\u003c/code\u003e\u003c/a\u003e 🔨 Add pre-commit hook to ensure latest release header has date (\u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/issues/1786\"\u003e#1786\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/sqlmodel/commit/f9e8e4c3f33f8f03c70e0dbd6f96d9fb34aa9be1\"\u003e\u003ccode\u003ef9e8e4c\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/sqlmodel/commit/5da82e2d741e6ab94580395ee637721ca0cb315e\"\u003e\u003ccode\u003e5da82e2\u003c/code\u003e\u003c/a\u003e 🐛 Fix type annotation in \u003ccode\u003eSQLModel.__new__\u003c/code\u003e, avoid explicitly returning \u003ccode\u003eAny\u003c/code\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/sqlmodel/commit/9a44fc440020594b1c99f3b86ca958179f921dbb\"\u003e\u003ccode\u003e9a44fc4\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/sqlmodel/commit/f7e193acfb91cb020074f3d72bba9d9d745958e6\"\u003e\u003ccode\u003ef7e193a\u003c/code\u003e\u003c/a\u003e ⬆ Bump pillow from 12.1.1 to 12.2.0 (\u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/issues/1845\"\u003e#1845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/sqlmodel/commit/2df429faf73597a4fbaa6a904046c5ff14d0735d\"\u003e\u003ccode\u003e2df429f\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/sqlmodel/commit/a2474ce772705a10fda32cfde33f955572cbe45a\"\u003e\u003ccode\u003ea2474ce\u003c/code\u003e\u003c/a\u003e ⬆ Bump fastapi from 0.135.2 to 0.135.3 (\u003ca href=\"https://redirect.github.com/fastapi/sqlmodel/issues/1844\"\u003e#1844\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/sqlmodel/commit/fc18b94a9a012e62f98a4e92cfb4e91bd8f9c7d2\"\u003e\u003ccode\u003efc18b94\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fastapi/sqlmodel/compare/0.0.37...0.0.38\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `duckdb` from 1.4.4 to 1.5.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/duckdb/duckdb-python/releases\"\u003educkdb's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.5.2 Bugfix Release\u003c/h2\u003e\n\u003cp\u003eSee the DuckDB core release notes here: \u003ca href=\"https://github.com/duckdb/duckdb/releases/tag/v1.5.2\"\u003ehttps://github.com/duckdb/duckdb/releases/tag/v1.5.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eWhat's Changed in duckdb-python\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eType hints overhaul by \u003ca href=\"https://github.com/OutSquareCapital\"\u003e\u003ccode\u003e@​OutSquareCapital\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/duckdb/duckdb-python/pull/352\"\u003educkdb/duckdb-python#352\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCache arrow schema for streaming types by \u003ca href=\"https://github.com/evertlammerts\"\u003e\u003ccode\u003e@​evertlammerts\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/duckdb/duckdb-python/pull/423\"\u003educkdb/duckdb-python#423\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix segfault on join with None by \u003ca href=\"https://github.com/evertlammerts\"\u003e\u003ccode\u003e@​evertlammerts\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/duckdb/duckdb-python/pull/422\"\u003educkdb/duckdb-python#422\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix stubs for path_or_buffer param by \u003ca href=\"https://github.com/evertlammerts\"\u003e\u003ccode\u003e@​evertlammerts\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/duckdb/duckdb-python/pull/425\"\u003educkdb/duckdb-python#425\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.5.1 Bugfix Release\u003c/h2\u003e\n\u003cp\u003eDuckDB core v1.5.1 Changelog: \u003ca href=\"https://github.com/duckdb/duckdb/compare/v1.5.0...v1.5.1\"\u003ehttps://github.com/duckdb/duckdb/compare/v1.5.0...v1.5.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRe-added basic support for the GEOMETRY type\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDuckDB Python 1.5.0 \u0026quot;Variegata\u0026quot;\u003c/h2\u003e\n\u003cp\u003eThis is the 1.5.0 release of DuckDB's Python bindings. For a list of changes in DuckDB core, have a look at the \u003ca href=\"https://github.com/duckdb/duckdb/releases/tag/v1.5.0\"\u003eDuckDB release notes\u003c/a\u003e and \u003ca href=\"https://duckdb.org/2026/03/09/announcing-duckdb-150.html\"\u003ethe blogpost\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eDropped Python 3.9 support.\u003c/strong\u003e The minimum supported version is now Python 3.10.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRemoved deprecated \u003ccode\u003educkdb.typing\u003c/code\u003e and \u003ccode\u003educkdb.functional\u003c/code\u003e modules.\u003c/strong\u003e These were deprecated in 1.4.0. Use \u003ccode\u003educkdb.sqltypes\u003c/code\u003e and \u003ccode\u003educkdb.func\u003c/code\u003e instead.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRenamed \u003ccode\u003ecolumn\u003c/code\u003e parameter to \u003ccode\u003eexpression\u003c/code\u003e\u003c/strong\u003e in relational API functions (e.g., \u003ccode\u003emin\u003c/code\u003e, \u003ccode\u003emax\u003c/code\u003e, \u003ccode\u003esum\u003c/code\u003e, \u003ccode\u003emean\u003c/code\u003e, etc.) to better reflect that these accept expressions, not just column names.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDeprecated \u003ccode\u003efetch_arrow_table()\u003c/code\u003e and \u003ccode\u003efetch_record_batch()\u003c/code\u003e\u003c/strong\u003e on connections and relations. Use the new \u003ccode\u003eto_arrow_table()\u003c/code\u003e and \u003ccode\u003eto_arrow_reader()\u003c/code\u003e methods instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNew Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ePolars LazyFrame projection and filter pushdown.\u003c/strong\u003e DuckDB can now push down projections and filters when scanning Polars LazyFrames, including support for cast nodes and unstrict casts.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ePolars Int128 / UInt128 support.\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eVARIANT type support\u003c/strong\u003e — Python conversion, NumPy array wrapping, and type stubs.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTIME_NS type support\u003c/strong\u003e — nanosecond-precision time values across Python, NumPy, and Spark type systems.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eProfiling API\u003c/strong\u003e — new \u003ccode\u003eget_profiling_info()\u003c/code\u003e and \u003ccode\u003eget_profiling_json()\u003c/code\u003e methods on connections, plus a refactored \u003ccode\u003equery_graph\u003c/code\u003e module with improved HTML visualization (dark mode, expandable phases, depth).\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eto_arrow_table()\u003c/code\u003e and \u003ccode\u003eto_arrow_reader()\u003c/code\u003e\u003c/strong\u003e — new methods on connections and relations as the preferred Arrow export API.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003e__arrow_c_stream__\u003c/code\u003e on relations\u003c/strong\u003e — relations now export via the Arrow PyCapsule interface using \u003ccode\u003ePhysicalArrowCollector\u003c/code\u003e for zero-copy streaming.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eUnified Arrow stream scanning\u003c/strong\u003e via \u003ccode\u003e__arrow_c_stream__\u003c/code\u003e, with filter pushdown only when pyarrow is present.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eArrow schema caching\u003c/strong\u003e to avoid repeated lookups during scanning.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eArrow object type caching\u003c/strong\u003e to avoid repeated detection.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eEmpty params treated as None for \u003ccode\u003e.sql()\u003c/code\u003e\u003c/strong\u003e — avoids unnecessary parameter binding overhead.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eSimplified GIL management\u003c/strong\u003e for \u003ccode\u003eFetchRow\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eFixed Python object leak in scalar UDFs\u003c/strong\u003e — \u003ccode\u003ePyObject_CallObject\u003c/code\u003e return values are now properly stolen to avoid reference count leaks.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eFixed reference cycle\u003c/strong\u003e between connections and relations that could prevent garbage collection.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRelations now hold a reference to their connection\u003c/strong\u003e, preventing premature connection closure.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eFixed fsspec race condition\u003c/strong\u003e in the Python filesystem implementation.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eFixed numeric conversion logic\u003c/strong\u003e — improved handling of large integers (fallback to VARCHAR) and UNION types.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duckdb/duckdb-python/commit/2aea44eeae35b9c77dc2ff672634034a75c9bb16\"\u003e\u003ccode\u003e2aea44e\u003c/code\u003e\u003c/a\u003e pin submodule at release hash\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duckdb/duckdb-python/commit/3aa2bf2022b91dc9a96c3f91c8bb1fb0296586ef\"\u003e\u003ccode\u003e3aa2bf2\u003c/code\u003e\u003c/a\u003e Fix stubs for path_or_buffer param (\u003ca href=\"https://redirect.github.com/duckdb/duckdb-python/issues/425\"\u003e#425\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duckdb/duckdb-python/commit/018fe057d5a003355deb4213a894af559a947aa7\"\u003e\u003ccode\u003e018fe05\u003c/code\u003e\u003c/a\u003e Fix stubs for path_or_buffer param\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duckdb/duckdb-python/commit/0ef05d69fc8a123cf532f3ffb3e088212bbbfaf7\"\u003e\u003ccode\u003e0ef05d6\u003c/code\u003e\u003c/a\u003e Fix segfault on join with None (\u003ca href=\"https://redirect.github.com/duckdb/duckdb-python/issues/422\"\u003e#422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duckdb/duckdb-python/commit/4acb9f71e00c5002d3ab3aba78a172df8f7ebbc4\"\u003e\u003ccode\u003e4acb9f7\u003c/code\u003e\u003c/a\u003e Fix segfault on join\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duckdb/duckdb-python/commit/6f161de62403c209633fcbd52c6c0403dadef7da\"\u003e\u003ccode\u003e6f161de\u003c/code\u003e\u003c/a\u003e Cache arrow schema for streaming types (\u003ca href=\"https://redirect.github.com/duckdb/duckdb-python/issues/423\"\u003e#423\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duckdb/duckdb-python/commit/87d6a319674c5e2fb855e140bf539e997e978a2e\"\u003e\u003ccode\u003e87d6a31\u003c/code\u003e\u003c/a\u003e Add CLAUDE.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duckdb/duckdb-python/commit/ae356cb03926372b9cd3736f39662efd25bb4915\"\u003e\u003ccode\u003eae356cb\u003c/code\u003e\u003c/a\u003e Cache the arrow schema for streams so we don't need an active client context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duckdb/duckdb-python/commit/b71639f215d29c4f8b1c53cb3d7cf45603f4c5d2\"\u003e\u003ccode\u003eb71639f\u003c/code\u003e\u003c/a\u003e Test that client context stays open on arrow streams\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duckdb/duckdb-python/commit/305d11457efd4ca0767cad0868b16310b04160a7\"\u003e\u003ccode\u003e305d114\u003c/code\u003e\u003c/a\u003e fix spark test (\u003ca href=\"https://redirect.github.com/duckdb/duckdb-python/issues/421\"\u003e#421\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/duckdb/duckdb-python/compare/v1.4.4...v1.5.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rich` from 14.3.3 to 15.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/rich/releases\"\u003erich's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eThe So Long 3.8 Release\u003c/h2\u003e\n\u003cp\u003eA few fixes. The major version bump is to honor the passing of 3.8 support which reached its EOL in October 7, 2024\u003c/p\u003e\n\u003ch2\u003e[15.0.0] - 2026-04-12\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBreaking change: Dropped support for Python3.8\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed empty print ignoring the \u003ccode\u003eend\u003c/code\u003e parameter \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/4075\"\u003eTextualize/rich#4075\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eText.from_ansi\u003c/code\u003e removing newlines \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/4076\"\u003eTextualize/rich#4076\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eFileProxy.isatty\u003c/code\u003e not proxying \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/4077\"\u003eTextualize/rich#4077\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed inline code in Markdown tables cells \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/4079\"\u003eTextualize/rich#4079\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eThe Faster Startup Release\u003c/h2\u003e\n\u003cp\u003eNo new features in this release, but there should be improved startup time for Rich apps, and potentially improved runtime if you have a lot of links.\u003c/p\u003e\n\u003ch2\u003e[14.3.4] - 2026-04-11\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImproved import time with lazy loading \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/4070\"\u003eTextualize/rich#4070\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChanged link id generation to avoid random number generation at runtime \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3845\"\u003eTextualize/rich#3845\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/Textualize/rich/blob/master/CHANGELOG.md\"\u003erich's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[15.0.0] - 2026-04-12\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBreaking change: Dropped support for Python3.8\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed empty print ignoring the \u003ccode\u003eend\u003c/code\u003e parameter \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/4075\"\u003eTextualize/rich#4075\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eText.from_ansi\u003c/code\u003e removing newlines \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/4076\"\u003eTextualize/rich#4076\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eFileProxy.isatty\u003c/code\u003e not proxying \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/4077\"\u003eTextualize/rich#4077\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed inline code in Markdown tables cells \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/4079\"\u003eTextualize/rich#4079\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[14.3.4] - 2026-04-11\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImproved import time with lazy loading \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/4070\"\u003eTextualize/rich#4070\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChanged link id generation to avoid random number generation at runtime \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/3845\"\u003eTextualize/rich#3845\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/Textualize/rich/commit/6ac483cbea39cab124dfd3483bba70ffafb71050\"\u003e\u003ccode\u003e6ac483c\u003c/code\u003e\u003c/a\u003e correction\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/458a9109c8b7da81c17b2270ea8a88f3e8c0465a\"\u003e\u003ccode\u003e458a910\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/4080\"\u003e#4080\u003c/a\u003e from Textualize/bump1500\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/82e06e0d9985fd8cce456dc3977e0d2d9e84b4d8\"\u003e\u003ccode\u003e82e06e0\u003c/code\u003e\u003c/a\u003e changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/d6556bc44881b9904f29f5d9d69a0812b30675d1\"\u003e\u003ccode\u003ed6556bc\u003c/code\u003e\u003c/a\u003e bump to 15.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/ffe2edc5968eac19d5493c2d7b27965031a692e9\"\u003e\u003ccode\u003effe2edc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/4079\"\u003e#4079\u003c/a\u003e from Textualize/inline-table-code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/cf3b5a16f7a76b2e8c4921d3314021bb72a6c5c1\"\u003e\u003ccode\u003ecf3b5a1\u003c/code\u003e\u003c/a\u003e changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/77f0edbdef71f2a895cd0ab1481e9a1fc79d42e6\"\u003e\u003ccode\u003e77f0edb\u003c/code\u003e\u003c/a\u003e remove comments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/7ef2d05ca8aa3cb405dab2fdf3282e69cf8089e3\"\u003e\u003ccode\u003e7ef2d05\u003c/code\u003e\u003c/a\u003e fix inline code in table cells\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/19c67b9a3479841e9133bea94607c89ee931d3fc\"\u003e\u003ccode\u003e19c67b9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/4077\"\u003e#4077\u003c/a\u003e from Textualize/isattry\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/494b795031782c694297d2db78bd04fb8c82f590\"\u003e\u003ccode\u003e494b795\u003c/code\u003e\u003c/a\u003e changelog\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/rich/compare/v14.3.3...v15.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `textual` from 8.0.2 to 8.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/textual/releases\"\u003etextual's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eThe small potatoes Release\u003c/h2\u003e\n\u003cp\u003eSmall potatoes update, to fix a glitch with anchor.\u003c/p\u003e\n\u003ch2\u003e[8.2.4] - 2026-04-19\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eDOM.update_classes\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6478\"\u003eTextualize/textual#6478\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed anchor released when scrolling down with the trackpad \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6503\"\u003eTextualize/textual#6503\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eThe snappier resize Release\u003c/h2\u003e\n\u003ch2\u003e[8.2.3] - 2026-04-05\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReduce lag when resizing window, by moving resize from idle to a timer \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6471\"\u003eTextualize/textual#6471\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eThe Faster Resize Release\u003c/h2\u003e\n\u003cp\u003eFixed an issue where styles were being unneccesarily updated when resizing. Textual apps will now adapt to changes in the terminal size much more quickly.\u003c/p\u003e\n\u003ch2\u003e[8.2.2] - 2026-04-03\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed Pointless style updates when resizing \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6464\"\u003eTextualize/textual#6464\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eThe Hot Select Release\u003c/h2\u003e\n\u003cp\u003eFixes a crash when a selected widget is removed while selecting\u003c/p\u003e\n\u003ch2\u003e[8.2.1] - 2026-03-29\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix crash when a widget disapears between selections \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6455\"\u003eTextualize/textual#6455\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eThe Select Release\u003c/h2\u003e\n\u003cp\u003eThis release enhances text selection, with auto-scrolling, and the ability to select across container widgets.\u003c/p\u003e\n\u003cp\u003eThis work was sponsored by Mistral AI.\u003c/p\u003e\n\u003ch2\u003e[8.2.0] - 2026-03-27\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAuto-scrolling on select \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6440\"\u003eTextualize/textual#6440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSelecting over containers \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6440\"\u003eTextualize/textual#6440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eApp.ENABLE_SELECT_AUTO_SCROLL\u003c/code\u003e, \u003ccode\u003eApp.SELECT_AUTO_SCROLL_LINES\u003c/code\u003e, \u003ccode\u003eApp.SELECT_AUTO_SCROLL_SPEED\u003c/code\u003e to tweak auto scrolling behavior \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6440\"\u003eTextualize/textual#6440\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/textual/blob/main/CHANGELOG.md\"\u003etextual's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[8.2.4] - 2026-04-19\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eDOM.update_classes\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6478\"\u003eTextualize/textual#6478\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed anchor released when scrolling down with the trackpad \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6503\"\u003eTextualize/textual#6503\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.3] - 2026-04-05\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReduce lag when resizing window, by moving resize from idle to a timer \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6471\"\u003eTextualize/textual#6471\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.2] - 2026-04-03\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed Pointless style updates when resizing \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6464\"\u003eTextualize/textual#6464\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.1] - 2026-03-29\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix crash when a widget disapears between selections \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6455\"\u003eTextualize/textual#6455\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.2.0] - 2026-03-27\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAuto-scrolling on select \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6440\"\u003eTextualize/textual#6440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSelecting over containers \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6440\"\u003eTextualize/textual#6440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eApp.ENABLE_SELECT_AUTO_SCROLL\u003c/code\u003e, \u003ccode\u003eApp.SELECT_AUTO_SCROLL_LINES\u003c/code\u003e, \u003ccode\u003eApp.SELECT_AUTO_SCROLL_SPEED\u003c/code\u003e to tweak auto scrolling behavior \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6440\"\u003eTextualize/textual#6440\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.1.1] - 2026-03-10\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHotfix for animation on complete \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6412\"\u003eTextualize/textual#6412\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.1.0] - 2026-03-10\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReplace circuar references in DOM with weak references to improve GC times \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6410\"\u003eTextualize/textual#6410\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen animating an attribute a second time, the original \u003ccode\u003eon_complete\u003c/code\u003e is now called \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6410\"\u003eTextualize/textual#6410\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/49a24d67a66b553ef2dede0674232a4704f5b4d8\"\u003e\u003ccode\u003e49a24d6\u003c/code\u003e\u003c/a\u003e bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/2a84efdda39e996a5bd698b510b87e7f90590996\"\u003e\u003ccode\u003e2a84efd\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6503\"\u003e#6503\u003c/a\u003e from Textualize/anchor-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/c9a49755a45497f0b604a42a477e47fe162c5cb7\"\u003e\u003ccode\u003ec9a4975\u003c/code\u003e\u003c/a\u003e fix anchor release on trackpad\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/f8b42bd7a93578338f1b3668a1dc83f79e344fe8\"\u003e\u003ccode\u003ef8b42bd\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6495\"\u003e#6495\u003c/a\u003e from Rohan5commit/docs-input-messages-20260417\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/697d0ffe41ce314b07835fcf00d5e841430d7ce9\"\u003e\u003ccode\u003e697d0ff\u003c/code\u003e\u003c/a\u003e docs: fix input validation typo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/759e66f8218b422ec76b35d0c8454eb5eb6291b1\"\u003e\u003ccode\u003e759e66f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6478\"\u003e#6478\u003c/a\u003e from Textualize/update-classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/3a3a76cd5754d44155c8ea6f6684d15837177c8c\"\u003e\u003ccode\u003e3a3a76c\u003c/code\u003e\u003c/a\u003e Added update flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/91c86a14ca523817b8e56f8b928cbf1a706f1123\"\u003e\u003ccode\u003e91c86a1\u003c/code\u003e\u003c/a\u003e Changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/27623a95efb5454fad63158858a4528e6c185fc5\"\u003e\u003ccode\u003e27623a9\u003c/code\u003e\u003c/a\u003e name change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/3decce56d9f5c157e641c5be5f59d00450effbd7\"\u003e\u003ccode\u003e3decce5\u003c/code\u003e\u003c/a\u003e leaner with sets\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/textual/compare/v8.0.2...v8.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest` from 9.0.2 to 9.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest/releases\"\u003epytest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.0.3\u003c/h2\u003e\n\u003ch1\u003epytest 9.0.3 (2026-04-07)\u003c/h1\u003e\n\u003ch2\u003eBug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/12444\"\u003e#12444\u003c/a\u003e: Fixed \u003ccode\u003epytest.approx\u003c/code\u003e which now correctly takes into account \u003ccode\u003e~collections.abc.Mapping\u003c/code\u003e keys order to compare them.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13634\"\u003e#13634\u003c/a\u003e: Blocking a \u003ccode\u003econftest.py\u003c/code\u003e file using the \u003ccode\u003e-p no:\u003c/code\u003e option is now explicitly disallowed.\u003c/p\u003e\n\u003cp\u003ePreviously this resulted in an internal assertion failure during plugin loading.\u003c/p\u003e\n\u003cp\u003ePytest now raises a clear \u003ccode\u003eUsageError\u003c/code\u003e explaining that conftest files are not plugins and cannot be disabled via \u003ccode\u003e-p\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13734\"\u003e#13734\u003c/a\u003e: Fixed crash when a test raises an exceptiongroup with \u003ccode\u003e__tracebackhide__ = True\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14195\"\u003e#14195\u003c/a\u003e: Fixed an issue where non-string messages passed to \u003c!-- raw HTML omitted --\u003eunittest.TestCase.subTest()\u003c!-- raw HTML omitted --\u003e were not printed.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14343\"\u003e#14343\u003c/a\u003e: Fixed use of insecure temporary directory (CVE-2025-71176).\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImproved documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13388\"\u003e#13388\u003c/a\u003e: Clarified documentation for \u003ccode\u003e-p\u003c/code\u003e vs \u003ccode\u003ePYTEST_PLUGINS\u003c/code\u003e plugin loading and fixed an incorrect \u003ccode\u003e-p\u003c/code\u003e example.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13731\"\u003e#13731\u003c/a\u003e: Clarified that capture fixtures (e.g. \u003ccode\u003ecapsys\u003c/code\u003e and \u003ccode\u003ecapfd\u003c/code\u003e) take precedence over the \u003ccode\u003e-s\u003c/code\u003e / \u003ccode\u003e--capture=no\u003c/code\u003e command-line options in \u003ccode\u003eAccessing captured output from a test function \u0026lt;accessing-captured-output\u0026gt;\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14088\"\u003e#14088\u003c/a\u003e: Clarified that the default \u003ccode\u003epytest_collection\u003c/code\u003e hook sets \u003ccode\u003esession.items\u003c/code\u003e before it calls \u003ccode\u003epytest_collection_finish\u003c/code\u003e, not after.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14255\"\u003e#14255\u003c/a\u003e: TOML integer log levels must be quoted: Updating reference documentation.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributor-facing changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/12689\"\u003e#12689\u003c/a\u003e: The test reports are now published to Codecov from GitHub Actions.\nThe test statistics is visible \u003ca href=\"https://app.codecov.io/gh/pytest-dev/pytest/tests\"\u003eon the web interface\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e-- by \u003ccode\u003ealeguy02\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/a7d58d7a21b78581e636bbbdea13c66ad1657c1e\"\u003e\u003ccode\u003ea7d58d7\u003c/code\u003e\u003c/a\u003e Prepare release version 9.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/089d98199c253d8f89a040243bc4f2aa6cd5ab22\"\u003e\u003ccode\u003e089d981\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14366\"\u003e#14366\u003c/a\u003e from bluetech/revert-14193-backport\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/8127eaf4ab7f6b2fdd0dc1b38343ec97aeef05ac\"\u003e\u003ccode\u003e8127eaf\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Fix: assertrepr_compare respects dict insertion order (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14050\"\u003e#14050\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14193\"\u003e#14193\u003c/a\u003e)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/99a7e6029e7a6e8d53e5df114b1346e035370241\"\u003e\u003ccode\u003e99a7e60\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14363\"\u003e#14363\u003c/a\u003e from pytest-dev/patchback/backports/9.0.x/95d8423bd...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/ddee02a578da30dd43aedc39c1c1f1aaadfcee95\"\u003e\u003ccode\u003eddee02a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14343\"\u003e#14343\u003c/a\u003e from bluetech/cve-2025-71176-simple\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/74eac6916fee34726cb194f16c516e96fbd29619\"\u003e\u003ccode\u003e74eac69\u003c/code\u003e\u003c/a\u003e doc: Update training info (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14298\"\u003e#14298\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14301\"\u003e#14301\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/f92dee777cfdb77d1c43633d02766ddf1f07c869\"\u003e\u003ccode\u003ef92dee7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14267\"\u003e#14267\u003c/a\u003e from pytest-dev/patchback/backports/9.0.x/d6fa26c62...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/7ee58acc8777c31ac6cf388d01addf5a414a7439\"\u003e\u003ccode\u003e7ee58ac\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/12378\"\u003e#12378\u003c/a\u003e from Pierre-Sassoulas/fix-implicit-str-concat-and-d...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/37da870d37e3a2f5177cae075c7b9ae279432bf8\"\u003e\u003ccode\u003e37da870\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14259\"\u003e#14259\u003c/a\u003e from mitre88/patch-4 (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14268\"\u003e#14268\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/c34bfa3b7acb65b594707c714f1d8461b0304eed\"\u003e\u003ccode\u003ec34bfa3\u003c/code\u003e\u003c/a\u003e Add explanation for string context diffs (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14257\"\u003e#14257\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14266\"\u003e#14266\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest/compare/9.0.2...9.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-cov` from 7.0.0 to 7.1.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest-cov/blob/master/CHANGELOG.rst\"\u003epytest-cov's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.1.0 (2026-03-21)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFixed total coverage computation to always be consistent, regardless of reporting settings.\nPreviously some reports could produce different total counts, and consequently can make --cov-fail-under behave different depending on\nreporting options.\nSee \u003ccode\u003e[#641](https://github.com/pytest-dev/pytest-cov/issues/641) \u0026lt;https://github.com/pytest-dev/pytest-cov/issues/641\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImprove handling of ResourceWarning from sqlite3.\u003c/p\u003e\n\u003cp\u003eThe plugin adds warning filter for sqlite3 \u003ccode\u003eResourceWarning\u003c/code\u003e unclosed database (since 6.2.0).\nIt checks if there is already existing plugin for this message by comparing filter regular expression.\nWhen filter is specified on command line the message is escaped and does not match an expected message.\nA check for an escaped regular expression is added to handle this case.\u003c/p\u003e\n\u003cp\u003eWith this fix one can suppress \u003ccode\u003eResourceWarning\u003c/code\u003e from sqlite3 from command line::\u003c/p\u003e\n\u003cp\u003epytest -W \u0026quot;ignore:unclosed database in \u0026lt;sqlite3.Connection object at:ResourceWarning\u0026quot; ...\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eVarious improvements to documentation.\nContributed by Art Pelling in \u003ccode\u003e[#718](https://github.com/pytest-dev/pytest-cov/issues/718) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/718\u0026gt;\u003c/code\u003e_ and\n\u0026quot;vivodi\u0026quot; in \u003ccode\u003e[#738](https://github.com/pytest-dev/pytest-cov/issues/738) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/738\u0026gt;\u003c/code\u003e\u003cem\u003e.\nAlso closed \u003ccode\u003e[#736](https://github.com/pytest-dev/pytest-cov/issues/736) \u0026lt;https://github.com/pytest-dev/pytest-cov/issues/736\u0026gt;\u003c/code\u003e\u003c/em\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed some assertions in tests.\nContributed by in Markéta Machová in \u003ccode\u003e[#722](https://github.com/pytest-dev/pytest-cov/issues/722) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/722\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemoved unnecessary coverage configuration copying (meant as a backup because reporting commands had configuration side-effects before coverage 5.0).\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/66c8a526b1246b5eb8fb1bc218878131bc628622\"\u003e\u003ccode\u003e66c8a52\u003c/code\u003e\u003c/a\u003e Bump version: 7.0.0 → 7.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/f7076624784332594aa4cb3585d4757d295db15e\"\u003e\u003ccode\u003ef707662\u003c/code\u003e\u003c/a\u003e Make the examples use pypy 3.11.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/6049a7847872e3139e6c82e93787123df5dc8672\"\u003e\u003ccode\u003e6049a78\u003c/code\u003e\u003c/a\u003e Make context test use the old ctracer (seems the new sysmon tracer behaves di...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/8ebf20bbbc73478b3f8fd36d30237d9ea083f06b\"\u003e\u003ccode\u003e8ebf20b\u003c/code\u003e\u003c/a\u003e Update changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/861d30e60d571f97259c6b718b71c819d5dbc3b9\"\u003e\u003ccode\u003e861d30e\u003c/code\u003e\u003c/a\u003e Remove the backup context manager  - shouldn't be needed since coverage 5.0, ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/fd4c956014035527f0c3c8d7faef3f8cfdadac7f\"\u003e\u003ccode\u003efd4c956\u003c/code\u003e\u003c/a\u003e Pass the precision on the nulled total (seems that there's some caching goion...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/78c9c4ecb005faf4962fd86ff7bf9c9cce9554d6\"\u003e\u003ccode\u003e78c9c4e\u003c/code\u003e\u003c/a\u003e Only run the 3.9 on older deps.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/4849a922e8be725c662a3d9175da571ace6545dc\"\u003e\u003ccode\u003e4849a92\u003c/code\u003e\u003c/a\u003e Punctuation.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/197c35e2f37031fd1927715307ab6eed7cb3d2b7\"\u003e\u003ccode\u003e197c35e\u003c/code\u003e\u003c/a\u003e Update changelog and hopefully I don't forget to publish release again :))\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/14dc1c92d44108384e39803888635fdbfc578b7f\"\u003e\u003ccode\u003e14dc1c9\u003c/code\u003e\u003c/a\u003e Update examples to use 3.11 and make the adhoc layout example look a bit more...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest-cov/compare/v7.0.0...v7.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `respx` from 0.22.0 to 0.23.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lundberg/respx/releases\"\u003erespx's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0.23.1\u003c/h2\u003e\n\u003ch2\u003e0.23.1 (8th April 2026)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix regression causing \u003ccode\u003eparams\u003c/code\u003e pattern to stop working under some conditions,\nby doing a strict detection of \u003ccode\u003eANY\u003c/code\u003e in multi items patterns (\u003ca href=\"https://redirect.github.com/lundberg/respx/issues/313\"\u003e#313\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate workflows actions (\u003ca href=\"https://redirect.github.com/lundberg/respx/issues/310\"\u003e#310\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 0.23.0\u003c/h2\u003e\n\u003ch2\u003e0.23.0 (7th April 2026)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003edata\u003c/code\u003e pattern with list value (\u003ca href=\"https://redirect.github.com/lundberg/respx/issues/264\"\u003e#264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix and enhance incorrect documentations about iterable side effects (\u003ca href=\"https://redirect.github.com/lundberg/respx/issues/287\"\u003e#287\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix documentation typo, thanks \u003ca href=\"https://github.com/markhobson\"\u003e\u003ccode\u003e@​markhobson\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/lundberg/respx/issues/298\"\u003e#298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix support for multiple slashes \u003ccode\u003e//\u003c/code\u003e in URL path by not using \u003ccode\u003eurljoin\u003c/code\u003e when\nprepending path, thanks \u003ca href=\"https://github.com/lewiscollard\"\u003e\u003ccode\u003e@​lewiscollard\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/Skeen\"\u003e\u003ccode\u003e@​Skeen\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/lundberg/respx/issues/302\"\u003e#302\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eType Route.respond json as \u003ccode\u003eAny\u003c/code\u003e to align with HTTPX, thanks \u003ca href=\"https://github.com/JacobHayes\"\u003e\u003ccode\u003e@​JacobHayes\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/lundberg/respx/issues/284\"\u003e#284\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eProperly handle \u003ccode\u003eANY\u003c/code\u003e in \u003ccode\u003eMuitiItems\u003c/code\u003e patterns (\u003ca href=\"https://redirect.github.com/lundberg/respx/issues/289\"\u003e#289\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix test warnings (\u003ca href=\"https://redirect.github.com/lundberg/respx/issues/267\"\u003e#267\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Python 3.14 to test matrix, thanks \u003ca href=\"https://github.com/carlosdorneles-mb\"\u003e\u003ccode\u003e@​carlosdorneles-mb\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/lundberg/respx/issues/300\"\u003e#300\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate nix flake, mypy target and workflows (\u003ca href=\"https://redirect.github.com/lundberg/respx/issues/306\"\u003e#306\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/lundberg/respx/issues/282\"\u003e#282\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/lundberg/respx/blob/master/CHANGELOG.md\"\u003erespx's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[0.23.1] - 2026-04-08\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix regression causing \u003ccode\u003eparams\u003c/code\u003e pattern to stop working under some conditions, by\ndoing a strict detection of \u003ccode\u003eANY\u003c/code\u003e in multi items patterns (\u003ca href=\"https://redirect.github.com/lundberg/respx/issues/313\"\u003e#313\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate workflows actions (\u003ca href=\"https://redirect.github.com/lundberg/respx/issues/310\"\u003e#310\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[0.23.0] - 2026-04-07\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003edata\u003c/code\u003e pattern with list value (\u003ca href=\"https://redirect.github.com/lundberg/respx/issues/264\"\u003e#264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix and enhance incorrect documentations about iterable side effects (\u003ca href=\"https://redirect.github.com/lundberg/respx/issues/287\"\u003e#287\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix documentation typo, thanks \u003ca href=\"https://github.com/markhobson\"\u003e\u003ccode\u003e@​markhobson\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/lundberg/respx/issues/298\"\u003e#...\n\n_Description has been truncated_","html_url":"https://github.com/wyattowalsh/nbadb/pull/32","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/wyattowalsh%2Fnbadb/issues/32","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/32/packages"}}]}