{"id":8320,"name":"textual","ecosystem":"pip","repository_url":"https://github.com/Textualize/textual","issues_count":358,"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":87,"unique_repositories_count_past_30_days":9,"recent_issues":[{"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"},{"uuid":"4289963494","node_id":"PR_kwDOQolS3c7TrAGw","number":688,"state":"closed","title":"Bump textual from 8.2.3 to 8.2.4","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-04-27T23:22:59.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-19T05:03:53.000Z","updated_at":"2026-04-27T23:23:01.000Z","time_to_close":757146,"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","html_url":"https://github.com/OlympusLedgerOrg/Olympus/pull/688","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/OlympusLedgerOrg%2FOlympus/issues/688","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/688/packages"},{"uuid":"4289483001","node_id":"PR_kwDORzgoCs7TppoP","number":15,"state":"open","title":"build: bump the python-dependencies group across 1 directory with 12 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":5,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-18T23:35:19.000Z","updated_at":"2026-05-17T01:02:55.557Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build: bump","group_name":"python-dependencies","update_count":12,"packages":[{"name":"pydantic","old_version":"2.12.5","new_version":"2.13.2","repository_url":"https://github.com/pydantic/pydantic"},{"name":"rich","old_version":"14.3.3","new_version":"15.0.0","repository_url":"https://github.com/Textualize/rich"},{"name":"textual","old_version":"8.1.1","new_version":"8.2.3","repository_url":"https://github.com/Textualize/textual"},{"name":"opentelemetry-api","old_version":"1.40.0","new_version":"1.41.0","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"commitizen","old_version":"4.13.9","new_version":"4.13.10","repository_url":"https://github.com/commitizen-tools/commitizen"},{"name":"hypothesis","old_version":"6.151.9","new_version":"6.152.1","repository_url":"https://github.com/HypothesisWorks/hypothesis"},{"name":"mypy","old_version":"1.19.1","new_version":"1.20.1","repository_url":"https://github.com/python/mypy"},{"name":"pytest","old_version":"9.0.2","new_version":"9.0.3","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"ruff","old_version":"0.15.7","new_version":"0.15.11","repository_url":"https://github.com/astral-sh/ruff"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-dependencies group with 9 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.12.5` | `2.13.2` |\n| [rich](https://github.com/Textualize/rich) | `14.3.3` | `15.0.0` |\n| [textual](https://github.com/Textualize/textual) | `8.1.1` | `8.2.3` |\n| [opentelemetry-api](https://github.com/open-telemetry/opentelemetry-python) | `1.40.0` | `1.41.0` |\n| [commitizen](https://github.com/commitizen-tools/commitizen) | `4.13.9` | `4.13.10` |\n| [hypothesis](https://github.com/HypothesisWorks/hypothesis) | `6.151.9` | `6.152.1` |\n| [mypy](https://github.com/python/mypy) | `1.19.1` | `1.20.1` |\n| [pytest](https://github.com/pytest-dev/pytest) | `9.0.2` | `9.0.3` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.15.7` | `0.15.11` |\n\n\nUpdates `pydantic` from 2.12.5 to 2.13.2\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.1 2026-04-15\u003c/h2\u003e\n\u003ch2\u003ev2.13.1 (2026-04-15)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidationInfo.data\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\u003e by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13079\"\u003e#13079\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.0...v2.13.1\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.0...v2.13.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.0 2026-04-13\u003c/h2\u003e\n\u003ch2\u003ev2.13.0 (2026-04-13)\u003c/h2\u003e\n\u003cp\u003eThe highlights of the v2.13 release are available in the \u003ca href=\"https://pydantic.dev/articles/pydantic-v2-13-release\"\u003eblog post\u003c/a\u003e.\nSeveral minor changes (considered non-breaking changes according to our \u003ca href=\"https://pydantic.dev/docs/validation/2.13/get-started/version-policy/#pydantic-v2\"\u003eversioning policy\u003c/a\u003e) are also included in this release. Make sure to look into them before upgrading.\u003c/p\u003e\n\u003cp\u003eThis release contains the updated \u003ccode\u003epydantic.v1\u003c/code\u003e namespace, matching version 1.10.26 which includes support for Python 3.14.\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eSee the beta releases for all changes sinces 2.12.\u003c/p\u003e\n\u003ch4\u003ePackaging\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd zizmor for GitHub Actions workflow linting by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13039\"\u003e#13039\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate jiter to v0.14.0 to fix a segmentation fault on musl Linux by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13064\"\u003e#13064\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAllow default factories of private attributes to take validated model data by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13013\"\u003e#13013\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eChanges\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eWarn when serializing fixed length tuples with too few items by \u003ca href=\"https://github.com/arvindsaripalli\"\u003e\u003ccode\u003e@​arvindsaripalli\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13016\"\u003e#13016\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eChange type of \u003ccode\u003eAny\u003c/code\u003e when synthesizing \u003ccode\u003e_build_sources\u003c/code\u003e for  \u003ccode\u003eBaseSettings.__init__()\u003c/code\u003e signature in the mypy plugin by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13049\"\u003e#13049\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix model equality when using runtime \u003ccode\u003eextra\u003c/code\u003e configuration by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13062\"\u003e#13062\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNew Contributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arvindsaripalli\"\u003e\u003ccode\u003e@​arvindsaripalli\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13016\"\u003e#13016\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.12.0...v2.13.0\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.12.0...v2.13.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.0b3 2026-03-31\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/blob/v2.13.2/HISTORY.md\"\u003epydantic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.13.2 (2026-04-17)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.2\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidationInfo.field_name\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\u003e 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/13084\"\u003e#13084\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.13.1 (2026-04-15)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.1\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidationInfo.data\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\u003e by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13079\"\u003e#13079\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.13.0 (2026-04-13)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.0\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThe highlights of the v2.13 release are available in the \u003ca href=\"https://pydantic.dev/articles/pydantic-v2-13-release\"\u003eblog post\u003c/a\u003e.\nSeveral minor changes (considered non-breaking changes according to our \u003ca href=\"https://pydantic.dev/docs/validation/2.13/get-started/version-policy/#pydantic-v2\"\u003eversioning policy\u003c/a\u003e)\nare also included in this release. Make sure to look into them before upgrading.\u003c/p\u003e\n\u003cp\u003eThis release contains the updated \u003ccode\u003epydantic.v1\u003c/code\u003e namespace, matching version 1.10.26 which includes support for Python 3.14.\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eSee the beta releases for all changes sinces 2.12.\u003c/p\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAllow default factories of private attributes to take validated model data by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13013\"\u003e#13013\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eChanges\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eWarn when serializing fixed length tuples with too few items by \u003ca href=\"https://github.com/arvindsaripalli\"\u003e\u003ccode\u003e@​arvindsaripalli\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13016\"\u003e#13016\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eChange type of \u003ccode\u003eAny\u003c/code\u003e when synthesizing \u003ccode\u003e_build_sources\u003c/code\u003e for  \u003ccode\u003eBaseSettings.__init__()\u003c/code\u003e signature in the mypy plugin by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13049\"\u003e#13049\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix model equality when using runtime \u003ccode\u003eextra\u003c/code\u003e configuration by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13062\"\u003e#13062\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003ePackaging\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd zizmor for GitHub Actions workflow linting by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13039\"\u003e#13039\u003c/a\u003e\u003c/li\u003e\n\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/pydantic/pydantic/commit/ca3ddd1149bd3b14273922a29da174804496a055\"\u003e\u003ccode\u003eca3ddd1\u003c/code\u003e\u003c/a\u003e Prepare release v2.13.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/000e823a3ab7545b0c6064fde34effdcd02044ab\"\u003e\u003ccode\u003e000e823\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eValidationInfo.field_name\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/d45d8be3ffb6dfc6d0c64da6980140c91ff841fb\"\u003e\u003ccode\u003ed45d8be\u003c/code\u003e\u003c/a\u003e Prepare release 2.13.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/54aca609ce58e73dfe1c681d93432fbe3a4621da\"\u003e\u003ccode\u003e54aca60\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eValidationInfo.data\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/46bf4fa648af3a1fbf4603a37f210e9d9c618357\"\u003e\u003ccode\u003e46bf4fa\u003c/code\u003e\u003c/a\u003e Fix Pydantic release workflow (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13067\"\u003e#13067\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/1b359edab09c623464d23c6fd2503ae5ff276d43\"\u003e\u003ccode\u003e1b359ed\u003c/code\u003e\u003c/a\u003e Prepare release v2.13.0 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13065\"\u003e#13065\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/b1bf19445d8ac144a7a0e82674d2d87eebab6c18\"\u003e\u003ccode\u003eb1bf194\u003c/code\u003e\u003c/a\u003e Fix model equality when using runtime \u003ccode\u003eextra\u003c/code\u003e configuration (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13062\"\u003e#13062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/17a35e371bdff348c0690651d324c91fc7c9ff9e\"\u003e\u003ccode\u003e17a35e3\u003c/code\u003e\u003c/a\u003e Update jiter to v0.14.0 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13064\"\u003e#13064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/feea402b23fa23774669908c4e08a61ba1e4238e\"\u003e\u003ccode\u003efeea402\u003c/code\u003e\u003c/a\u003e Use \u003ccode\u003esimulation\u003c/code\u003e mode in Codspeed CI (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13063\"\u003e#13063\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/671c9b0d4d3f9b2f1b95ca32ac85cb69e824e0bc\"\u003e\u003ccode\u003e671c9b0\u003c/code\u003e\u003c/a\u003e Add basic benchmarks for model equality (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13061\"\u003e#13061\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.12.5...v2.13.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.1.1 to 8.2.3\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 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/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.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\u003c/blockquote\u003e\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/634ca6e786885ffebe211fc73e0e8a04e030f3c3\"\u003e\u003ccode\u003e634ca6e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6473\"\u003e#6473\u003c/a\u003e from Textualize/bump823\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/ccf1978c1a715ac7d33149dcfc344765dc250037\"\u003e\u003ccode\u003eccf1978\u003c/code\u003e\u003c/a\u003e bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/5ddfbdc6bf7966b99644f2da0251c94c83a50528\"\u003e\u003ccode\u003e5ddfbdc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6462\"\u003e#6462\u003c/a\u003e from IEBqp/guide-patch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/23bf10e77bd18fa91ed2c42e3a0693b0702e097d\"\u003e\u003ccode\u003e23bf10e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6470\"\u003e#6470\u003c/a\u003e from Textualize/defensive-selection\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/32f1d23330efd7a47891a5ce90edd7677664fbc1\"\u003e\u003ccode\u003e32f1d23\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6471\"\u003e#6471\u003c/a\u003e from Textualize/resize-lag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/2bbfbb7741470e8cf95c37476047b89787afaec5\"\u003e\u003ccode\u003e2bbfbb7\u003c/code\u003e\u003c/a\u003e force initial resize\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/4b6579038979a90d1f4067d8e396f0af13e80f75\"\u003e\u003ccode\u003e4b65790\u003c/code\u003e\u003c/a\u003e ignore no size changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/63fe6f0646e0f1401b990fb64f292d9646d01014\"\u003e\u003ccode\u003e63fe6f0\u003c/code\u003e\u003c/a\u003e check resize timer on idle\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/ec5b43ae1cc2c49361f0d791a53dd047bce08369\"\u003e\u003ccode\u003eec5b43a\u003c/code\u003e\u003c/a\u003e also resize on idle\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/12a52d9e24f1d47eb680e814527fac6ee004e573\"\u003e\u003ccode\u003e12a52d9\u003c/code\u003e\u003c/a\u003e check screen error\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/textual/compare/v8.1.1...v8.2.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-api` from 1.40.0 to 1.41.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-api's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.41.0/0.62b0 (2026-04-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ehost\u003c/code\u003e resource detector support to declarative file configuration via \u003ccode\u003edetection_development.detectors[].host\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5002\"\u003e#5002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003econtainer\u003c/code\u003e resource detector support to declarative file configuration via \u003ccode\u003edetection_development.detectors[].container\u003c/code\u003e, using entry point loading of the \u003ccode\u003eopentelemetry-resource-detector-containerid\u003c/code\u003e contrib package\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5004\"\u003e#5004\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_tracer_provider\u003c/code\u003e/\u003ccode\u003econfigure_tracer_provider\u003c/code\u003e to declarative file configuration, enabling TracerProvider instantiation from config files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4985\"\u003e#4985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnabled the flake8-tidy-import plugins rules for the ruff linter. These rules throw warnings for relative imports in the modules.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5019\"\u003e#5019\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Fix \u003ccode\u003eAttributeError\u003c/code\u003e in \u003ccode\u003eExplicitBucketHistogramAggregation\u003c/code\u003e when applied to non-Histogram instruments without explicit boundaries\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5034\"\u003e#5034\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eBatchLogRecordProcessor\u003c/code\u003e default \u003ccode\u003eschedule_delay_millis\u003c/code\u003e from 5000ms to 1000ms to comply with the OTel specification. Note: logs may be exported 5x more frequently by default (e.g. for users who don't explicitly set the \u003ccode\u003eOTEL_BLRP_SCHEDULE_DELAY\u003c/code\u003e env var).\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4998\"\u003e#4998\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003eprocess\u003c/code\u003e resource detector support to declarative file configuration via \u003ccode\u003edetection_development.detectors[].process\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5001\"\u003e#5001\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add shared \u003ccode\u003e_parse_headers\u003c/code\u003e helper for declarative config OTLP exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5021\"\u003e#5021\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e: Replace a broad exception in attribute cleaning tests to satisfy pylint in the \u003ccode\u003elint-opentelemetry-api\u003c/code\u003e CI job\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_meter_provider\u003c/code\u003e/\u003ccode\u003econfigure_meter_provider\u003c/code\u003e to declarative file configuration, enabling MeterProvider instantiation from config files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4987\"\u003e#4987\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_resource\u003c/code\u003e and \u003ccode\u003ecreate_propagator\u003c/code\u003e/\u003ccode\u003econfigure_propagator\u003c/code\u003e to declarative file configuration, enabling Resource and propagator instantiation from config files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4979\"\u003e#4979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Map Python \u003ccode\u003eCRITICAL\u003c/code\u003e log level to OTel \u003ccode\u003eFATAL\u003c/code\u003e severity text per the specification\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4984\"\u003e#4984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add file configuration support with YAML/JSON loading, environment variable substitution, and schema validation against the vendored OTel config JSON schema\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4898\"\u003e#4898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix intermittent CI failures in \u003ccode\u003egetting-started\u003c/code\u003e and \u003ccode\u003etracecontext\u003c/code\u003e jobs caused by GitHub git CDN SHA propagation lag by installing contrib packages from the already-checked-out local copy instead of a second git clone\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4958\"\u003e#4958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: fix type annotations on \u003ccode\u003eMetricReader\u003c/code\u003e and related types\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4938/\"\u003e#4938\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: implement log creation metric\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4935\"\u003e#4935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: implement metric reader metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4970\"\u003e#4970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: implement processor metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5012\"\u003e#5012\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: upgrade vendored OTel configuration schema from v1.0.0-rc.3 to v1.0.0\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4965\"\u003e#4965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eimprove check-links ci job\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4978\"\u003e#4978\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolve some Pyright type errors in Span/ReadableSpan and utility stubs\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4973\"\u003e#4973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-prometheus\u003c/code\u003e: Fix metric name prefix\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4895\"\u003e#4895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add deepcopy support for \u003ccode\u003eBoundedAttributes\u003c/code\u003e and \u003ccode\u003eBoundedList\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4934\"\u003e#4934\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-proto-json\u003c/code\u003e, \u003ccode\u003eopentelemetry-codegen-json\u003c/code\u003e: Implement custom protoc plugin to generate OTLP JSON class definitions\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4910\"\u003e#4910\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/open-telemetry/opentelemetry-python/commit/1a178fcc5c689516849ced80fb2533fe7db7a80f\"\u003e\u003ccode\u003e1a178fc\u003c/code\u003e\u003c/a\u003e [release/v1.41.x-0.62bx] Prepare release 1.41.0/0.62b0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5064\"\u003e#5064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/37dea4bbdb1a3c83b96fc22c2f68a848b4989fb5\"\u003e\u003ccode\u003e37dea4b\u003c/code\u003e\u003c/a\u003e feat: add experimental logger configurator (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4980\"\u003e#4980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/7c860ca40eb87c15fb608ce3598cfec4a5da2d1c\"\u003e\u003ccode\u003e7c860ca\u003c/code\u003e\u003c/a\u003e misc: update version for codegen-json and proto-json packages (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5061\"\u003e#5061\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/b3d98b392fd1fa1a501e11ce8e126f2003edb895\"\u003e\u003ccode\u003eb3d98b3\u003c/code\u003e\u003c/a\u003e [chore]: update readme (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5060\"\u003e#5060\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/dbbd1bca26f12d0cefff721a857d08a82476f434\"\u003e\u003ccode\u003edbbd1bc\u003c/code\u003e\u003c/a\u003e feat(config): Add MeterProvider support for declarative config (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4987\"\u003e#4987\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/6faa58c58782313283a87a7c61fbbdd9cd2054d6\"\u003e\u003ccode\u003e6faa58c\u003c/code\u003e\u003c/a\u003e feat(config): add host resource detector support for declarative config (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5002\"\u003e#5002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/c0cbfbd62fa59e2c41cd2c88371dc6478fa95716\"\u003e\u003ccode\u003ec0cbfbd\u003c/code\u003e\u003c/a\u003e feat(config): wire container resource detector via entry point loading (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5004\"\u003e#5004\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/f764e45f52952f5a0287e5a6c094cbfd56accd2b\"\u003e\u003ccode\u003ef764e45\u003c/code\u003e\u003c/a\u003e feat(config): Add TracerProvider support for declarative config (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4985\"\u003e#4985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/e3017323f147fd14a64fa8bb070271026182208a\"\u003e\u003ccode\u003ee301732\u003c/code\u003e\u003c/a\u003e Add MikeGoldsmith to approvers (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/8783a5831d54d9224edd930e5106225fc0f97c1b\"\u003e\u003ccode\u003e8783a58\u003c/code\u003e\u003c/a\u003e introduce \u003ccode\u003ealls-green\u003c/code\u003e action for required checks (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4988\"\u003e#4988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/compare/v1.40.0...v1.41.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-sdk` from 1.40.0 to 1.41.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-sdk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.41.0/0.62b0 (2026-04-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ehost\u003c/code\u003e resource detector support to declarative file configuration via \u003ccode\u003edetection_development.detectors[].host\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5002\"\u003e#5002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003econtainer\u003c/code\u003e resource detector support to declarative file configuration via \u003ccode\u003edetection_development.detectors[].container\u003c/code\u003e, using entry point loading of the \u003ccode\u003eopentelemetry-resource-detector-containerid\u003c/code\u003e contrib package\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5004\"\u003e#5004\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_tracer_provider\u003c/code\u003e/\u003ccode\u003econfigure_tracer_provider\u003c/code\u003e to declarative file configuration, enabling TracerProvider instantiation from config files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4985\"\u003e#4985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnabled the flake8-tidy-import plugins rules for the ruff linter. These rules throw warnings for relative imports in the modules.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5019\"\u003e#5019\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Fix \u003ccode\u003eAttributeError\u003c/code\u003e in \u003ccode\u003eExplicitBucketHistogramAggregation\u003c/code\u003e when applied to non-Histogram instruments without explicit boundaries\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5034\"\u003e#5034\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eBatchLogRecordProcessor\u003c/code\u003e default \u003ccode\u003eschedule_delay_millis\u003c/code\u003e from 5000ms to 1000ms to comply with the OTel specification. Note: logs may be exported 5x more frequently by default (e.g. for users who don't explicitly set the \u003ccode\u003eOTEL_BLRP_SCHEDULE_DELAY\u003c/code\u003e env var).\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4998\"\u003e#4998\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003eprocess\u003c/code\u003e resource detector support to declarative file configuration via \u003ccode\u003edetection_development.detectors[].process\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5001\"\u003e#5001\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add shared \u003ccode\u003e_parse_headers\u003c/code\u003e helper for declarative config OTLP exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5021\"\u003e#5021\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e: Replace a broad exception in attribute cleaning tests to satisfy pylint in the \u003ccode\u003elint-opentelemetry-api\u003c/code\u003e CI job\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_meter_provider\u003c/code\u003e/\u003ccode\u003econfigure_meter_provider\u003c/code\u003e to declarative file configuration, enabling MeterProvider instantiation from config files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4987\"\u003e#4987\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_resource\u003c/code\u003e and \u003ccode\u003ecreate_propagator\u003c/code\u003e/\u003ccode\u003econfigure_propagator\u003c/code\u003e to declarative file configuration, enabling Resource and propagator instantiation from config files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4979\"\u003e#4979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Map Python \u003ccode\u003eCRITICAL\u003c/code\u003e log level to OTel \u003ccode\u003eFATAL\u003c/code\u003e severity text per the specification\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4984\"\u003e#4984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add file configuration support with YAML/JSON loading, environment variable substitution, and schema validation against the vendored OTel config JSON schema\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4898\"\u003e#4898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix intermittent CI failures in \u003ccode\u003egetting-started\u003c/code\u003e and \u003ccode\u003etracecontext\u003c/code\u003e jobs caused by GitHub git CDN SHA propagation lag by installing contrib packages from the already-checked-out local copy instead of a second git clone\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4958\"\u003e#4958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: fix type annotations on \u003ccode\u003eMetricReader\u003c/code\u003e and related types\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4938/\"\u003e#4938\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: implement log creation metric\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4935\"\u003e#4935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: implement metric reader metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4970\"\u003e#4970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: implement processor metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5012\"\u003e#5012\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: upgrade vendored OTel configuration schema from v1.0.0-rc.3 to v1.0.0\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4965\"\u003e#4965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eimprove check-links ci job\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4978\"\u003e#4978\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolve some Pyright type errors in Span/ReadableSpan and utility stubs\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4973\"\u003e#4973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-prometheus\u003c/code\u003e: Fix metric name prefix\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4895\"\u003e#4895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add deepcopy support for \u003ccode\u003eBoundedAttributes\u003c/code\u003e and \u003ccode\u003eBoundedList\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4934\"\u003e#4934\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-proto-json\u003c/code\u003e, \u003ccode\u003eopentelemetry-codegen-json\u003c/code\u003e: Implement custom protoc plugin to generate OTLP JSON class definitions\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4910\"\u003e#4910\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/open-telemetry/opentelemetry-python/commit/1a178fcc5c689516849ced80fb2533fe7db7a80f\"\u003e\u003ccode\u003e1a178fc\u003c/code\u003e\u003c/a\u003e [release/v1.41.x-0.62bx] Prepare release 1.41.0/0.62b0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5064\"\u003e#5064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/37dea4bbdb1a3c83b96fc22c2f68a848b4989fb5\"\u003e\u003ccode\u003e37dea4b\u003c/code\u003e\u003c/a\u003e feat: add experimental logger configurator (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4980\"\u003e#4980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/7c860ca40eb87c15fb608ce3598cfec4a5da2d1c\"\u003e\u003ccode\u003e7c860ca\u003c/code\u003e\u003c/a\u003e misc: update version for codegen-json and proto-json packages (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5061\"\u003e#5061\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/b3d98b392fd1fa1a501e11ce8e126f2003edb895\"\u003e\u003ccode\u003eb3d98b3\u003c/code\u003e\u003c/a\u003e [chore]: update readme (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5060\"\u003e#5060\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/dbbd1bca26f12d0cefff721a857d08a82476f434\"\u003e\u003ccode\u003edbbd1bc\u003c/code\u003e\u003c/a\u003e feat(config): Add MeterProvider support for declarative config (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4987\"\u003e#4987\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/6faa58c58782313283a87a7c61fbbdd9cd2054d6\"\u003e\u003ccode\u003e6faa58c\u003c/code\u003e\u003c/a\u003e feat(config): add host resource detector support for declarative config (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5002\"\u003e#5002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/c0cbfbd62fa59e2c41cd2c88371dc6478fa95716\"\u003e\u003ccode\u003ec0cbfbd\u003c/code\u003e\u003c/a\u003e feat(config): wire container resource detector via entry point loading (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5004\"\u003e#5004\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/f764e45f52952f5a0287e5a6c094cbfd56accd2b\"\u003e\u003ccode\u003ef764e45\u003c/code\u003e\u003c/a\u003e feat(config): Add TracerProvider support for declarative config (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4985\"\u003e#4985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/e3017323f147fd14a64fa8bb070271026182208a\"\u003e\u003ccode\u003ee301732\u003c/code\u003e\u003c/a\u003e Add MikeGoldsmith to approvers (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/8783a5831d54d9224edd930e5106225fc0f97c1b\"\u003e\u003ccode\u003e8783a58\u003c/code\u003e\u003c/a\u003e introduce \u003ccode\u003ealls-green\u003c/code\u003e action for required checks (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4988\"\u003e#4988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/compare/v1.40.0...v1.41.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-exporter-otlp-proto-grpc` from 1.40.0 to 1.41.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-exporter-otlp-proto-grpc's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.41.0/0.62b0 (2026-04-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ehost\u003c/code\u003e resource detector support to declarative file configuration via \u003ccode\u003edetection_development.detectors[].host\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5002\"\u003e#5002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003econtainer\u003c/code\u003e resource detector support to declarative file configuration via \u003ccode\u003edetection_development.detectors[].container\u003c/code\u003e, using entry point loading of the \u003ccode\u003eopentelemetry-resource-detector-containerid\u003c/code\u003e contrib package\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5004\"\u003e#5004\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_tracer_provider\u003c/code\u003e/\u003ccode\u003econfigure_tracer_provider\u003c/code\u003e to declarative file configuration, enabling TracerProvider instantiation from config files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4985\"\u003e#4985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnabled the flake8-tidy-import plugins rules for the ruff linter. These rules throw warnings for relative imports in the modules.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5019\"\u003e#5019\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Fix \u003ccode\u003eAttributeError\u003c/code\u003e in \u003ccode\u003eExplicitBucketHistogramAggregation\u003c/code\u003e when applied to non-Histogram instruments without explicit boundaries\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5034\"\u003e#5034\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eBatchLogRecordProcessor\u003c/code\u003e default \u003ccode\u003eschedule_delay_millis\u003c/code\u003e from 5000ms to 1000ms to comply with the OTel specification. Note: logs may be exported 5x more frequently by default (e.g. for users who don't explicitly set the \u003ccode\u003eOTEL_BLRP_SCHEDULE_DELAY\u003c/code\u003e env var).\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4998\"\u003e#4998\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003eprocess\u003c/code\u003e resource detector support to declarative file configuration via \u003ccode\u003edetection_development.detectors[].process\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5001\"\u003e#5001\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add shared \u003ccode\u003e_parse_headers\u003c/code\u003e helper for declarative config OTLP exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5021\"\u003e#5021\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e: Replace a broad exception in attribute cleaning tests to satisfy pylint in the \u003ccode\u003elint-opentelemetry-api\u003c/code\u003e CI job\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_meter_provider\u003c/code\u003e/\u003ccode\u003econfigure_meter_provider\u003c/code\u003e to declarative file configuration, enabling MeterProvider instantiation from config files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4987\"\u003e#4987\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_resource\u003c/code\u003e and \u003ccode\u003ecreate_propagator\u003c/code\u003e/\u003ccode\u003econfigure_propagator\u003c/code\u003e to declarative file configuration, enabling Resource and propagator instantiation from config files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4979\"\u003e#4979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Map Python \u003ccode\u003eCRITICAL\u003c/code\u003e log level to OTel \u003ccode\u003eFATAL\u003c/code\u003e severity text per the specification\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4984\"\u003e#4984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add file configuration support with YAML/JSON loading, environment variable substitution, and schema validation against the vendored OTel config JSON schema\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4898\"\u003e#4898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix intermittent CI failures in \u003ccode\u003egetting-started\u003c/code\u003e and \u003ccode\u003etracecontext\u003c/code\u003e jobs caused by GitHub git CDN SHA propagation lag by installing contrib packages from the already-checked-out local copy instead of a second git clone\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4958\"\u003e#4958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: fix type annotations on \u003ccode\u003eMetricReader\u003c/code\u003e and related types\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4938/\"\u003e#4938\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: implement log creation metric\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4935\"\u003e#4935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: implement metric reader metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4970\"\u003e#4970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: implement processor metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5012\"\u003e#5012\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: upgrade vendored OTel configuration schema from v1.0.0-rc.3 to v1.0.0\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4965\"\u003e#4965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eimprove check-links ci job\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4978\"\u003e#4978\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolve some Pyright type errors in Span/ReadableSpan and utility stubs\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4973\"\u003e#4973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-prometheus\u003c/code\u003e: Fix metric name prefix\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4895\"\u003e#4895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add deepcopy support for \u003ccode\u003eBoundedAttributes\u003c/code\u003e and \u003ccode\u003eBoundedList\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4934\"\u003e#4934\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-proto-json\u003c/code\u003e, \u003ccode\u003eopentelemetry-codegen-json\u003c/code\u003e: Implement custom protoc plugin to generate OTLP JSON class definitions\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4910\"\u003e#4910\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/open-telemetry/opentelemetry-python/commit/1a178fcc5c689516849ced80fb2533fe7db7a80f\"\u003e\u003ccode\u003e1a178fc\u003c/code\u003e\u003c/a\u003e [release/v1.41.x-0.62bx] Prepare release 1.41.0/0.62b0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5064\"\u003e#5064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/37dea4bbdb1a3c83b96fc22c2f68a848b4989fb5\"\u003e\u003ccode\u003e37dea4b\u003c/code\u003e\u003c/a\u003e feat: add experimental logger configurator (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4980\"\u003e#4980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/7c860ca40eb87c15fb608ce3598cfec4a5da2d1c\"\u003e\u003ccode\u003e7c860ca\u003c/code\u003e\u003c/a\u003e misc: update version for codegen-json and proto-json packages (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5061\"\u003e#5061\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/b3d98b392fd1fa1a501e11ce8e126f2003edb895\"\u003e\u003ccode\u003eb3d98b3\u003c/code\u003e\u003c/a\u003e [chore]: update readme (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5060\"\u003e#5060\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/dbbd1bca26f12d0cefff721a857d08a82476f434\"\u003e\u003ccode\u003edbbd1bc\u003c/code\u003e\u003c/a\u003e feat(config): Add MeterProvider support for declarative config (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4987\"\u003e#4987\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/6faa58c58782313283a87a7c61fbbdd9cd2054d6\"\u003e\u003ccode\u003e6faa58c\u003c/code\u003e\u003c/a\u003e feat(config): add host resource detector support for declarative config (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5002\"\u003e#5002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/c0cbfbd62fa59e2c41cd2c88371dc6478fa95716\"\u003e\u003ccode\u003ec0cbfbd\u003c/code\u003e\u003c/a\u003e feat(config): wire container resource detector via entry point loading (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5004\"\u003e#5004\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/f764e45f52952f5a0287e5a6c094cbfd56accd2b\"\u003e\u003ccode\u003ef764e45\u003c/code\u003e\u003c/a\u003e feat(config): Add TracerProvider support for declarative config (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4985\"\u003e#4985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/e3017323f147fd14a64fa8bb070271026182208a\"\u003e\u003ccode\u003ee301732\u003c/code\u003e\u003c/a\u003e Add MikeGoldsmith to approvers (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/8783a5831d54d9224edd930e5106225fc0f97c1b\"\u003e\u003ccode\u003e8783a58\u003c/code\u003e\u003c/a\u003e introduce \u003ccode\u003ealls-green\u003c/code\u003e action for required checks (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4988\"\u003e#4988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/compare/v1.40.0...v1.41.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-exporter-otlp-proto-http` from 1.40.0 to 1.41.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-exporter-otlp-proto-http's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.41.0/0.62b0 (2026-04-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ehost\u003c/code\u003e resource detector support to declarative file configuration via \u003ccode\u003edetection_development.detectors[].host\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5002\"\u003e#5002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003econtainer\u003c/code\u003e resource detector support to declarative file configuration via \u003ccode\u003edetection_development.detectors[].container\u003c/code\u003e, using entry point loading of the \u003ccode\u003eopentelemetry-resource-detector-containerid\u003c/code\u003e contrib package\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5004\"\u003e#5004\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_tracer_provider\u003c/code\u003e/\u003ccode\u003econfigure_tracer_provider\u003c/code\u003e to declarative file configuration, enabling TracerProvider instantiation from config files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4985\"\u003e#4985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnabled the flake8-tidy-import plugins rules for the ruff linter. These rules throw warnings for relative imports in the modules.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5019\"\u003e#5019\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Fix \u003ccode\u003eAttributeError\u003c/code\u003e in \u003ccode\u003eExplicitBucketHistogramAggregation\u003c/code\u003e when applied to non-Histogram instruments without explicit boundaries\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5034\"\u003e#5034\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eBatchLogRecordProcessor\u003c/code\u003e default \u003ccode\u003eschedule_delay_millis\u003c/code\u003e from 5000ms to 1000ms to comply with the OTel specification. Note: logs may be exported 5x more frequently by default (e.g. for users who don't explicitly set the \u003ccode\u003eOTEL_BLRP_SCHEDULE_DELAY\u003c/code\u003e env var).\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4998\"\u003e#4998\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003eprocess\u003c/code\u003e resource detector support to declarative file configuration via \u003ccode\u003edetection_development.detectors[].process\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5001\"\u003e#5001\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add shared \u003ccode\u003e_parse_headers\u003c/code\u003e helper for declarative config OTLP exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5021\"\u003e#5021\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e: Replace a broad exception in attribute cleaning tests to satisfy pylint in the \u003ccode\u003elint-opentelemetry-api\u003c/code\u003e CI job\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_meter_provider\u003c/code\u003e/\u003ccode\u003econfigure_meter_provider\u003c/code\u003e to declarative file configuration, enabling MeterProvider instantiation from config files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4987\"\u003e#4987\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_resource\u003c/code\u003e and \u003ccode\u003ecreate_propagator\u003c/code\u003e/\u003ccode\u003econfigure_propagator\u003c/code\u003e to declarative file configuration, enabling Resource and propagator instantiation from config files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4979\"\u003e#4979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Map Python \u003ccode\u003eCRITICAL\u003c/code\u003e log level to OTel \u003ccode\u003eFATAL\u003c/code\u003e severity text per the specification\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4984\"\u003e#4984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add file configuration support with YAML/JSON loading, environment variable substitution, and schema validation against the vendored OTel config JSON schema\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4898\"\u003e#4898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix intermittent CI failures in \u003ccode\u003egetting-started\u003c/code\u003e and \u003ccode\u003etracecontext\u003c/code\u003e jobs caused by GitHub git CDN SHA propagation lag by installing contrib packages from the already-checked-out local copy instead of a second git clone\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4958\"\u003e#4958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: fix type annotations on \u003ccode\u003eMetricReader\u003c/code\u003e and related types\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4938/\"\u003e#4938\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: implement log creation metric\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4935\"\u003e#4935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: implement metric reader metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4970\"\u003e#4970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: implement processor metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5012\"\u003e#5012\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: upgrade vendored OTel configuration schema from v1.0.0-rc.3 to v1.0.0\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4965\"\u003e#4965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eimprove check-links ci job\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4978\"\u003e#4978\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolve some Pyright type errors in Span/ReadableSpan and utility stubs\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4973\"\u003e#4973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-prometheus\u003c/code\u003e: Fix metric name prefix\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4895\"\u003e#4895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add deepcopy support for \u003ccode\u003eBoundedAttributes\u003c/code\u003e and \u003ccode\u003eBoundedList\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4934\"\u003e#4934\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-proto-json\u003c/code\u003e, \u003ccode\u003eopentelemetry-codegen-json\u003c/code\u003e: Implement custom protoc plugin to generate OTLP JSON class definitions\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4910\"\u003e#4910\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/open-telemetry/opentelemetry-python/commit/1a178fcc5c689516849ced80fb2533fe7db7a80f\"\u003e\u003ccode\u003e1a178fc\u003c/code\u003e\u003c/a\u003e [release/v1.41.x-0.62bx] Prepare release 1.41.0/0.62b0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5064\"\u003e#5064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/37dea4bbdb1a3c83b96fc22c2f68a848b4989fb5\"\u003e\u003ccode\u003e37dea4b\u003c/code\u003e\u003c/a\u003e feat: add experimental logger configurator (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4980\"\u003e#4980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/7c860ca40eb87c15fb608ce3598cfec4a5da2d1c\"\u003e\u003ccode\u003e7c860ca\u003c/code\u003e\u003c/a\u003e misc: update version for codegen-json and proto-json packages (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5061\"\u003e#5061\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/b3d98b392fd1fa1a501e11ce8e126f2003edb895\"\u003e\u003ccode\u003eb3d98b3\u003c/code\u003e\u003c/a\u003e [chore]: update readme (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5060\"\u003e#5060\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/dbbd1bca26f12d0cefff721a857d08a82476f434\"\u003e\u003ccode\u003edbbd1bc\u003c/code\u003e\u003c/a\u003e feat(config): Add MeterProvider support for declarative config (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4987\"\u003e#4987\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/6faa58c58782313283a87a7c61fbbdd9cd2054d6\"\u003e\u003ccode\u003e6faa58c\u003c/code\u003e\u003c/a\u003e feat(config): add host resource detector support for declarative config (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5002\"\u003e#5002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/c0cbfbd62fa59e2c41cd2c88371dc6478fa95716\"\u003e\u003ccode\u003ec0cbfbd\u003c/code\u003e\u003c/a\u003e feat(config): wire container resource detector via entry point loading (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5004\"\u003e#5004\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/f764e45f52952f5a0287e5a6c094cbfd56accd2b\"\u003e\u003ccode\u003ef764e45\u003c/code\u003e\u003c/a\u003e feat(config): Add TracerProvider support for declarative config (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4985\"\u003e#4985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/e3017323f147fd14a64fa8bb070271026182208a\"\u003e\u003ccode\u003ee301732\u003c/code\u003e\u003c/a\u003e Add MikeGoldsmith to approvers (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/8783a5831d54d9224edd930e5106225fc0f97c1b\"\u003e\u003ccode\u003e8783a58\u003c/code\u003e\u003c/a\u003e introduce \u003ccode\u003ealls-green\u003c/code\u003e action for required checks (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4988\"\u003e#4988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/compare/v1.40.0...v1.41.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `commitizen` from 4.13.9 to 4.13.10\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commitizen-tools/commitizen/commit/b5d5040f7980a5d2bce320d2a1ea1e04ac54b00c\"\u003e\u003ccode\u003eb5d5040\u003c/code\u003e\u003c/a\u003e bump: version 4.13.9 → 4.13.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commitizen-tools/commitizen/commit/4879df32b6aa7dc09dd19dffc3f2a68d7ea7666e\"\u003e\u003ccode\u003e4879df3\u003c/code\u003e\u003c/a\u003e ci(bump): fix email generation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commitizen-tools/commitizen/commit/70c0c1f4cf055eb0a28637cc6a260353c531e496\"\u003e\u003ccode\u003e70c0c1f\u003c/code\u003e\u003c/a\u003e docs(cli/screenshots): update CLI screenshots\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commitizen-tools/commitizen/commit/8eff9819bdb74b429cac7d70d44726bef6077600\"\u003e\u003ccode\u003e8eff981\u003c/code\u003e\u003c/a\u003e ci: fix email for commitizenbot\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commitizen-tools/commitizen/commit/61926a771ba9d560a8d3a9e994a355b53b544dee\"\u003e\u003ccode\u003e61926a7\u003c/code\u003e\u003c/a\u003e docs(cli/screenshots): update CLI screenshots\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commitizen-tools/commitizen/commit/042a089ab11db863d06021548909d1eb8c845250\"\u003e\u003ccode\u003e042a089\u003c/code\u003e\u003c/a\u003e fix(ci): use commitizen bot to push tags and commits\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commitizen-tools/commitizen/commit/a06ce0cb656f5b053fb1bc3bcafcde85ee4241e1\"\u003e\u003ccode\u003ea06ce0c\u003c/code\u003e\u003c/a\u003e docs(cli/screenshots): update CLI screenshots\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commitizen-tools/commitizen/commit/97fb356d59a31a55b31eefb5d92cc1028bee25b8\"\u003e\u003ccode\u003e97fb356\u003c/code\u003e\u003c/a\u003e ci: use setup-cz\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commitizen-tools/commitizen/commit/9abbdbda0c3edb42062e9f66467e1c4b85ab5591\"\u003e\u003ccode\u003e9abbdbd\u003c/code\u003e\u003c/a\u003e fix(init): set semver2 as default if not python\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commitizen-tools/commitizen/commit/33b69c33e44ed52eb55f1e5fd488ec375052d733\"\u003e\u003ccode\u003e33b69c3\u003c/code\u003e\u003c/a\u003e docs: improve readability\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/commitizen-tools/commitizen/compare/v4.13.9...v4.13.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `hypothesis` from 6.151.9 to 6.152.1\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.1\u003c/h2\u003e\n\u003cp\u003eImprove some internal type hints.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e\u003ca href=\"https://hypothesis.readthedocs.io/en/latest/changelog.html#v6-152-1\"\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.0\u003c/h2\u003e\n\u003cp\u003eHypothesis generally recommends that the \u0026quot;.hypothesis\u0026quot; directory not\nbe checked into version control. As a result, Hypothesis now\nautomatically creates a \u0026quot;.gitignore\u0026quot; with \u0026quot;*\u0026quot; in the \u0026quot;.hypothesis\u0026quot;\ndirectory, which excludes it from being tracked by git.\u003c/p\u003e\n\u003cp\u003eIf you do want to check \u0026quot;.hypothesis\u0026quot; into git, you can remove the\n\u0026quot;.gitignore\u0026quot; file. Hypothesis will not re-create it unless the entire\n\u0026quot;.hypothesis\u0026quot; directory is removed.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e\u003ca href=\"https://hypothesis.readthedocs.io/en/latest/changelog.html#v6-152-0\"\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.151.14\u003c/h2\u003e\n\u003cp\u003eThis patch fixes our \u0026quot;from_regex()\u0026quot; type annotations so that\n\u0026quot;from_regex(..., alphabet=None)\u0026quot; is accepted.\u003c/p\u003e\n\u003cp\u003eThis patch also adds unicode line breaks and thai combining vowels to\nour list of constant strings to upweight at runtime.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e\u003ca href=\"https://hypothesis.readthedocs.io/en/latest/changelog.html#v6-151-14\"\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.151.13\u003c/h2\u003e\n\u003cp\u003eThis patch removes some newly unnecessary \u0026quot;# type: ignore\u0026quot; comments.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e\u003ca href=\"https://hypothesis.readthedocs.io/en/latest/changelog.html#v6-151-13\"\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.151.12\u003c/h2\u003e\n\u003cp\u003eThis release improves \u0026quot;Phase.explain\u0026quot; output by excluding pytest-\nrelated syrupy files as a possible source of variation.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e\u003ca href=\"https://hypothesis.readthedocs.io/en/latest/changelog.html#v6-151-12\"\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.151.11\u003c/h2\u003e\n\u003cp\u003eThis patch improves printing of primitive values generated from\ncomplex strategies, particularly for \u0026quot;from_regex()\u0026quot;. Previously, these\nwould often be printed as function calls desctribing how to construct\nthem. Now they will always be printed as a literal value.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e\u003ca href=\"https://hypothesis.readthedocs.io/en/latest/changelog.html#v6-151-11\"\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.151.10\u003c/h2\u003e\n\u003cp\u003eWhen shrinking takes more than five minutes, Hypothesis now prints the\n\u0026quot;\u003ca href=\"https://github.com/seed\"\u003e\u003ccode\u003e@​seed\u003c/code\u003e\u003c/a\u003e\u0026quot; decorator alongside the slow-shrinking warning so you can\nreproduce the failure.\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/d451213b510a6edf42c5a9263ee4c99119ad6594\"\u003e\u003ccode\u003ed451213\u003c/code\u003e\u003c/a\u003e Bump hypothesis-python version to 6.152.1 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/c95fa97ed244498708c50e8c73633f6d53961999\"\u003e\u003ccode\u003ec95fa97\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4706\"\u003e#4706\u003c/a\u003e from Liam-DeVoe/typing-fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/7dd2cfd7561fd0ef56054f049f13b2915089db2f\"\u003e\u003ccode\u003e7dd2cfd\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'upstream/master' into typing-fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/35fdf62412e8e14968a8a8c225fefd185ce36e20\"\u003e\u003ccode\u003e35fdf62\u003c/code\u003e\u003c/a\u003e Bump hypothesis-python version to 6.152.0 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/0cb15c586a25603673cfe826a1a91ea38bd094d0\"\u003e\u003ccode\u003e0cb15c5\u003c/code\u003e\u003c/a\u003e tighten check for typing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Hypothesi...\n\n_Description has been truncated_","html_url":"https://github.com/AbdelazizMoustafa10m/orchcore/pull/15","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/AbdelazizMoustafa10m%2Forchcore/issues/15","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/15/packages"},{"uuid":"4281164486","node_id":"PR_kwDOPYkt3s7TPU3P","number":542,"state":"closed","title":"build(deps): bump the all-python-deps group across 1 directory with 19 updates","user":"dependabot[bot]","labels":[],"assignees":["scottfrasso"],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-04-21T08:16:53.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-17T08:16:56.000Z","updated_at":"2026-04-21T08:16:55.000Z","time_to_close":345597,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"all-python-deps","update_count":19,"packages":[{"name":"rich","old_version":"14.3.3","new_version":"15.0.0","repository_url":"https://github.com/Textualize/rich"},{"name":"logfire","old_version":"4.29.0","new_version":"4.32.1","repository_url":"https://github.com/pydantic/logfire"},{"name":"posthog","old_version":"7.9.12","new_version":"7.12.0","repository_url":"https://github.com/posthog/posthog-python"},{"name":"textual","old_version":"8.1.1","new_version":"8.2.3","repository_url":"https://github.com/Textualize/textual"},{"name":"real-ladybug","old_version":"0.15.1","new_version":"0.15.3","repository_url":"https://github.com/lbugdb/lbug"},{"name":"tree-sitter-rust","old_version":"0.24.0","new_version":"0.24.2","repository_url":"https://github.com/tree-sitter/tree-sitter-rust"},{"name":"openai","old_version":"2.29.0","new_version":"2.32.0","repository_url":"https://github.com/openai/openai-python"},{"name":"anthropic","old_version":"0.85.0","new_version":"0.96.0","repository_url":"https://github.com/anthropics/anthropic-sdk-python"},{"name":"genai-prices","old_version":"0.0.55","new_version":"0.0.56","repository_url":"https://github.com/pydantic/genai-prices"},{"name":"dependency-injector","old_version":"4.48.3","new_version":"4.49.0","repository_url":"https://github.com/ets-labs/python-dependency-injector"},{"name":"claude-agent-sdk","old_version":"0.1.48","new_version":"0.1.61","repository_url":"https://github.com/anthropics/claude-agent-sdk-python"},{"name":"lefthook","old_version":"2.1.4","new_version":"2.1.6","repository_url":"https://github.com/evilmartians/lefthook"},{"name":"mypy","old_version":"1.19.1","new_version":"1.20.1","repository_url":"https://github.com/python/mypy"},{"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":"ruff","old_version":"0.15.6","new_version":"0.15.11","repository_url":"https://github.com/astral-sh/ruff"},{"name":"types-aiofiles","old_version":"25.1.0.20251011","new_version":"25.1.0.20260409","repository_url":"https://github.com/python/typeshed"},{"name":"types-psutil","old_version":"7.2.2.20260130","new_version":"7.2.2.20260408","repository_url":"https://github.com/python/typeshed"},{"name":"types-pyyaml","old_version":"6.0.12.20250915","new_version":"6.0.12.20260408","repository_url":"https://github.com/python/typeshed"}],"path":null,"ecosystem":"pip"},"body":"Bumps the all-python-deps group with 19 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [rich](https://github.com/Textualize/rich) | `14.3.3` | `15.0.0` |\n| [logfire](https://github.com/pydantic/logfire) | `4.29.0` | `4.32.1` |\n| [posthog](https://github.com/posthog/posthog-python) | `7.9.12` | `7.12.0` |\n| [textual](https://github.com/Textualize/textual) | `8.1.1` | `8.2.3` |\n| [real-ladybug](https://github.com/lbugdb/lbug) | `0.15.1` | `0.15.3` |\n| [tree-sitter-rust](https://github.com/tree-sitter/tree-sitter-rust) | `0.24.0` | `0.24.2` |\n| [openai](https://github.com/openai/openai-python) | `2.29.0` | `2.32.0` |\n| [anthropic](https://github.com/anthropics/anthropic-sdk-python) | `0.85.0` | `0.96.0` |\n| [genai-prices](https://github.com/pydantic/genai-prices) | `0.0.55` | `0.0.56` |\n| [dependency-injector](https://github.com/ets-labs/python-dependency-injector) | `4.48.3` | `4.49.0` |\n| [claude-agent-sdk](https://github.com/anthropics/claude-agent-sdk-python) | `0.1.48` | `0.1.61` |\n| [lefthook](https://github.com/evilmartians/lefthook) | `2.1.4` | `2.1.6` |\n| [mypy](https://github.com/python/mypy) | `1.19.1` | `1.20.1` |\n| [pytest](https://github.com/pytest-dev/pytest) | `9.0.2` | `9.0.3` |\n| [pytest-cov](https://github.com/pytest-dev/pytest-cov) | `7.0.0` | `7.1.0` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.15.6` | `0.15.11` |\n| [types-aiofiles](https://github.com/python/typeshed) | `25.1.0.20251011` | `25.1.0.20260409` |\n| [types-psutil](https://github.com/python/typeshed) | `7.2.2.20260130` | `7.2.2.20260408` |\n| [types-pyyaml](https://github.com/python/typeshed) | `6.0.12.20250915` | `6.0.12.20260408` |\n\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 `logfire` from 4.29.0 to 4.32.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/logfire/releases\"\u003elogfire's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.32.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport OpenTelemetry SDK 1.40.0 by \u003ca href=\"https://github.com/alexmojaki\"\u003e\u003ccode\u003e@​alexmojaki\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1861\"\u003e#1861\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDo row→column transformation client-side in query client by \u003ca href=\"https://github.com/adriangb\"\u003e\u003ccode\u003e@​adriangb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1862\"\u003e#1862\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMark various genai attributes as safe from scrubbing by \u003ca href=\"https://github.com/alexmojaki\"\u003e\u003ccode\u003e@​alexmojaki\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1863\"\u003e#1863\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.32.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003epush_dataset\u003c/code\u003e helpers to the experimental API client by \u003ca href=\"https://github.com/dmontagu\"\u003e\u003ccode\u003e@​dmontagu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1848\"\u003e#1848\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.31.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: Show token badges for OpenAI streaming logs by \u003ca href=\"https://github.com/alexmojaki\"\u003e\u003ccode\u003e@​alexmojaki\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1857\"\u003e#1857\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: OTel warning during tail sampling buffer replay by \u003ca href=\"https://github.com/cyberksh\"\u003e\u003ccode\u003e@​cyberksh\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1632\"\u003e#1632\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.31.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCapture token usage and cost attributes in OpenAI streaming logs by \u003ca href=\"https://github.com/alexmojaki\"\u003e\u003ccode\u003e@​alexmojaki\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1846\"\u003e#1846\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCapture token usage and cost attributes in Anthropic streaming logs by \u003ca href=\"https://github.com/alexmojaki\"\u003e\u003ccode\u003e@​alexmojaki\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1850\"\u003e#1850\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCapture \u003ccode\u003eoperation.cost\u003c/code\u003e for OpenAI embeddings by \u003ca href=\"https://github.com/alexmojaki\"\u003e\u003ccode\u003e@​alexmojaki\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1843\"\u003e#1843\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCapture \u003ccode\u003egen_ai.usage.raw\u003c/code\u003e for Anthropic by \u003ca href=\"https://github.com/alexmojaki\"\u003e\u003ccode\u003e@​alexmojaki\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1847\"\u003e#1847\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: strip \u003ccode\u003ecf-connecting-ip\u003c/code\u003e header in \u003ccode\u003eforward_export_request\u003c/code\u003e by \u003ca href=\"https://github.com/BreytMN\"\u003e\u003ccode\u003e@​BreytMN\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1824\"\u003e#1824\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle patching of \u003ccode\u003esys.stdout\u003c/code\u003e better by \u003ca href=\"https://github.com/alexmojaki\"\u003e\u003ccode\u003e@​alexmojaki\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1840\"\u003e#1840\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.31.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003elogfire.instrument_claude_agent_sdk()\u003c/code\u003e by \u003ca href=\"https://github.com/alexmojaki\"\u003e\u003ccode\u003e@​alexmojaki\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1799\"\u003e#1799\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add \u003ccode\u003elogfire.url_from_eval(report)\u003c/code\u003e method by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1694\"\u003e#1694\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: include cached tokens in \u003ccode\u003egen_ai.usage.input_tokens\u003c/code\u003e for Anthropic by \u003ca href=\"https://github.com/alexmojaki\"\u003e\u003ccode\u003e@​alexmojaki\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1812\"\u003e#1812\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: handle bare MCP request types for fastmcp 3.x compatibility by \u003ca href=\"https://github.com/alexmojaki\"\u003e\u003ccode\u003e@​alexmojaki\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1813\"\u003e#1813\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.30.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003elogfire auth logout\u003c/code\u003e command by \u003ca href=\"https://github.com/ai-man-codes\"\u003e\u003ccode\u003e@​ai-man-codes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1781\"\u003e#1781\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove Rich link styling from project URL output by \u003ca href=\"https://github.com/ameenalkhaldi\"\u003e\u003ccode\u003e@​ameenalkhaldi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1784\"\u003e#1784\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix push_config() to push labels and versions by \u003ca href=\"https://github.com/dmontagu\"\u003e\u003ccode\u003e@​dmontagu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1785\"\u003e#1785\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMerge \u003ccode\u003eexport_dataset\u003c/code\u003e into \u003ccode\u003eget_dataset\u003c/code\u003e with \u003ccode\u003einclude_cases\u003c/code\u003e parameter by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1792\"\u003e#1792\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/pydantic/logfire/blob/main/CHANGELOG.md\"\u003elogfire's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[v4.32.1] (2026-04-15)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport OpenTelemetry SDK 1.40.0 by \u003ca href=\"https://github.com/alexmojaki\"\u003e\u003ccode\u003e@​alexmojaki\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1861\"\u003e#1861\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDo row→column transformation client-side in query client by \u003ca href=\"https://github.com/adriangb\"\u003e\u003ccode\u003e@​adriangb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1862\"\u003e#1862\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMark various genai attributes as safe from scrubbing by \u003ca href=\"https://github.com/alexmojaki\"\u003e\u003ccode\u003e@​alexmojaki\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1863\"\u003e#1863\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[v4.32.0] (2026-04-10)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003epush_dataset\u003c/code\u003e helpers to the experimental API client by \u003ca href=\"https://github.com/dmontagu\"\u003e\u003ccode\u003e@​dmontagu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1848\"\u003e#1848\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[v4.31.2] (2026-04-10)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: Show token badges for OpenAI streaming logs by \u003ca href=\"https://github.com/alexmojaki\"\u003e\u003ccode\u003e@​alexmojaki\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1857\"\u003e#1857\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: OTel warning during tail sampling buffer replay by \u003ca href=\"https://github.com/cyberksh\"\u003e\u003ccode\u003e@​cyberksh\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1632\"\u003e#1632\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[v4.31.1] (2026-04-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCapture token usage and cost attributes in OpenAI streaming logs by \u003ca href=\"https://github.com/alexmojaki\"\u003e\u003ccode\u003e@​alexmojaki\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1846\"\u003e#1846\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCapture token usage and cost attributes in Anthropic streaming logs by \u003ca href=\"https://github.com/alexmojaki\"\u003e\u003ccode\u003e@​alexmojaki\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1850\"\u003e#1850\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCapture \u003ccode\u003eoperation.cost\u003c/code\u003e for OpenAI embeddings by \u003ca href=\"https://github.com/alexmojaki\"\u003e\u003ccode\u003e@​alexmojaki\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1843\"\u003e#1843\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCapture \u003ccode\u003egen_ai.usage.raw\u003c/code\u003e for Anthropic by \u003ca href=\"https://github.com/alexmojaki\"\u003e\u003ccode\u003e@​alexmojaki\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1847\"\u003e#1847\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: strip \u003ccode\u003ecf-connecting-ip\u003c/code\u003e header in \u003ccode\u003eforward_export_request\u003c/code\u003e by \u003ca href=\"https://github.com/BreytMN\"\u003e\u003ccode\u003e@​BreytMN\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1824\"\u003e#1824\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle patching of \u003ccode\u003esys.stdout\u003c/code\u003e better by \u003ca href=\"https://github.com/alexmojaki\"\u003e\u003ccode\u003e@​alexmojaki\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1840\"\u003e#1840\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[v4.31.0] (2026-03-27)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003elogfire.instrument_claude_agent_sdk()\u003c/code\u003e by \u003ca href=\"https://github.com/alexmojaki\"\u003e\u003ccode\u003e@​alexmojaki\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1799\"\u003e#1799\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add \u003ccode\u003elogfire.url_from_eval(report)\u003c/code\u003e method by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1694\"\u003e#1694\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: include cached tokens in \u003ccode\u003egen_ai.usage.input_tokens\u003c/code\u003e for Anthropic by \u003ca href=\"https://github.com/alexmojaki\"\u003e\u003ccode\u003e@​alexmojaki\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1812\"\u003e#1812\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: handle bare MCP request types for fastmcp 3.x compatibility by \u003ca href=\"https://github.com/alexmojaki\"\u003e\u003ccode\u003e@​alexmojaki\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1813\"\u003e#1813\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[v4.30.0] (2026-03-23)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003elogfire auth logout\u003c/code\u003e command by \u003ca href=\"https://github.com/ai-man-codes\"\u003e\u003ccode\u003e@​ai-man-codes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1781\"\u003e#1781\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove Rich link styling from project URL output by \u003ca href=\"https://github.com/ameenalkhaldi\"\u003e\u003ccode\u003e@​ameenalkhaldi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1784\"\u003e#1784\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix push_config() to push labels and versions by \u003ca href=\"https://github.com/dmontagu\"\u003e\u003ccode\u003e@​dmontagu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1785\"\u003e#1785\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMerge \u003ccode\u003eexport_dataset\u003c/code\u003e into \u003ccode\u003eget_dataset\u003c/code\u003e with \u003ccode\u003einclude_cases\u003c/code\u003e parameter by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1792\"\u003e#1792\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/logfire/commit/c50a1c8e655ab17455f418964dde759323e7f19a\"\u003e\u003ccode\u003ec50a1c8\u003c/code\u003e\u003c/a\u003e Release v4.32.1 (\u003ca href=\"https://redirect.github.com/pydantic/logfire/issues/1864\"\u003e#1864\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/logfire/commit/1cce8df671a2cf9d4e63a33031fca49e516a5c46\"\u003e\u003ccode\u003e1cce8df\u003c/code\u003e\u003c/a\u003e Mark various genai attributes as safe from scrubbing (\u003ca href=\"https://redirect.github.com/pydantic/logfire/issues/1863\"\u003e#1863\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/logfire/commit/97b8aeff3ad1eb97eab534cdab76ede88b28c1af\"\u003e\u003ccode\u003e97b8aef\u003c/code\u003e\u003c/a\u003e Do row→column transformation client-side in query client (\u003ca href=\"https://redirect.github.com/pydantic/logfire/issues/1862\"\u003e#1862\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/logfire/commit/b64a41d7703508f4d469b9c77cda9475787f34ed\"\u003e\u003ccode\u003eb64a41d\u003c/code\u003e\u003c/a\u003e Support OpenTelemetry SDK 1.40.0 (\u003ca href=\"https://redirect.github.com/pydantic/logfire/issues/1861\"\u003e#1861\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/logfire/commit/644e5ad487c17a72167b8abd7ee4551714b29e88\"\u003e\u003ccode\u003e644e5ad\u003c/code\u003e\u003c/a\u003e Release v4.32.0 (\u003ca href=\"https://redirect.github.com/pydantic/logfire/issues/1859\"\u003e#1859\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/logfire/commit/b68c83840e0d02e250814ae34559c51f25fc0844\"\u003e\u003ccode\u003eb68c838\u003c/code\u003e\u003c/a\u003e Add push_dataset helpers to the experimental API client (\u003ca href=\"https://redirect.github.com/pydantic/logfire/issues/1848\"\u003e#1848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/logfire/commit/c3fa8f1d9c01003f9e2758ab5cd8be7df13062eb\"\u003e\u003ccode\u003ec3fa8f1\u003c/code\u003e\u003c/a\u003e Release v4.31.2 (\u003ca href=\"https://redirect.github.com/pydantic/logfire/issues/1858\"\u003e#1858\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/logfire/commit/7460a5e43bdcffa9a72decdd19aaf549c57d719e\"\u003e\u003ccode\u003e7460a5e\u003c/code\u003e\u003c/a\u003e fix: add gen_ai.system to OpenAI streaming logs (\u003ca href=\"https://redirect.github.com/pydantic/logfire/issues/1857\"\u003e#1857\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/logfire/commit/13a96f4e53364b15b55f197511d3b445e589a6ee\"\u003e\u003ccode\u003e13a96f4\u003c/code\u003e\u003c/a\u003e refactor: gateway shutdown date (\u003ca href=\"https://redirect.github.com/pydantic/logfire/issues/1855\"\u003e#1855\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/logfire/commit/cada147782a1da4c28701474308a6ef22cbcbf1b\"\u003e\u003ccode\u003ecada147\u003c/code\u003e\u003c/a\u003e remove note about not supporting grpc ingest (\u003ca href=\"https://redirect.github.com/pydantic/logfire/issues/1853\"\u003e#1853\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/logfire/compare/v4.29.0...v4.32.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `posthog` from 7.9.12 to 7.12.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/posthog/posthog-python/releases\"\u003eposthog's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.12.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore: merge master into main by \u003ca href=\"https://github.com/marandaneto\"\u003e\u003ccode\u003e@​marandaneto\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PostHog/posthog-python/pull/513\"\u003ePostHog/posthog-python#513\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/PostHog/posthog-python/compare/v7.11.2...v7.12.0\"\u003ehttps://github.com/PostHog/posthog-python/compare/v7.11.2...v7.12.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev7.11.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore: add GitHub community health files by \u003ca href=\"https://github.com/marandaneto\"\u003e\u003ccode\u003e@​marandaneto\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PostHog/posthog-python/pull/505\"\u003ePostHog/posthog-python#505\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump pyasn1 from 0.6.1 to 0.6.3 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PostHog/posthog-python/pull/465\"\u003ePostHog/posthog-python#465\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump litellm from 1.82.6 to 1.83.0 in /examples/example-ai-dspy 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/PostHog/posthog-python/pull/487\"\u003ePostHog/posthog-python#487\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump requests from 2.32.5 to 2.33.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/PostHog/posthog-python/pull/473\"\u003ePostHog/posthog-python#473\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: update branch references to main by \u003ca href=\"https://github.com/marandaneto\"\u003e\u003ccode\u003e@​marandaneto\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PostHog/posthog-python/pull/506\"\u003ePostHog/posthog-python#506\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: update endpoint for flags local eval by \u003ca href=\"https://github.com/patricio-posthog\"\u003e\u003ccode\u003e@​patricio-posthog\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PostHog/posthog-python/pull/509\"\u003ePostHog/posthog-python#509\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/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] made their first contribution in \u003ca href=\"https://redirect.github.com/PostHog/posthog-python/pull/465\"\u003ePostHog/posthog-python#465\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/PostHog/posthog-python/compare/v7.11.1...v7.11.2\"\u003ehttps://github.com/PostHog/posthog-python/compare/v7.11.1...v7.11.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev7.11.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore: add stale workflow for issues and PRs by \u003ca href=\"https://github.com/marandaneto\"\u003e\u003ccode\u003e@​marandaneto\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PostHog/posthog-python/pull/502\"\u003ePostHog/posthog-python#502\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(compliance): declare capabilities in health endpoint by \u003ca href=\"https://github.com/andehen\"\u003e\u003ccode\u003e@​andehen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PostHog/posthog-python/pull/501\"\u003ePostHog/posthog-python#501\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: Add os_distro information to events by \u003ca href=\"https://github.com/parinporecha\"\u003e\u003ccode\u003e@​parinporecha\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PostHog/posthog-python/pull/467\"\u003ePostHog/posthog-python#467\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/PostHog/posthog-python/compare/v7.11.0...v7.11.1\"\u003ehttps://github.com/PostHog/posthog-python/compare/v7.11.0...v7.11.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev7.11.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix(llma): graceful fallback in claude_agent_sdk wrapper by \u003ca href=\"https://github.com/andrewm4894\"\u003e\u003ccode\u003e@​andrewm4894\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PostHog/posthog-python/pull/495\"\u003ePostHog/posthog-python#495\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(llma): add $ai_stop_reason extraction for all providers by \u003ca href=\"https://github.com/carlos-marchal-ph\"\u003e\u003ccode\u003e@​carlos-marchal-ph\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PostHog/posthog-python/pull/499\"\u003ePostHog/posthog-python#499\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add Gemini embed_content tracking by \u003ca href=\"https://github.com/carlos-marchal-ph\"\u003e\u003ccode\u003e@​carlos-marchal-ph\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PostHog/posthog-python/pull/498\"\u003ePostHog/posthog-python#498\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/PostHog/posthog-python/compare/v7.10.3...v7.11.0\"\u003ehttps://github.com/PostHog/posthog-python/compare/v7.10.3...v7.11.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev7.10.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: pass before_send through module-level setup by \u003ca href=\"https://github.com/sipa-echo-zaoa\"\u003e\u003ccode\u003e@​sipa-echo-zaoa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PostHog/posthog-python/pull/472\"\u003ePostHog/posthog-python#472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: add sampo changeset for before_send module-level setup fix (\u003ca href=\"https://redirect.github.com/posthog/posthog-python/issues/472\"\u003e#472\u003c/a\u003e) by \u003ca href=\"https://github.com/marandaneto\"\u003e\u003ccode\u003e@​marandaneto\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PostHog/posthog-python/pull/489\"\u003ePostHog/posthog-python#489\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/sipa-echo-zaoa\"\u003e\u003ccode\u003e@​sipa-echo-zaoa\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/PostHog/posthog-python/pull/472\"\u003ePostHog/posthog-python#472\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/PostHog/posthog-python/compare/v7.10.2...v7.10.3\"\u003ehttps://github.com/PostHog/posthog-python/compare/v7.10.2...v7.10.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev7.10.2\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/PostHog/posthog-python/blob/main/CHANGELOG.md\"\u003eposthog's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.12.0 — 2026-04-16\u003c/h2\u003e\n\u003ch3\u003eMinor changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/posthog/posthog-python/commit/220d9e88877dee7eabd34fed68c2a4a65e6526a7\"\u003e220d9e8\u003c/a\u003e \u003ccode\u003ePrompts.get()\u003c/code\u003e now accepts \u003ccode\u003ewith_metadata=True\u003c/code\u003e and returns a \u003ccode\u003ePromptResult\u003c/code\u003e dataclass containing \u003ccode\u003esource\u003c/code\u003e (\u003ccode\u003eapi\u003c/code\u003e, \u003ccode\u003ecache\u003c/code\u003e, \u003ccode\u003estale_cache\u003c/code\u003e, or \u003ccode\u003ecode_fallback\u003c/code\u003e), \u003ccode\u003ename\u003c/code\u003e, and \u003ccode\u003eversion\u003c/code\u003e alongside the prompt text. The previous plain-string return is deprecated and will be removed in a future major version. — Thanks \u003ca href=\"https://github.com/marandaneto\"\u003e\u003ccode\u003e@​marandaneto\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.11.2 — 2026-04-15\u003c/h2\u003e\n\u003ch3\u003ePatch changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/posthog/posthog-python/commit/f5a95b454ae7fd8bf46381b1c624df827903260d\"\u003ef5a95b4\u003c/a\u003e feat(flags): switch local evaluation polling from \u003ccode\u003e/api/feature_flag/local_evaluation\u003c/code\u003e to \u003ccode\u003e/flags/definitions\u003c/code\u003e — Thanks \u003ca href=\"https://github.com/patricio-posthog\"\u003e\u003ccode\u003e@​patricio-posthog\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.11.1 — 2026-04-14\u003c/h2\u003e\n\u003ch3\u003ePatch changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/posthog/posthog-python/commit/c3f097f72f5ef6c1ecd25ade7d3ba08e57765eaf\"\u003ec3f097f\u003c/a\u003e feat: Add os_distro information to events — Thanks \u003ca href=\"https://github.com/parinporecha\"\u003e\u003ccode\u003e@​parinporecha\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.11.0 — 2026-04-10\u003c/h2\u003e\n\u003ch3\u003eMinor changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/posthog/posthog-python/commit/b921fe33a9115fbf5f5171b80e1deabffd3e66ca\"\u003eb921fe3\u003c/a\u003e Add Gemini \u003ccode\u003eembed_content\u003c/code\u003e tracking support for both sync and async clients — Thanks \u003ca href=\"https://github.com/carlos-marchal-ph\"\u003e\u003ccode\u003e@​carlos-marchal-ph\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/posthog/posthog-python/commit/44b92a844a2d8170e5b2247e509279f4654c4ef6\"\u003e44b92a8\u003c/a\u003e feat(ai): add $ai_stop_reason extraction for all providers — Thanks \u003ca href=\"https://github.com/carlos-marchal-ph\"\u003e\u003ccode\u003e@​carlos-marchal-ph\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePatch changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/posthog/posthog-python/commit/7c5cad8fcf818c9b8b4f074876718b937f2f8072\"\u003e7c5cad8\u003c/a\u003e fix: graceful fallback in claude_agent_sdk query wrapper when PostHog is not configured — Thanks \u003ca href=\"https://github.com/andrewm4894\"\u003e\u003ccode\u003e@​andrewm4894\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.10.3 — 2026-04-08\u003c/h2\u003e\n\u003ch3\u003ePatch changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/posthog/posthog-python/commit/e22e893b236bf6af1cb8f6c18712727d24fe5c7e\"\u003ee22e893\u003c/a\u003e fix: pass the module-level \u003ccode\u003eposthog.before_send\u003c/code\u003e callback into the lazily initialized default client — Thanks \u003ca href=\"https://github.com/marandaneto\"\u003e\u003ccode\u003e@​marandaneto\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.10.2 — 2026-04-08\u003c/h2\u003e\n\u003ch3\u003ePatch changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/posthog/posthog-python/commit/bae355cd787f4c1a119fd2b396ba444b1a218b6a\"\u003ebae355c\u003c/a\u003e feat(flags): make local evaluation endpoint configurable via \u003ccode\u003ePOSTHOG_LOCAL_EVALUATION_ENDPOINT\u003c/code\u003e env var with fallback to default endpoint — Thanks \u003ca href=\"https://github.com/patricio-posthog\"\u003e\u003ccode\u003e@​patricio-posthog\u003c/code\u003e\u003c/a\u003e for your first contribution 🎉!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.10.1 — 2026-04-08\u003c/h2\u003e\n\u003ch3\u003ePatch changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/posthog/posthog-python/commit/a5052b089b106af5a2fa5236fcf1f4f84943f899\"\u003ea5052b0\u003c/a\u003e fix: Django middleware accidentally passed capture_exceptions as positional arg, setting fresh=True and resetting context state — Thanks \u003ca href=\"https://github.com/marandaneto\"\u003e\u003ccode\u003e@​marandaneto\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.10.0 — 2026-04-07\u003c/h2\u003e\n\u003ch3\u003eMinor changes\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/PostHog/posthog-python/commit/825bf1a09aa0d858df2f0f405ddd98776efefdf3\"\u003e\u003ccode\u003e825bf1a\u003c/code\u003e\u003c/a\u003e chore: Release v7.12.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PostHog/posthog-python/commit/220d9e88877dee7eabd34fed68c2a4a65e6526a7\"\u003e\u003ccode\u003e220d9e8\u003c/code\u003e\u003c/a\u003e chore: merge master into main (\u003ca href=\"https://redirect.github.com/posthog/posthog-python/issues/513\"\u003e#513\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PostHog/posthog-python/commit/82f599347701b0b04106eb24e5e91f886ffe725b\"\u003e\u003ccode\u003e82f5993\u003c/code\u003e\u003c/a\u003e chore: Release v7.11.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PostHog/posthog-python/commit/f5a95b454ae7fd8bf46381b1c624df827903260d\"\u003e\u003ccode\u003ef5a95b4\u003c/code\u003e\u003c/a\u003e chore: update endpoint for flags local eval (\u003ca href=\"https://redirect.github.com/posthog/posthog-python/issues/509\"\u003e#509\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PostHog/posthog-python/commit/055f8fd271a10b6bcafefb5ffc5db46cfb02a77a\"\u003e\u003ccode\u003e055f8fd\u003c/code\u003e\u003c/a\u003e chore: update branch references to main (\u003ca href=\"https://redirect.github.com/posthog/posthog-python/issues/506\"\u003e#506\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PostHog/posthog-python/commit/5f815482dbcb51a02d9029330cbebe04da2ca1ca\"\u003e\u003ccode\u003e5f81548\u003c/code\u003e\u003c/a\u003e chore(deps): bump requests from 2.32.5 to 2.33.0 (\u003ca href=\"https://redirect.github.com/posthog/posthog-python/issues/473\"\u003e#473\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PostHog/posthog-python/commit/bb69ddb3b80ac9964936cd53feeb39d54b5aa401\"\u003e\u003ccode\u003ebb69ddb\u003c/code\u003e\u003c/a\u003e chore(deps): bump litellm from 1.82.6 to 1.83.0 in /examples/example-ai-dspy ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PostHog/posthog-python/commit/eba4a39fc292bd5a24ae1dc2fab16d475574138a\"\u003e\u003ccode\u003eeba4a39\u003c/code\u003e\u003c/a\u003e chore(deps): bump pyasn1 from 0.6.1 to 0.6.3 (\u003ca href=\"https://redirect.github.com/posthog/posthog-python/issues/465\"\u003e#465\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PostHog/posthog-python/commit/c59ca5938de4b5fd01f0412e345a0260088e849c\"\u003e\u003ccode\u003ec59ca59\u003c/code\u003e\u003c/a\u003e chore: add GitHub community health files (\u003ca href=\"https://redirect.github.com/posthog/posthog-python/issues/505\"\u003e#505\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PostHog/posthog-python/commit/33342776e543837a618944565cb596b6bdeb84ce\"\u003e\u003ccode\u003e3334277\u003c/code\u003e\u003c/a\u003e chore: Release v7.11.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/posthog/posthog-python/compare/v7.9.12...v7.12.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.1.1 to 8.2.3\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 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/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.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\u003c/blockquote\u003e\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/634ca6e786885ffebe211fc73e0e8a04e030f3c3\"\u003e\u003ccode\u003e634ca6e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6473\"\u003e#6473\u003c/a\u003e from Textualize/bump823\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/ccf1978c1a715ac7d33149dcfc344765dc250037\"\u003e\u003ccode\u003eccf1978\u003c/code\u003e\u003c/a\u003e bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/5ddfbdc6bf7966b99644f2da0251c94c83a50528\"\u003e\u003ccode\u003e5ddfbdc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6462\"\u003e#6462\u003c/a\u003e from IEBqp/guide-patch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/23bf10e77bd18fa91ed2c42e3a0693b0702e097d\"\u003e\u003ccode\u003e23bf10e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6470\"\u003e#6470\u003c/a\u003e from Textualize/defensive-selection\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/32f1d23330efd7a47891a5ce90edd7677664fbc1\"\u003e\u003ccode\u003e32f1d23\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6471\"\u003e#6471\u003c/a\u003e from Textualize/resize-lag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/2bbfbb7741470e8cf95c37476047b89787afaec5\"\u003e\u003ccode\u003e2bbfbb7\u003c/code\u003e\u003c/a\u003e force initial resize\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/4b6579038979a90d1f4067d8e396f0af13e80f75\"\u003e\u003ccode\u003e4b65790\u003c/code\u003e\u003c/a\u003e ignore no size changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/63fe6f0646e0f1401b990fb64f292d9646d01014\"\u003e\u003ccode\u003e63fe6f0\u003c/code\u003e\u003c/a\u003e check resize timer on idle\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/ec5b43ae1cc2c49361f0d791a53dd047bce08369\"\u003e\u003ccode\u003eec5b43a\u003c/code\u003e\u003c/a\u003e also resize on idle\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/12a52d9e24f1d47eb680e814527fac6ee004e573\"\u003e\u003ccode\u003e12a52d9\u003c/code\u003e\u003c/a\u003e check screen error\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/textual/compare/v8.1.1...v8.2.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `real-ladybug` from 0.15.1 to 0.15.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/lbugdb/lbug/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tree-sitter-rust` from 0.24.0 to 0.24.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tree-sitter/tree-sitter-rust/releases\"\u003etree-sitter-rust's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.24.2\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNOTE:\u003c/strong\u003e Download \u003ccode\u003etree-sitter-rust.tar.gz\u003c/code\u003e for the \u003cem\u003ecomplete\u003c/em\u003e source code.\u003c/p\u003e\n\u003ch2\u003ev0.24.1\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNOTE:\u003c/strong\u003e Download \u003ccode\u003etree-sitter-rust.tar.gz\u003c/code\u003e for the \u003cem\u003ecomplete\u003c/em\u003e source code.\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/tree-sitter/tree-sitter-rust/commit/77a3747266f4d621d0757825e6b11edcbf991ca5\"\u003e\u003ccode\u003e77a3747\u003c/code\u003e\u003c/a\u003e 0.24.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tree-sitter/tree-sitter-rust/commit/c9f157902a6b487f0c358dc383d2d694b98fd814\"\u003e\u003ccode\u003ec9f1579\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/v0.24.x'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tree-sitter/tree-sitter-rust/commit/b3e615de069beb04ff44f65ac52f7f03cff04438\"\u003e\u003ccode\u003eb3e615d\u003c/code\u003e\u003c/a\u003e Fix bad error recovery when parsing repeated string literals (\u003ca href=\"https://redirect.github.com/tree-sitter/tree-sitter-rust/issues/307\"\u003e#307\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tree-sitter/tree-sitter-rust/commit/4b8106750a2865e4548459d18c797c9f468c440e\"\u003e\u003ccode\u003e4b81067\u003c/code\u003e\u003c/a\u003e Disable regeneration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tree-sitter/tree-sitter-rust/commit/6651c80dc5f033f9666365de50260d02cea05412\"\u003e\u003ccode\u003e6651c80\u003c/code\u003e\u003c/a\u003e Regenerate parser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tree-sitter/tree-sitter-rust/commit/96e3121c41bc5f2b659f21dd5a43894c4028ddf1\"\u003e\u003ccode\u003e96e3121\u003c/code\u003e\u003c/a\u003e Remove attestations from GH release job\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tree-sitter/tree-sitter-rust/commit/8a1ccae7aaccdc11b04dbd803453e3e9cfd9159b\"\u003e\u003ccode\u003e8a1ccae\u003c/code\u003e\u003c/a\u003e 0.24.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tree-sitter/tree-sitter-rust/commit/ab43fdbb1640bdece8fab9927b1aa6774d942189\"\u003e\u003ccode\u003eab43fdb\u003c/code\u003e\u003c/a\u003e Parse string literals even in with unexpected prefixes (\u003ca href=\"https://redirect.github.com/tree-sitter/tree-sitter-rust/issues/306\"\u003e#306\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tree-sitter/tree-sitter-rust/commit/261b20226c04ef601adbdf185a800512a5f66291\"\u003e\u003ccode\u003e261b202\u003c/code\u003e\u003c/a\u003e Raw reference/identifier conflict (\u003ca href=\"https://redirect.github.com/tree-sitter/tree-sitter-rust/issues/288\"\u003e#288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tree-sitter/tree-sitter-rust/commit/946595d164e77b705fa28385654f9420f59262ef\"\u003e\u003ccode\u003e946595d\u003c/code\u003e\u003c/a\u003e Include LICENSE (\u003ca href=\"https://redirect.github.com/tree-sitter/tree-sitter-rust/issues/263\"\u003e#263\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tree-sitter/tree-sitter-rust/compare/v0.24.0...v0.24.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `openai` from 2.29.0 to 2.32.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/openai/openai-python/releases\"\u003eopenai's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.32.0\u003c/h2\u003e\n\u003ch2\u003e2.32.0 (2026-04-15)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.31.0...v2.32.0\"\u003ev2.31.0...v2.32.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e Add detail to InputFileContent (\u003ca href=\"https://github.com/openai/openai-python/commit/60de21d1fcfbcadea0d9b8d884c73c9dc49d14ff\"\u003e60de21d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e add OAuthErrorCode type (\u003ca href=\"https://github.com/openai/openai-python/commit/0c8d2c3b44242c9139dc554896ea489b56e236b8\"\u003e0c8d2c3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient:\u003c/strong\u003e add event handler implementation for websockets (\u003ca href=\"https://github.com/openai/openai-python/commit/0280d0568f706684ecbf0aabf3575cdcb7fd22d5\"\u003e0280d05\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient:\u003c/strong\u003e allow enqueuing to websockets even when not connected (\u003ca href=\"https://github.com/openai/openai-python/commit/67aa20e69bc0e4a3b7694327c808606bfa24a966\"\u003e67aa20e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient:\u003c/strong\u003e support reconnection in websockets (\u003ca href=\"https://github.com/openai/openai-python/commit/eb72a953ea9dc5beec3eef537be6eb32292c3f65\"\u003eeb72a95\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eensure file data are only sent as 1 parameter (\u003ca href=\"https://github.com/openai/openai-python/commit/c0c2ecd0f6b64fa5fafda6134bb06995b143a2cf\"\u003ec0c2ecd\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eimprove examples (\u003ca href=\"https://github.com/openai/openai-python/commit/84712fa0f094b53151a0fe6ac85aa98018b2a7e2\"\u003e84712fa\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.31.0\u003c/h2\u003e\n\u003ch2\u003e2.31.0 (2026-04-08)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.30.0...v2.31.0\"\u003ev2.30.0...v2.31.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e add phase field to conversations message (\u003ca href=\"https://github.com/openai/openai-python/commit/3e5834efb39b24e019a29dc54d890c67d18cbb54\"\u003e3e5834e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e add web_search_call.results to ResponseIncludable type (\u003ca href=\"https://github.com/openai/openai-python/commit/ffd8741dd38609a5af0159ceb800d8ddba7925f8\"\u003effd8741\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient:\u003c/strong\u003e add support for short-lived tokens (\u003ca href=\"https://redirect.github.com/openai/openai-python/issues/1608\"\u003e#1608\u003c/a\u003e) (\u003ca href=\"https://github.com/openai/openai-python/commit/22fe7228d4990c197cd721b3ad7931ad05cca5dd\"\u003e22fe722\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient:\u003c/strong\u003e support sending raw data over websockets (\u003ca href=\"https://github.com/openai/openai-python/commit/f1bc52ef641dfca6fdf2a5b00ce3b09bff2552f5\"\u003ef1bc52e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e implement indices array format for query and form serialization (\u003ca href=\"https://github.com/openai/openai-python/commit/49194cfa711328216ff131d6f65c9298822a7c51\"\u003e49194cf\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eclient:\u003c/strong\u003e preserve hardcoded query params when merging with user params (\u003ca href=\"https://github.com/openai/openai-python/commit/92e109c3d9569a942e1919e75977dc13fa015f9a\"\u003e92e109c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypes:\u003c/strong\u003e remove web_search_call.results from ResponseIncludable (\u003ca href=\"https://github.com/openai/openai-python/commit/d3cc40165cd86015833d15167cc7712b4102f932\"\u003ed3cc401\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003etests:\u003c/strong\u003e bump steady to v0.20.1 (\u003ca href=\"https://github.com/openai/openai-python/commit/d60e2eea7f6916540cd4ba901dceb07051119da4\"\u003ed60e2ee\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etests:\u003c/strong\u003e bump steady to v0.20.2 (\u003ca href=\"https://github.com/openai/openai-python/commit/6508d474332d4e82d9615c0a9a77379f9b5e4412\"\u003e6508d47\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\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/openai/openai-python/blob/main/CHANGELOG.md\"\u003eopenai's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.32.0 (2026-04-15)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.31.0...v2.32.0\"\u003ev2.31.0...v2.32.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e Add detail to InputFileContent (\u003ca href=\"https://github.com/openai/openai-python/commit/60de21d1fcfbcadea0d9b8d884c73c9dc49d14ff\"\u003e60de21d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e add OAuthErrorCode type (\u003ca href=\"https://github.com/openai/openai-python/commit/0c8d2c3b44242c9139dc554896ea489b56e236b8\"\u003e0c8d2c3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient:\u003c/strong\u003e add event handler implementation for websockets (\u003ca href=\"https://github.com/openai/openai-python/commit/0280d0568f706684ecbf0aabf3575cdcb7fd22d5\"\u003e0280d05\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient:\u003c/strong\u003e allow enqueuing to websockets even when not connected (\u003ca href=\"https://github.com/openai/openai-python/commit/67aa20e69bc0e4a3b7694327c808606bfa24a966\"\u003e67aa20e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient:\u003c/strong\u003e support reconnection in websockets (\u003ca href=\"https://github.com/openai/openai-python/commit/eb72a953ea9dc5beec3eef537be6eb32292c3f65\"\u003eeb72a95\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eensure file data are only sent as 1 parameter (\u003ca href=\"https://github.com/openai/openai-python/commit/c0c2ecd0f6b64fa5fafda6134bb06995b143a2cf\"\u003ec0c2ecd\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eimprove examples (\u003ca href=\"https://github.com/openai/openai-python/commit/84712fa0f094b53151a0fe6ac85aa98018b2a7e2\"\u003e84712fa\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.31.0 (2026-04-08)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.30.0...v2.31.0\"\u003ev2.30.0...v2.31.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e add phase field to conversations message (\u003ca href=\"https://github.com/openai/openai-python/commit/3e5834efb39b24e019a29dc54d890c67d18cbb54\"\u003e3e5834e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e add web_search_call.results to ResponseIncludable type (\u003ca href=\"https://github.com/openai/openai-python/commit/ffd8741dd38609a5af0159ceb800d8ddba7925f8\"\u003effd8741\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient:\u003c/strong\u003e add support for short-lived tokens (\u003ca href=\"https://redirect.github.com/openai/openai-python/issues/1608\"\u003e#1608\u003c/a\u003e) (\u003ca href=\"https://github.com/openai/openai-python/commit/22fe7228d4990c197cd721b3ad7931ad05cca5dd\"\u003e22fe722\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient:\u003c/strong\u003e support sending raw data over websockets (\u003ca href=\"https://github.com/openai/openai-python/commit/f1bc52ef641dfca6fdf2a5b00ce3b09bff2552f5\"\u003ef1bc52e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e implement indices array format for query and form serialization (\u003ca href=\"https://github.com/openai/openai-python/commit/49194cfa711328216ff131d6f65c9298822a7c51\"\u003e49194cf\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eclient:\u003c/strong\u003e preserve hardcoded query params when merging with user params (\u003ca href=\"https://github.com/openai/openai-python/commit/92e109c3d9569a942e1919e75977dc13fa015f9a\"\u003e92e109c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypes:\u003c/strong\u003e remove web_search_call.results from ResponseIncludable (\u003ca href=\"https://github.com/openai/openai-python/commit/d3cc40165cd86015833d15167cc7712b4102f932\"\u003ed3cc401\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003etests:\u003c/strong\u003e bump steady to v0.20.1 (\u003ca href=\"https://github.com/openai/openai-python/commit/d60e2eea7f6916540cd4ba901dceb07051119da4\"\u003ed60e2ee\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etests:\u003c/strong\u003e bump steady to v0.20.2 (\u003ca href=\"https://github.com/openai/openai-python/commit/6508d474332d4e82d9615c0a9a77379f9b5e4412\"\u003e6508d47\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e update file parameter descriptions in vector_stores files and file_batches (\u003ca href=\"https://github.com/openai/openai-python/commit/a9e7ebd505b9ae90514339aa63c6f1984a08cf6b\"\u003ea9e7ebd\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/openai/openai-python/commit/e507a4ebeea4c3f93cd48986014a3e2ca79230c2\"\u003e\u003ccode\u003ee507a4e\u003c/code\u003e\u003c/a\u003e release: 2.32.0 (\u003ca href=\"https://redirect.github.com/openai/openai-python/issues/3074\"\u003e#3074\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/750354ed65565b31d0547bf00f4f3180ac1bfeef\"\u003e\u003ccode\u003e750354e\u003c/code\u003e\u003c/a\u003e release: 2.31.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/5be95364a5a82746cb7b1c77df10dfaf138496bb\"\u003e\u003ccode\u003e5be9536\u003c/code\u003e\u003c/a\u003e feat(client): add support for short-lived tokens (\u003ca href=\"https://redirect.github.com/openai/openai-python/issues/1608\"\u003e#1608\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/f1fd4fae0329ee3df2f1bb25d93f51311782ad1a\"\u003e\u003ccode\u003ef1fd4fa\u003c/code\u003e\u003c/a\u003e feat(client): support sending raw data over websockets\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/73ea2f75ba57a1db964518b33b790b1e1251b8d5\"\u003e\u003ccode\u003e73ea2f7\u003c/code\u003e\u003c/a\u003e fix(client): preserve hardcoded query params when merging with user params\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/454b2575d59a086f279d99dc791058acee2f14c0\"\u003e\u003ccode\u003e454b257\u003c/code\u003e\u003c/a\u003e feat(api): add web_search_call.results to ResponseIncludable type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/de2c7b1d087f41f33ada85a7460f32e55331778a\"\u003e\u003ccode\u003ede2c7b1\u003c/code\u003e\u003c/a\u003e chore(tests): bump steady to v0.20.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/6efca95a76f6ca9cb91fdf536c6c9ebcef075541\"\u003e\u003ccode\u003e6efca95\u003c/code\u003e\u003c/a\u003e chore(tests): bump steady to v0.20.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/2076d85f9226113e4ba360a7f456091988092dbf\"\u003e\u003ccode\u003e2076d85\u003c/code\u003e\u003c/a\u003e feat(api): add phase field to conversations message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/c0c59afa39a82f73063a52f624a9a4a2a6bf3313\"\u003e\u003ccode\u003ec0c59af\u003c/code\u003e\u003c/a\u003e fix(types): remove web_search_call.results from ResponseIncludable\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/openai/openai-python/compare/v2.29.0...v2.32.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `anthropic` from 0.85.0 to 0.96.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/releases\"\u003eanthropic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.96.0\u003c/h2\u003e\n\u003ch2\u003e0.96.0 (2026-04-16)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.95.0...v0.96.0\"\u003ev0.95.0...v0.96.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e add claude-opus-4-7, token budgets and user_profiles (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/0aa2a0d4388a39984134d1dfc2bcbd6b206f7184\"\u003e0aa2a0d\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eci:\u003c/strong\u003e remove release-doctor workflow (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/1d9add35d0bd4c71f2bca3b0d494d1d0a348817a\"\u003e1d9add3\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.95.0\u003c/h2\u003e\n\u003ch2\u003e0.95.0 (2026-04-14)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.94.1...v0.95.0\"\u003ev0.94.1...v0.95.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e mark Sonnet and Opus 4 as deprecated (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/0c1e7736394585dd021b53c1f87383c4fae29a6b\"\u003e0c1e773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebedrock:\u003c/strong\u003e use auth header for mantle client (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1644\"\u003e#1644\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/3b93090e121861462f21a7621484cda66c139997\"\u003e3b93090\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.94.1\u003c/h2\u003e\n\u003ch2\u003e0.94.1 (2026-04-13)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.94.0...v0.94.1\"\u003ev0.94.0...v0.94.1\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003estreaming:\u003c/strong\u003e add missing events (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/c6a06d80b7e87bc034bd6ade950c735da02a0be3\"\u003ec6a06d8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.94.0\u003c/h2\u003e\n\u003ch2\u003e0.94.0 (2026-04-10)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.93.0...v0.94.0\"\u003ev0.93.0...v0.94.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003evertex eu region (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1658\"\u003e#1658\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/b7e157d85f50b2900ddf896e8e80882dd7311bfd\"\u003eb7e157d\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eensure file data are only sent as 1 parameter (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/837b25bb6262186a5bae92aa70eb73c3cf8c90af\"\u003e837b25b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\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/anthropics/anthropic-sdk-python/blob/main/CHANGELOG.md\"\u003eanthropic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.96.0 (2026-04-16)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.95.0...v0.96.0\"\u003ev0.95.0...v0.96.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e add claude-opus-4-7, token budgets and user_profiles (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/0aa2a0d4388a39984134d1dfc2bcbd6b206f7184\"\u003e0aa2a0d\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eci:\u003c/strong\u003e remove release-doctor workflow (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/1d9add35d0bd4c71f2bca3b0d494d1d0a348817a\"\u003e1d9add3\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.95.0 (2026-04-14)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.94.1...v0.95.0\"\u003ev0.94.1...v0.95.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e mark Sonnet and Opus 4 as deprecated (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/0c1e7736394585dd021b53c1f87383c4fae29a6b\"\u003e0c1e773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebedrock:\u003c/strong\u003e use auth header for mantle client (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1644\"\u003e#1644\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/3b93090e121861462f21a7621484cda66c139997\"\u003e3b93090\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.94.1 (2026-04-13)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.94.0...v0.94.1\"\u003ev0.94.0...v0.94.1\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003estreaming:\u003c/strong\u003e add missing events (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/c6a06d80b7e87bc034bd6ade950c735da02a0be3\"\u003ec6a06d8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.94.0 (2026-04-10)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.93.0...v0.94.0\"\u003ev0.93.0...v0.94.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003evertex eu region (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1658\"\u003e#1658\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/b7e157d85f50b2900ddf896e8e80882dd7311bfd\"\u003eb7e157d\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eensure file data are only sent as 1 parameter (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/837b25bb6262186a5bae92aa70eb73c3cf8c90af\"\u003e837b25b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eimprove examples (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/48089fdb788500d00718b9d4ae24cd34e5e91beb\"\u003e48089fd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate examples (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/0f3c28b973026d135f91f38c4ad82ae2b1131522\"\u003e0f3c28b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.93.0 (2026-04-09)\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/anthropics/anthropic-sdk-python/commit/78de297e71bacbe6acf4d3b420edcaad90ce1045\"\u003e\u003ccode\u003e78de297\u003c/code\u003e\u003c/a\u003e release: 0.96.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/dc0c79294528932c8fb4b27d6c0c24a0198d2c0a\"\u003e\u003ccode\u003edc0c792\u003c/code\u003e\u003c/a\u003e feat(api): add claude-opus-4-7, token budgets and user_profiles\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/71eff1fee942056bf54219e9953615be143f67ec\"\u003e\u003ccode\u003e71eff1f\u003c/code\u003e\u003c/a\u003e chore(ci): remove release-doctor workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/1056685678c8e52cb2492e43b75d695ab91a4b51\"\u003e\u003ccode\u003e1056685\u003c/code\u003e\u003c/a\u003e release: 0.95.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/9741185561f6ebf289051a9eec136cf4ce7846a6\"\u003e\u003ccode\u003e9741185\u003c/code\u003e\u003c/a\u003e feat(bedrock): use auth header for mantle client (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1644\"\u003e#1644\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/ef22dbbd4a2005fd4e1b8e24cfb562c35c688313\"\u003e\u003ccode\u003eef22dbb\u003c/code\u003e\u003c/a\u003e feat(api): mark Sonnet and Opus 4 as deprecated\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/6d9b98672387c1f4f1f4a8fc02ea6d0e45a8362b\"\u003e\u003ccode\u003e6d9b986\u003c/code\u003e\u003c/a\u003e codegen metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/47c48a9eee1b6b34b7b87569c4481d3d89c5bc33\"\u003e\u003ccode\u003e47c48a9\u003c/code\u003e\u003c/a\u003e release: 0.94.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/49bab64536c113302653510ed6a639b34ade1af2\"\u003e\u003ccode\u003e49bab64\u003c/code\u003e\u003c/a\u003e fix(streaming): add missing events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/7b03b0fc0b103eaba7732fc5ae54fc86c963839a\"\u003e\u003ccode\u003e7b03b0f\u003c/code\u003e\u003c/a\u003e release: 0.94.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.85.0...v0.96.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `genai-prices` from 0.0.55 to 0.0.56\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/genai-prices/commit/9ebd466b6a0bb57c81c168fa9ed6f6a1e547c22a\"\u003e\u003ccode\u003e9ebd466\u003c/code\u003e\u003c/a\u003e Prep 0.0.56 release (\u003ca href=\"https://redirect.github.com/pydantic/genai-prices/issues/318\"\u003e#318\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/genai-prices/commit/c5bd290dd46af2deab22af7a0aa709906e7038d1\"\u003e\u003ccode\u003ec5bd290\u003c/code\u003e\u003c/a\u003e Add OpenRouter pricing for claude-sonnet-4.6 (\u003ca href=\"https://redirect.github.com/pydantic/genai-prices/issues/296\"\u003e#296\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/genai-prices/commit/ea55b972b43eb679e99795c1479ccea4a502ebe0\"\u003e\u003ccode\u003eea55b97\u003c/code\u003e\u003c/a\u003e feat: add Qwen3 Max Thinking to OpenRouter (\u003ca href=\"https://redirect.github.com/pydantic/genai-prices/issues/279\"\u003e#279\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/genai-prices/commit/5f2a7bd337696bc2a9ca41147d0a9d7c00e824aa\"\u003e\u003ccode\u003e5f2a7bd\u003c/code\u003e\u003c/a\u003e Add Qwen3 VL 235B A22B (\u003ca href=\"https://redirect.github.com/pydantic/genai-prices/issues/285\"\u003e#285\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/genai-prices/commit/a7628264248ca1ce96acb3a2abbe19de47b3efdf\"\u003e\u003ccode\u003ea762826\u003c/code\u003e\u003c/a\u003e Add openrouter qwen/qwen3.5-plus-02-15 price (\u003ca href=\"https://redirect.github.com/pydantic/genai-prices/issues/299\"\u003e#299\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/genai-prices/commit/8ab5336c8fefeb664d692f2238e1181d0ba0321b\"\u003e\u003ccode\u003e8ab5336\u003c/code\u003e\u003c/a\u003e feat: moonshot ai prices file (\u003ca href=\"https://redirect.github.com/pydantic/genai-prices/issues/313\"\u003e#313\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/genai-prices/commit/87f9120fc248dddafbb2c863a29ef5488a5164fc\"\u003e\u003ccode\u003e87f9120\u003c/code\u003e\u003c/a\u003e feat: add Gemini 3.1 Flash Image Preview pricing (\u003ca href=\"https://redirect.github.com/pydantic/genai-prices/issues/303\"\u003e#303\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/genai-prices/commit/016961828b5ecb1e38932a5675fe9afa2668a135\"\u003e\u003ccode\u003e0169618\u003c/code\u003e\u003c/a\u003e Adding api-flavor for xAI native SDK (\u003ca href=\"https://redirect.github.com/pydantic/genai-prices/issues/307\"\u003e#307\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/genai-prices/commit/ee468266850d8b6ebed856f9b175e37044437a44\"\u003e\u003ccode\u003eee46826\u003c/code\u003e\u003c/a\u003e feat: add GPT-5.4 mini and nano snapshot aliases (\u003ca href=\"https://redirect.github.com/pydantic/genai-prices/issues/317\"\u003e#317\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/genai-prices/commit/9205f145985ca898daa5bcf6148f932a82cf62a1\"\u003e\u003ccode\u003e9205f14\u003c/code\u003e\u003c/a\u003e feat: add pricing for GPT 5.4 mini and nano (\u003ca href=\"https://redirect.github.com/pydantic/genai-prices/issues/315\"\u003e#315\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/genai-prices/compare/v0.0.55...v0.0.56\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dependency-injector` from 4.48.3 to 4.49.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ets-labs/python-dependency-injector/releases\"\u003edependency-injector's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.49.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePython 3.14 support\u003c/li\u003e\n\u003cli\u003eFix Pydantic v2 deprecation warning triggering on settings class import (fixes \u003ca href=\"https://redirect.github.com/ets-labs/python-dependency-injector/issues/942\"\u003e#942\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix grammar in Declarative Container documentation by \u003ca href=\"https://github.com/okotdaniel\"\u003e\u003ccode\u003e@​okotdaniel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ets-labs/python-dependency-injector/pull/916\"\u003eets-labs/python-dependency-injector#916\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd missing warn_unresolved parameter to WiringConfiguration in containers.pyi by \u003ca href=\"https://github.com/jonathandannenberg\"\u003e\u003ccode\u003e@​jonathandannenberg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ets-labs/python-dependency-injector/pull/951\"\u003eets-labs/python-dependency-injector#951\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd keep_cache argument to Container.wire typings by \u003ca href=\"https://github.com/romantolkachyov\"\u003e\u003ccode\u003e@​romantolkachyov\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ets-labs/python-dependency-injector/pull/952\"\u003eets-labs/python-dependency-injector#952\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRetrofit assert type for some type-stub checks by \u003ca href=\"https://github.com/leonarduschen\"\u003e\u003ccode\u003e@​leonarduschen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ets-labs/python-dependency-injector/pull/943\"\u003eets-labs/python-dependency-injector#943\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRetrofit assert type for remaining type-stub checks by \u003ca href=\"https://github.com/leonarduschen\"\u003e\u003ccode\u003e@​leonarduschen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ets-labs/python-dependency-injector/pull/953\"\u003eets-labs/python-dependency-injector#953\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd provided()\u003c!-- raw HTML omitted --\u003e.call *args, **kwargs arguments \u003ca href=\"https://redirect.github.com/ets-labs/python-dependency-injector/issues/945\"\u003e#945\u003c/a\u003e by \u003ca href=\"https://github.com/pavalso\"\u003e\u003ccode\u003e@​pavalso\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ets-labs/python-dependency-injector/pull/946\"\u003eets-labs/python-dependency-injector#946\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd context local resource by \u003ca href=\"https://github.com/elina-israyelyan\"\u003e\u003ccode\u003e@​elina-israyelyan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ets-labs/python-dependency-injector/pull/931\"\u003eets-labs/python-dependency-injector#931\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate CI/CD to \u003ccode\u003eactions/checkout@v6\u003c/code\u003e, \u003ccode\u003eactions/setup-python@v6\u003c/code\u003e, \u003ccode\u003eactions/download-artifact@v8\u003c/code\u003e, \u003ccode\u003eactions/upload-artifact@v7\u003c/code\u003e and \u003ccode\u003epypa/cibuildwheel@v3.4.0\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdd dependabot config for GitHub Actions\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/okotdaniel\"\u003e\u003ccode\u003e@​okotdaniel\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ets-labs/python-dependency-injector/pull/916\"\u003eets-labs/python-dependency-injector#916\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jonathandannenberg\"\u003e\u003ccode\u003e@​jonathandannenberg\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ets-labs/python-dependency-injector/pull/951\"\u003eets-labs/python-dependency-injector#951\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/romantolkachyov\"\u003e\u003ccode\u003e@​romantolkachyov\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ets-labs/python-dependency-injector/pull/952\"\u003eets-labs/python-dependency-injector#952\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pavalso\"\u003e\u003ccode\u003e@​pavalso\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ets-labs/python-dependency-injector/pull/946\"\u003eets-labs/python-dependency-injector#946\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elina-israyelyan\"\u003e\u003ccode\u003e@​elina-israyelyan\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ets-labs/python-dependency-injector/pull/931\"\u003eets-labs/python-dependency-injector#931\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ets-labs/python-dependency-injector/compare/4.48.3...4.49.0\"\u003ehttps://github.com/ets-labs/python-dependency-injector/compare/4.48.3...4.49.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/ets-labs/python-dependency-injector/commit/5f7aa1c337c77e782e1e927eb4b1e41a60912604\"\u003e\u003ccode\u003e5f7aa1c\u003c/code\u003e\u003c/a\u003e Bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ets-labs/python-dependency-injector/commit/5863d99bd5e9b2d22c15f3815b23973317a453ee\"\u003e\u003ccode\u003e5863d99\u003c/code\u003e\u003c/a\u003e Add .github/dependabot.yml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ets-labs/python-dependency-injector/commit/000c670c7e655cc7db423a76c6b877d185f706ce\"\u003e\u003ccode\u003e000c670\u003c/code\u003e\u003c/a\u003e Upgrade GHA actions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ets-labs/python-dependency-injector/commit/931084070a5304a26a925961375a5afcc3c3a38b\"\u003e\u003ccode\u003e9310840\u003c/code\u003e\u003c/a\u003e Fix iscoroutinefunction import for older Pythons\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ets-labs/python-dependency-injector/commit/05a5e7d8701a1df8cb88ad55d187ba88cd6ffbe8\"\u003e\u003ccode\u003e05a5e7d\u003c/code\u003e\u003c/a\u003e Fix get_annotations import\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ets-labs/python-dependency-injector/commit/58700d9dbd3420a559330666edfb477418997ff9\"\u003e\u003ccode\u003e58700d9\u003c/code\u003e\u003c/a\u003e Use from import statements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ets-labs/python-dependency-injector/commit/0e25331738716d5bfa5562d42617deb6ad65d23c\"\u003e\u003ccode\u003e0e25331\u003c/code\u003e\u003c/a\u003e Do not build nogil wheels\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ets-labs/python-dependency-injector/commit/1696986aa7698120a7e2aab2355d93e178fc36f9\"\u003e\u003ccode\u003e1696986\u003c/code\u003e\u003c/a...\n\n_Description has been truncated_","html_url":"https://github.com/shotgun-sh/shotgun/pull/542","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/shotgun-sh%2Fshotgun/issues/542","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/542/packages"},{"uuid":"4253304693","node_id":"PR_kwDOQInSos7R7yGx","number":9,"state":"open","title":"deps(deps): update textual requirement from \u003e=0.40.0 to \u003e=8.2.3","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-13T09:46:05.000Z","updated_at":"2026-04-13T09:47:19.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(deps): update","packages":[{"name":"textual","old_version":"\u003e=0.40.0","new_version":"\u003e=8.2.3","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 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\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.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\u003cul\u003e\n\u003cli\u003eAdded experimental \u003ccode\u003eApp.PAUSE_GC_ON_SCROLL_\u003c/code\u003e boolean (disabled by default) \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6410\"\u003eTextualize/textual#6410\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.0.2] - 2026-03-03\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThemes are now in alphabetical order in command palette \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6405\"\u003eTextualize/textual#6405\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\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/634ca6e786885ffebe211fc73e0e8a04e030f3c3\"\u003e\u003ccode\u003e634ca6e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6473\"\u003e#6473\u003c/a\u003e from Textualize/bump823\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/ccf1978c1a715ac7d33149dcfc344765dc250037\"\u003e\u003ccode\u003eccf1978\u003c/code\u003e\u003c/a\u003e bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/5ddfbdc6bf7966b99644f2da0251c94c83a50528\"\u003e\u003ccode\u003e5ddfbdc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6462\"\u003e#6462\u003c/a\u003e from IEBqp/guide-patch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/23bf10e77bd18fa91ed2c42e3a0693b0702e097d\"\u003e\u003ccode\u003e23bf10e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6470\"\u003e#6470\u003c/a\u003e from Textualize/defensive-selection\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/32f1d23330efd7a47891a5ce90edd7677664fbc1\"\u003e\u003ccode\u003e32f1d23\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6471\"\u003e#6471\u003c/a\u003e from Textualize/resize-lag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/2bbfbb7741470e8cf95c37476047b89787afaec5\"\u003e\u003ccode\u003e2bbfbb7\u003c/code\u003e\u003c/a\u003e force initial resize\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/4b6579038979a90d1f4067d8e396f0af13e80f75\"\u003e\u003ccode\u003e4b65790\u003c/code\u003e\u003c/a\u003e ignore no size changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/63fe6f0646e0f1401b990fb64f292d9646d01014\"\u003e\u003ccode\u003e63fe6f0\u003c/code\u003e\u003c/a\u003e check resize timer on idle\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/ec5b43ae1cc2c49361f0d791a53dd047bce08369\"\u003e\u003ccode\u003eec5b43a\u003c/code\u003e\u003c/a\u003e also resize on idle\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/12a52d9e24f1d47eb680e814527fac6ee004e573\"\u003e\u003ccode\u003e12a52d9\u003c/code\u003e\u003c/a\u003e check screen error\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/textual/compare/v0.40.0...v8.2.3\"\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/Jamie-BitFlight/apt-registry-explorer/pull/9","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jamie-BitFlight%2Fapt-registry-explorer/issues/9","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/9/packages"},{"uuid":"4248776825","node_id":"PR_kwDOQDLfas7RydO9","number":53,"state":"open","title":"chore(deps): bump textual from 8.2.1 to 8.2.3","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-12T16:07:04.000Z","updated_at":"2026-04-12T16:07:24.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"textual","old_version":"8.2.1","new_version":"8.2.3","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.3.\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 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.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/634ca6e786885ffebe211fc73e0e8a04e030f3c3\"\u003e\u003ccode\u003e634ca6e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6473\"\u003e#6473\u003c/a\u003e from Textualize/bump823\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/ccf1978c1a715ac7d33149dcfc344765dc250037\"\u003e\u003ccode\u003eccf1978\u003c/code\u003e\u003c/a\u003e bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/5ddfbdc6bf7966b99644f2da0251c94c83a50528\"\u003e\u003ccode\u003e5ddfbdc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6462\"\u003e#6462\u003c/a\u003e from IEBqp/guide-patch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/23bf10e77bd18fa91ed2c42e3a0693b0702e097d\"\u003e\u003ccode\u003e23bf10e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6470\"\u003e#6470\u003c/a\u003e from Textualize/defensive-selection\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/32f1d23330efd7a47891a5ce90edd7677664fbc1\"\u003e\u003ccode\u003e32f1d23\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6471\"\u003e#6471\u003c/a\u003e from Textualize/resize-lag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/2bbfbb7741470e8cf95c37476047b89787afaec5\"\u003e\u003ccode\u003e2bbfbb7\u003c/code\u003e\u003c/a\u003e force initial resize\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/4b6579038979a90d1f4067d8e396f0af13e80f75\"\u003e\u003ccode\u003e4b65790\u003c/code\u003e\u003c/a\u003e ignore no size changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/63fe6f0646e0f1401b990fb64f292d9646d01014\"\u003e\u003ccode\u003e63fe6f0\u003c/code\u003e\u003c/a\u003e check resize timer on idle\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/ec5b43ae1cc2c49361f0d791a53dd047bce08369\"\u003e\u003ccode\u003eec5b43a\u003c/code\u003e\u003c/a\u003e also resize on idle\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/12a52d9e24f1d47eb680e814527fac6ee004e573\"\u003e\u003ccode\u003e12a52d9\u003c/code\u003e\u003c/a\u003e check screen error\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/textual/compare/v8.2.1...v8.2.3\"\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.1\u0026new-version=8.2.3)](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/mowi12/mr-manager/pull/53","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/mowi12%2Fmr-manager/issues/53","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/53/packages"}],"issue_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"}},{"old_version":"8.2.3","new_version":"8.2.4","update_type":"patch","path":null,"pr_created_at":"2026-04-19T05:03:53.000Z","version_change":"8.2.3 → 8.2.4","issue":{"uuid":"4289963494","node_id":"PR_kwDOQolS3c7TrAGw","number":688,"state":"closed","title":"Bump textual from 8.2.3 to 8.2.4","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-04-27T23:22:59.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-19T05:03:53.000Z","updated_at":"2026-04-27T23:23:01.000Z","time_to_close":757146,"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","html_url":"https://github.com/OlympusLedgerOrg/Olympus/pull/688","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/OlympusLedgerOrg%2FOlympus/issues/688","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/688/packages"}},{"old_version":"8.1.1","new_version":"8.2.3","update_type":"minor","path":null,"pr_created_at":"2026-04-18T23:35:19.000Z","version_change":"8.1.1 → 8.2.3","issue":{"uuid":"4289483001","node_id":"PR_kwDORzgoCs7TppoP","number":15,"state":"open","title":"build: bump the python-dependencies group across 1 directory with 12 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":5,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-18T23:35:19.000Z","updated_at":"2026-05-17T01:02:55.557Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build: bump","group_name":"python-dependencies","update_count":12,"packages":[{"name":"pydantic","old_version":"2.12.5","new_version":"2.13.2","repository_url":"https://github.com/pydantic/pydantic"},{"name":"rich","old_version":"14.3.3","new_version":"15.0.0","repository_url":"https://github.com/Textualize/rich"},{"name":"textual","old_version":"8.1.1","new_version":"8.2.3","repository_url":"https://github.com/Textualize/textual"},{"name":"opentelemetry-api","old_version":"1.40.0","new_version":"1.41.0","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"commitizen","old_version":"4.13.9","new_version":"4.13.10","repository_url":"https://github.com/commitizen-tools/commitizen"},{"name":"hypothesis","old_version":"6.151.9","new_version":"6.152.1","repository_url":"https://github.com/HypothesisWorks/hypothesis"},{"name":"mypy","old_version":"1.19.1","new_version":"1.20.1","repository_url":"https://github.com/python/mypy"},{"name":"pytest","old_version":"9.0.2","new_version":"9.0.3","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"ruff","old_version":"0.15.7","new_version":"0.15.11","repository_url":"https://github.com/astral-sh/ruff"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-dependencies group with 9 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.12.5` | `2.13.2` |\n| [rich](https://github.com/Textualize/rich) | `14.3.3` | `15.0.0` |\n| [textual](https://github.com/Textualize/textual) | `8.1.1` | `8.2.3` |\n| [opentelemetry-api](https://github.com/open-telemetry/opentelemetry-python) | `1.40.0` | `1.41.0` |\n| [commitizen](https://github.com/commitizen-tools/commitizen) | `4.13.9` | `4.13.10` |\n| [hypothesis](https://github.com/HypothesisWorks/hypothesis) | `6.151.9` | `6.152.1` |\n| [mypy](https://github.com/python/mypy) | `1.19.1` | `1.20.1` |\n| [pytest](https://github.com/pytest-dev/pytest) | `9.0.2` | `9.0.3` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.15.7` | `0.15.11` |\n\n\nUpdates `pydantic` from 2.12.5 to 2.13.2\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.1 2026-04-15\u003c/h2\u003e\n\u003ch2\u003ev2.13.1 (2026-04-15)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidationInfo.data\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\u003e by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13079\"\u003e#13079\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.0...v2.13.1\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.0...v2.13.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.0 2026-04-13\u003c/h2\u003e\n\u003ch2\u003ev2.13.0 (2026-04-13)\u003c/h2\u003e\n\u003cp\u003eThe highlights of the v2.13 release are available in the \u003ca href=\"https://pydantic.dev/articles/pydantic-v2-13-release\"\u003eblog post\u003c/a\u003e.\nSeveral minor changes (considered non-breaking changes according to our \u003ca href=\"https://pydantic.dev/docs/validation/2.13/get-started/version-policy/#pydantic-v2\"\u003eversioning policy\u003c/a\u003e) are also included in this release. Make sure to look into them before upgrading.\u003c/p\u003e\n\u003cp\u003eThis release contains the updated \u003ccode\u003epydantic.v1\u003c/code\u003e namespace, matching version 1.10.26 which includes support for Python 3.14.\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eSee the beta releases for all changes sinces 2.12.\u003c/p\u003e\n\u003ch4\u003ePackaging\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd zizmor for GitHub Actions workflow linting by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13039\"\u003e#13039\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate jiter to v0.14.0 to fix a segmentation fault on musl Linux by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13064\"\u003e#13064\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAllow default factories of private attributes to take validated model data by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13013\"\u003e#13013\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eChanges\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eWarn when serializing fixed length tuples with too few items by \u003ca href=\"https://github.com/arvindsaripalli\"\u003e\u003ccode\u003e@​arvindsaripalli\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13016\"\u003e#13016\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eChange type of \u003ccode\u003eAny\u003c/code\u003e when synthesizing \u003ccode\u003e_build_sources\u003c/code\u003e for  \u003ccode\u003eBaseSettings.__init__()\u003c/code\u003e signature in the mypy plugin by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13049\"\u003e#13049\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix model equality when using runtime \u003ccode\u003eextra\u003c/code\u003e configuration by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13062\"\u003e#13062\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNew Contributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arvindsaripalli\"\u003e\u003ccode\u003e@​arvindsaripalli\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13016\"\u003e#13016\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.12.0...v2.13.0\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.12.0...v2.13.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.0b3 2026-03-31\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/blob/v2.13.2/HISTORY.md\"\u003epydantic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.13.2 (2026-04-17)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.2\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidationInfo.field_name\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\u003e 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/13084\"\u003e#13084\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.13.1 (2026-04-15)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.1\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidationInfo.data\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\u003e by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13079\"\u003e#13079\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.13.0 (2026-04-13)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.0\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThe highlights of the v2.13 release are available in the \u003ca href=\"https://pydantic.dev/articles/pydantic-v2-13-release\"\u003eblog post\u003c/a\u003e.\nSeveral minor changes (considered non-breaking changes according to our \u003ca href=\"https://pydantic.dev/docs/validation/2.13/get-started/version-policy/#pydantic-v2\"\u003eversioning policy\u003c/a\u003e)\nare also included in this release. Make sure to look into them before upgrading.\u003c/p\u003e\n\u003cp\u003eThis release contains the updated \u003ccode\u003epydantic.v1\u003c/code\u003e namespace, matching version 1.10.26 which includes support for Python 3.14.\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eSee the beta releases for all changes sinces 2.12.\u003c/p\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAllow default factories of private attributes to take validated model data by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13013\"\u003e#13013\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eChanges\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eWarn when serializing fixed length tuples with too few items by \u003ca href=\"https://github.com/arvindsaripalli\"\u003e\u003ccode\u003e@​arvindsaripalli\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13016\"\u003e#13016\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eChange type of \u003ccode\u003eAny\u003c/code\u003e when synthesizing \u003ccode\u003e_build_sources\u003c/code\u003e for  \u003ccode\u003eBaseSettings.__init__()\u003c/code\u003e signature in the mypy plugin by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13049\"\u003e#13049\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix model equality when using runtime \u003ccode\u003eextra\u003c/code\u003e configuration by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13062\"\u003e#13062\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003ePackaging\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd zizmor for GitHub Actions workflow linting by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13039\"\u003e#13039\u003c/a\u003e\u003c/li\u003e\n\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/pydantic/pydantic/commit/ca3ddd1149bd3b14273922a29da174804496a055\"\u003e\u003ccode\u003eca3ddd1\u003c/code\u003e\u003c/a\u003e Prepare release v2.13.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/000e823a3ab7545b0c6064fde34effdcd02044ab\"\u003e\u003ccode\u003e000e823\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eValidationInfo.field_name\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/d45d8be3ffb6dfc6d0c64da6980140c91ff841fb\"\u003e\u003ccode\u003ed45d8be\u003c/code\u003e\u003c/a\u003e Prepare release 2.13.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/54aca609ce58e73dfe1c681d93432fbe3a4621da\"\u003e\u003ccode\u003e54aca60\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eValidationInfo.data\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/46bf4fa648af3a1fbf4603a37f210e9d9c618357\"\u003e\u003ccode\u003e46bf4fa\u003c/code\u003e\u003c/a\u003e Fix Pydantic release workflow (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13067\"\u003e#13067\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/1b359edab09c623464d23c6fd2503ae5ff276d43\"\u003e\u003ccode\u003e1b359ed\u003c/code\u003e\u003c/a\u003e Prepare release v2.13.0 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13065\"\u003e#13065\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/b1bf19445d8ac144a7a0e82674d2d87eebab6c18\"\u003e\u003ccode\u003eb1bf194\u003c/code\u003e\u003c/a\u003e Fix model equality when using runtime \u003ccode\u003eextra\u003c/code\u003e configuration (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13062\"\u003e#13062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/17a35e371bdff348c0690651d324c91fc7c9ff9e\"\u003e\u003ccode\u003e17a35e3\u003c/code\u003e\u003c/a\u003e Update jiter to v0.14.0 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13064\"\u003e#13064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/feea402b23fa23774669908c4e08a61ba1e4238e\"\u003e\u003ccode\u003efeea402\u003c/code\u003e\u003c/a\u003e Use \u003ccode\u003esimulation\u003c/code\u003e mode in Codspeed CI (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13063\"\u003e#13063\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/671c9b0d4d3f9b2f1b95ca32ac85cb69e824e0bc\"\u003e\u003ccode\u003e671c9b0\u003c/code\u003e\u003c/a\u003e Add basic benchmarks for model equality (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13061\"\u003e#13061\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.12.5...v2.13.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.1.1 to 8.2.3\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 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/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.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\u003c/blockquote\u003e\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/634ca6e786885ffebe211fc73e0e8a04e030f3c3\"\u003e\u003ccode\u003e634ca6e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6473\"\u003e#6473\u003c/a\u003e from Textualize/bump823\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/ccf1978c1a715ac7d33149dcfc344765dc250037\"\u003e\u003ccode\u003eccf1978\u003c/code\u003e\u003c/a\u003e bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/5ddfbdc6bf7966b99644f2da0251c94c83a50528\"\u003e\u003ccode\u003e5ddfbdc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6462\"\u003e#6462\u003c/a\u003e from IEBqp/guide-patch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/23bf10e77bd18fa91ed2c42e3a0693b0702e097d\"\u003e\u003ccode\u003e23bf10e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6470\"\u003e#6470\u003c/a\u003e from Textualize/defensive-selection\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/32f1d23330efd7a47891a5ce90edd7677664fbc1\"\u003e\u003ccode\u003e32f1d23\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6471\"\u003e#6471\u003c/a\u003e from Textualize/resize-lag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/2bbfbb7741470e8cf95c37476047b89787afaec5\"\u003e\u003ccode\u003e2bbfbb7\u003c/code\u003e\u003c/a\u003e force initial resize\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/4b6579038979a90d1f4067d8e396f0af13e80f75\"\u003e\u003ccode\u003e4b65790\u003c/code\u003e\u003c/a\u003e ignore no size changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/63fe6f0646e0f1401b990fb64f292d9646d01014\"\u003e\u003ccode\u003e63fe6f0\u003c/code\u003e\u003c/a\u003e check resize timer on idle\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/ec5b43ae1cc2c49361f0d791a53dd047bce08369\"\u003e\u003ccode\u003eec5b43a\u003c/code\u003e\u003c/a\u003e also resize on idle\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/12a52d9e24f1d47eb680e814527fac6ee004e573\"\u003e\u003ccode\u003e12a52d9\u003c/code\u003e\u003c/a\u003e check screen error\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/textual/compare/v8.1.1...v8.2.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-api` from 1.40.0 to 1.41.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-api's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.41.0/0.62b0 (2026-04-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ehost\u003c/code\u003e resource detector support to declarative file configuration via \u003ccode\u003edetection_development.detectors[].host\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5002\"\u003e#5002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003econtainer\u003c/code\u003e resource detector support to declarative file configuration via \u003ccode\u003edetection_development.detectors[].container\u003c/code\u003e, using entry point loading of the \u003ccode\u003eopentelemetry-resource-detector-containerid\u003c/code\u003e contrib package\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5004\"\u003e#5004\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_tracer_provider\u003c/code\u003e/\u003ccode\u003econfigure_tracer_provider\u003c/code\u003e to declarative file configuration, enabling TracerProvider instantiation from config files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4985\"\u003e#4985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnabled the flake8-tidy-import plugins rules for the ruff linter. These rules throw warnings for relative imports in the modules.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5019\"\u003e#5019\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Fix \u003ccode\u003eAttributeError\u003c/code\u003e in \u003ccode\u003eExplicitBucketHistogramAggregation\u003c/code\u003e when applied to non-Histogram instruments without explicit boundaries\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5034\"\u003e#5034\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eBatchLogRecordProcessor\u003c/code\u003e default \u003ccode\u003eschedule_delay_millis\u003c/code\u003e from 5000ms to 1000ms to comply with the OTel specification. Note: logs may be exported 5x more frequently by default (e.g. for users who don't explicitly set the \u003ccode\u003eOTEL_BLRP_SCHEDULE_DELAY\u003c/code\u003e env var).\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4998\"\u003e#4998\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003eprocess\u003c/code\u003e resource detector support to declarative file configuration via \u003ccode\u003edetection_development.detectors[].process\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5001\"\u003e#5001\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add shared \u003ccode\u003e_parse_headers\u003c/code\u003e helper for declarative config OTLP exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5021\"\u003e#5021\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e: Replace a broad exception in attribute cleaning tests to satisfy pylint in the \u003ccode\u003elint-opentelemetry-api\u003c/code\u003e CI job\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_meter_provider\u003c/code\u003e/\u003ccode\u003econfigure_meter_provider\u003c/code\u003e to declarative file configuration, enabling MeterProvider instantiation from config files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4987\"\u003e#4987\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_resource\u003c/code\u003e and \u003ccode\u003ecreate_propagator\u003c/code\u003e/\u003ccode\u003econfigure_propagator\u003c/code\u003e to declarative file configuration, enabling Resource and propagator instantiation from config files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4979\"\u003e#4979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Map Python \u003ccode\u003eCRITICAL\u003c/code\u003e log level to OTel \u003ccode\u003eFATAL\u003c/code\u003e severity text per the specification\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4984\"\u003e#4984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add file configuration support with YAML/JSON loading, environment variable substitution, and schema validation against the vendored OTel config JSON schema\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4898\"\u003e#4898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix intermittent CI failures in \u003ccode\u003egetting-started\u003c/code\u003e and \u003ccode\u003etracecontext\u003c/code\u003e jobs caused by GitHub git CDN SHA propagation lag by installing contrib packages from the already-checked-out local copy instead of a second git clone\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4958\"\u003e#4958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: fix type annotations on \u003ccode\u003eMetricReader\u003c/code\u003e and related types\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4938/\"\u003e#4938\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: implement log creation metric\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4935\"\u003e#4935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: implement metric reader metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4970\"\u003e#4970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: implement processor metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5012\"\u003e#5012\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: upgrade vendored OTel configuration schema from v1.0.0-rc.3 to v1.0.0\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4965\"\u003e#4965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eimprove check-links ci job\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4978\"\u003e#4978\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolve some Pyright type errors in Span/ReadableSpan and utility stubs\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4973\"\u003e#4973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-prometheus\u003c/code\u003e: Fix metric name prefix\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4895\"\u003e#4895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add deepcopy support for \u003ccode\u003eBoundedAttributes\u003c/code\u003e and \u003ccode\u003eBoundedList\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4934\"\u003e#4934\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-proto-json\u003c/code\u003e, \u003ccode\u003eopentelemetry-codegen-json\u003c/code\u003e: Implement custom protoc plugin to generate OTLP JSON class definitions\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4910\"\u003e#4910\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/open-telemetry/opentelemetry-python/commit/1a178fcc5c689516849ced80fb2533fe7db7a80f\"\u003e\u003ccode\u003e1a178fc\u003c/code\u003e\u003c/a\u003e [release/v1.41.x-0.62bx] Prepare release 1.41.0/0.62b0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5064\"\u003e#5064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/37dea4bbdb1a3c83b96fc22c2f68a848b4989fb5\"\u003e\u003ccode\u003e37dea4b\u003c/code\u003e\u003c/a\u003e feat: add experimental logger configurator (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4980\"\u003e#4980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/7c860ca40eb87c15fb608ce3598cfec4a5da2d1c\"\u003e\u003ccode\u003e7c860ca\u003c/code\u003e\u003c/a\u003e misc: update version for codegen-json and proto-json packages (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5061\"\u003e#5061\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/b3d98b392fd1fa1a501e11ce8e126f2003edb895\"\u003e\u003ccode\u003eb3d98b3\u003c/code\u003e\u003c/a\u003e [chore]: update readme (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5060\"\u003e#5060\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/dbbd1bca26f12d0cefff721a857d08a82476f434\"\u003e\u003ccode\u003edbbd1bc\u003c/code\u003e\u003c/a\u003e feat(config): Add MeterProvider support for declarative config (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4987\"\u003e#4987\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/6faa58c58782313283a87a7c61fbbdd9cd2054d6\"\u003e\u003ccode\u003e6faa58c\u003c/code\u003e\u003c/a\u003e feat(config): add host resource detector support for declarative config (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5002\"\u003e#5002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/c0cbfbd62fa59e2c41cd2c88371dc6478fa95716\"\u003e\u003ccode\u003ec0cbfbd\u003c/code\u003e\u003c/a\u003e feat(config): wire container resource detector via entry point loading (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5004\"\u003e#5004\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/f764e45f52952f5a0287e5a6c094cbfd56accd2b\"\u003e\u003ccode\u003ef764e45\u003c/code\u003e\u003c/a\u003e feat(config): Add TracerProvider support for declarative config (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4985\"\u003e#4985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/e3017323f147fd14a64fa8bb070271026182208a\"\u003e\u003ccode\u003ee301732\u003c/code\u003e\u003c/a\u003e Add MikeGoldsmith to approvers (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/8783a5831d54d9224edd930e5106225fc0f97c1b\"\u003e\u003ccode\u003e8783a58\u003c/code\u003e\u003c/a\u003e introduce \u003ccode\u003ealls-green\u003c/code\u003e action for required checks (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4988\"\u003e#4988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/compare/v1.40.0...v1.41.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-sdk` from 1.40.0 to 1.41.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-sdk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.41.0/0.62b0 (2026-04-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ehost\u003c/code\u003e resource detector support to declarative file configuration via \u003ccode\u003edetection_development.detectors[].host\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5002\"\u003e#5002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003econtainer\u003c/code\u003e resource detector support to declarative file configuration via \u003ccode\u003edetection_development.detectors[].container\u003c/code\u003e, using entry point loading of the \u003ccode\u003eopentelemetry-resource-detector-containerid\u003c/code\u003e contrib package\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5004\"\u003e#5004\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_tracer_provider\u003c/code\u003e/\u003ccode\u003econfigure_tracer_provider\u003c/code\u003e to declarative file configuration, enabling TracerProvider instantiation from config files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4985\"\u003e#4985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnabled the flake8-tidy-import plugins rules for the ruff linter. These rules throw warnings for relative imports in the modules.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5019\"\u003e#5019\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Fix \u003ccode\u003eAttributeError\u003c/code\u003e in \u003ccode\u003eExplicitBucketHistogramAggregation\u003c/code\u003e when applied to non-Histogram instruments without explicit boundaries\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5034\"\u003e#5034\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eBatchLogRecordProcessor\u003c/code\u003e default \u003ccode\u003eschedule_delay_millis\u003c/code\u003e from 5000ms to 1000ms to comply with the OTel specification. Note: logs may be exported 5x more frequently by default (e.g. for users who don't explicitly set the \u003ccode\u003eOTEL_BLRP_SCHEDULE_DELAY\u003c/code\u003e env var).\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4998\"\u003e#4998\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003eprocess\u003c/code\u003e resource detector support to declarative file configuration via \u003ccode\u003edetection_development.detectors[].process\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5001\"\u003e#5001\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add shared \u003ccode\u003e_parse_headers\u003c/code\u003e helper for declarative config OTLP exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5021\"\u003e#5021\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e: Replace a broad exception in attribute cleaning tests to satisfy pylint in the \u003ccode\u003elint-opentelemetry-api\u003c/code\u003e CI job\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_meter_provider\u003c/code\u003e/\u003ccode\u003econfigure_meter_provider\u003c/code\u003e to declarative file configuration, enabling MeterProvider instantiation from config files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4987\"\u003e#4987\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_resource\u003c/code\u003e and \u003ccode\u003ecreate_propagator\u003c/code\u003e/\u003ccode\u003econfigure_propagator\u003c/code\u003e to declarative file configuration, enabling Resource and propagator instantiation from config files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4979\"\u003e#4979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Map Python \u003ccode\u003eCRITICAL\u003c/code\u003e log level to OTel \u003ccode\u003eFATAL\u003c/code\u003e severity text per the specification\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4984\"\u003e#4984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add file configuration support with YAML/JSON loading, environment variable substitution, and schema validation against the vendored OTel config JSON schema\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4898\"\u003e#4898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix intermittent CI failures in \u003ccode\u003egetting-started\u003c/code\u003e and \u003ccode\u003etracecontext\u003c/code\u003e jobs caused by GitHub git CDN SHA propagation lag by installing contrib packages from the already-checked-out local copy instead of a second git clone\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4958\"\u003e#4958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: fix type annotations on \u003ccode\u003eMetricReader\u003c/code\u003e and related types\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4938/\"\u003e#4938\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: implement log creation metric\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4935\"\u003e#4935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: implement metric reader metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4970\"\u003e#4970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: implement processor metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5012\"\u003e#5012\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: upgrade vendored OTel configuration schema from v1.0.0-rc.3 to v1.0.0\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4965\"\u003e#4965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eimprove check-links ci job\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4978\"\u003e#4978\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolve some Pyright type errors in Span/ReadableSpan and utility stubs\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4973\"\u003e#4973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-prometheus\u003c/code\u003e: Fix metric name prefix\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4895\"\u003e#4895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add deepcopy support for \u003ccode\u003eBoundedAttributes\u003c/code\u003e and \u003ccode\u003eBoundedList\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4934\"\u003e#4934\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-proto-json\u003c/code\u003e, \u003ccode\u003eopentelemetry-codegen-json\u003c/code\u003e: Implement custom protoc plugin to generate OTLP JSON class definitions\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4910\"\u003e#4910\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/open-telemetry/opentelemetry-python/commit/1a178fcc5c689516849ced80fb2533fe7db7a80f\"\u003e\u003ccode\u003e1a178fc\u003c/code\u003e\u003c/a\u003e [release/v1.41.x-0.62bx] Prepare release 1.41.0/0.62b0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5064\"\u003e#5064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/37dea4bbdb1a3c83b96fc22c2f68a848b4989fb5\"\u003e\u003ccode\u003e37dea4b\u003c/code\u003e\u003c/a\u003e feat: add experimental logger configurator (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4980\"\u003e#4980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/7c860ca40eb87c15fb608ce3598cfec4a5da2d1c\"\u003e\u003ccode\u003e7c860ca\u003c/code\u003e\u003c/a\u003e misc: update version for codegen-json and proto-json packages (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5061\"\u003e#5061\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/b3d98b392fd1fa1a501e11ce8e126f2003edb895\"\u003e\u003ccode\u003eb3d98b3\u003c/code\u003e\u003c/a\u003e [chore]: update readme (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5060\"\u003e#5060\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/dbbd1bca26f12d0cefff721a857d08a82476f434\"\u003e\u003ccode\u003edbbd1bc\u003c/code\u003e\u003c/a\u003e feat(config): Add MeterProvider support for declarative config (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4987\"\u003e#4987\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/6faa58c58782313283a87a7c61fbbdd9cd2054d6\"\u003e\u003ccode\u003e6faa58c\u003c/code\u003e\u003c/a\u003e feat(config): add host resource detector support for declarative config (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5002\"\u003e#5002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/c0cbfbd62fa59e2c41cd2c88371dc6478fa95716\"\u003e\u003ccode\u003ec0cbfbd\u003c/code\u003e\u003c/a\u003e feat(config): wire container resource detector via entry point loading (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5004\"\u003e#5004\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/f764e45f52952f5a0287e5a6c094cbfd56accd2b\"\u003e\u003ccode\u003ef764e45\u003c/code\u003e\u003c/a\u003e feat(config): Add TracerProvider support for declarative config (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4985\"\u003e#4985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/e3017323f147fd14a64fa8bb070271026182208a\"\u003e\u003ccode\u003ee301732\u003c/code\u003e\u003c/a\u003e Add MikeGoldsmith to approvers (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/8783a5831d54d9224edd930e5106225fc0f97c1b\"\u003e\u003ccode\u003e8783a58\u003c/code\u003e\u003c/a\u003e introduce \u003ccode\u003ealls-green\u003c/code\u003e action for required checks (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4988\"\u003e#4988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/compare/v1.40.0...v1.41.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-exporter-otlp-proto-grpc` from 1.40.0 to 1.41.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-exporter-otlp-proto-grpc's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.41.0/0.62b0 (2026-04-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ehost\u003c/code\u003e resource detector support to declarative file configuration via \u003ccode\u003edetection_development.detectors[].host\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5002\"\u003e#5002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003econtainer\u003c/code\u003e resource detector support to declarative file configuration via \u003ccode\u003edetection_development.detectors[].container\u003c/code\u003e, using entry point loading of the \u003ccode\u003eopentelemetry-resource-detector-containerid\u003c/code\u003e contrib package\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5004\"\u003e#5004\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_tracer_provider\u003c/code\u003e/\u003ccode\u003econfigure_tracer_provider\u003c/code\u003e to declarative file configuration, enabling TracerProvider instantiation from config files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4985\"\u003e#4985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnabled the flake8-tidy-import plugins rules for the ruff linter. These rules throw warnings for relative imports in the modules.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5019\"\u003e#5019\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Fix \u003ccode\u003eAttributeError\u003c/code\u003e in \u003ccode\u003eExplicitBucketHistogramAggregation\u003c/code\u003e when applied to non-Histogram instruments without explicit boundaries\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5034\"\u003e#5034\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eBatchLogRecordProcessor\u003c/code\u003e default \u003ccode\u003eschedule_delay_millis\u003c/code\u003e from 5000ms to 1000ms to comply with the OTel specification. Note: logs may be exported 5x more frequently by default (e.g. for users who don't explicitly set the \u003ccode\u003eOTEL_BLRP_SCHEDULE_DELAY\u003c/code\u003e env var).\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4998\"\u003e#4998\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003eprocess\u003c/code\u003e resource detector support to declarative file configuration via \u003ccode\u003edetection_development.detectors[].process\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5001\"\u003e#5001\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add shared \u003ccode\u003e_parse_headers\u003c/code\u003e helper for declarative config OTLP exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5021\"\u003e#5021\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e: Replace a broad exception in attribute cleaning tests to satisfy pylint in the \u003ccode\u003elint-opentelemetry-api\u003c/code\u003e CI job\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_meter_provider\u003c/code\u003e/\u003ccode\u003econfigure_meter_provider\u003c/code\u003e to declarative file configuration, enabling MeterProvider instantiation from config files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4987\"\u003e#4987\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_resource\u003c/code\u003e and \u003ccode\u003ecreate_propagator\u003c/code\u003e/\u003ccode\u003econfigure_propagator\u003c/code\u003e to declarative file configuration, enabling Resource and propagator instantiation from config files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4979\"\u003e#4979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Map Python \u003ccode\u003eCRITICAL\u003c/code\u003e log level to OTel \u003ccode\u003eFATAL\u003c/code\u003e severity text per the specification\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4984\"\u003e#4984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add file configuration support with YAML/JSON loading, environment variable substitution, and schema validation against the vendored OTel config JSON schema\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4898\"\u003e#4898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix intermittent CI failures in \u003ccode\u003egetting-started\u003c/code\u003e and \u003ccode\u003etracecontext\u003c/code\u003e jobs caused by GitHub git CDN SHA propagation lag by installing contrib packages from the already-checked-out local copy instead of a second git clone\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4958\"\u003e#4958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: fix type annotations on \u003ccode\u003eMetricReader\u003c/code\u003e and related types\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4938/\"\u003e#4938\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: implement log creation metric\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4935\"\u003e#4935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: implement metric reader metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4970\"\u003e#4970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: implement processor metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5012\"\u003e#5012\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: upgrade vendored OTel configuration schema from v1.0.0-rc.3 to v1.0.0\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4965\"\u003e#4965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eimprove check-links ci job\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4978\"\u003e#4978\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolve some Pyright type errors in Span/ReadableSpan and utility stubs\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4973\"\u003e#4973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-prometheus\u003c/code\u003e: Fix metric name prefix\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4895\"\u003e#4895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add deepcopy support for \u003ccode\u003eBoundedAttributes\u003c/code\u003e and \u003ccode\u003eBoundedList\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4934\"\u003e#4934\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-proto-json\u003c/code\u003e, \u003ccode\u003eopentelemetry-codegen-json\u003c/code\u003e: Implement custom protoc plugin to generate OTLP JSON class definitions\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4910\"\u003e#4910\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/open-telemetry/opentelemetry-python/commit/1a178fcc5c689516849ced80fb2533fe7db7a80f\"\u003e\u003ccode\u003e1a178fc\u003c/code\u003e\u003c/a\u003e [release/v1.41.x-0.62bx] Prepare release 1.41.0/0.62b0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5064\"\u003e#5064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/37dea4bbdb1a3c83b96fc22c2f68a848b4989fb5\"\u003e\u003ccode\u003e37dea4b\u003c/code\u003e\u003c/a\u003e feat: add experimental logger configurator (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4980\"\u003e#4980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/7c860ca40eb87c15fb608ce3598cfec4a5da2d1c\"\u003e\u003ccode\u003e7c860ca\u003c/code\u003e\u003c/a\u003e misc: update version for codegen-json and proto-json packages (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5061\"\u003e#5061\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/b3d98b392fd1fa1a501e11ce8e126f2003edb895\"\u003e\u003ccode\u003eb3d98b3\u003c/code\u003e\u003c/a\u003e [chore]: update readme (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5060\"\u003e#5060\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/dbbd1bca26f12d0cefff721a857d08a82476f434\"\u003e\u003ccode\u003edbbd1bc\u003c/code\u003e\u003c/a\u003e feat(config): Add MeterProvider support for declarative config (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4987\"\u003e#4987\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/6faa58c58782313283a87a7c61fbbdd9cd2054d6\"\u003e\u003ccode\u003e6faa58c\u003c/code\u003e\u003c/a\u003e feat(config): add host resource detector support for declarative config (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5002\"\u003e#5002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/c0cbfbd62fa59e2c41cd2c88371dc6478fa95716\"\u003e\u003ccode\u003ec0cbfbd\u003c/code\u003e\u003c/a\u003e feat(config): wire container resource detector via entry point loading (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5004\"\u003e#5004\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/f764e45f52952f5a0287e5a6c094cbfd56accd2b\"\u003e\u003ccode\u003ef764e45\u003c/code\u003e\u003c/a\u003e feat(config): Add TracerProvider support for declarative config (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4985\"\u003e#4985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/e3017323f147fd14a64fa8bb070271026182208a\"\u003e\u003ccode\u003ee301732\u003c/code\u003e\u003c/a\u003e Add MikeGoldsmith to approvers (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/8783a5831d54d9224edd930e5106225fc0f97c1b\"\u003e\u003ccode\u003e8783a58\u003c/code\u003e\u003c/a\u003e introduce \u003ccode\u003ealls-green\u003c/code\u003e action for required checks (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4988\"\u003e#4988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/compare/v1.40.0...v1.41.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-exporter-otlp-proto-http` from 1.40.0 to 1.41.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-exporter-otlp-proto-http's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.41.0/0.62b0 (2026-04-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ehost\u003c/code\u003e resource detector support to declarative file configuration via \u003ccode\u003edetection_development.detectors[].host\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5002\"\u003e#5002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003econtainer\u003c/code\u003e resource detector support to declarative file configuration via \u003ccode\u003edetection_development.detectors[].container\u003c/code\u003e, using entry point loading of the \u003ccode\u003eopentelemetry-resource-detector-containerid\u003c/code\u003e contrib package\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5004\"\u003e#5004\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_tracer_provider\u003c/code\u003e/\u003ccode\u003econfigure_tracer_provider\u003c/code\u003e to declarative file configuration, enabling TracerProvider instantiation from config files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4985\"\u003e#4985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnabled the flake8-tidy-import plugins rules for the ruff linter. These rules throw warnings for relative imports in the modules.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5019\"\u003e#5019\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Fix \u003ccode\u003eAttributeError\u003c/code\u003e in \u003ccode\u003eExplicitBucketHistogramAggregation\u003c/code\u003e when applied to non-Histogram instruments without explicit boundaries\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5034\"\u003e#5034\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eBatchLogRecordProcessor\u003c/code\u003e default \u003ccode\u003eschedule_delay_millis\u003c/code\u003e from 5000ms to 1000ms to comply with the OTel specification. Note: logs may be exported 5x more frequently by default (e.g. for users who don't explicitly set the \u003ccode\u003eOTEL_BLRP_SCHEDULE_DELAY\u003c/code\u003e env var).\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4998\"\u003e#4998\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003eprocess\u003c/code\u003e resource detector support to declarative file configuration via \u003ccode\u003edetection_development.detectors[].process\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5001\"\u003e#5001\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add shared \u003ccode\u003e_parse_headers\u003c/code\u003e helper for declarative config OTLP exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5021\"\u003e#5021\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e: Replace a broad exception in attribute cleaning tests to satisfy pylint in the \u003ccode\u003elint-opentelemetry-api\u003c/code\u003e CI job\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_meter_provider\u003c/code\u003e/\u003ccode\u003econfigure_meter_provider\u003c/code\u003e to declarative file configuration, enabling MeterProvider instantiation from config files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4987\"\u003e#4987\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_resource\u003c/code\u003e and \u003ccode\u003ecreate_propagator\u003c/code\u003e/\u003ccode\u003econfigure_propagator\u003c/code\u003e to declarative file configuration, enabling Resource and propagator instantiation from config files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4979\"\u003e#4979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Map Python \u003ccode\u003eCRITICAL\u003c/code\u003e log level to OTel \u003ccode\u003eFATAL\u003c/code\u003e severity text per the specification\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4984\"\u003e#4984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add file configuration support with YAML/JSON loading, environment variable substitution, and schema validation against the vendored OTel config JSON schema\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4898\"\u003e#4898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix intermittent CI failures in \u003ccode\u003egetting-started\u003c/code\u003e and \u003ccode\u003etracecontext\u003c/code\u003e jobs caused by GitHub git CDN SHA propagation lag by installing contrib packages from the already-checked-out local copy instead of a second git clone\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4958\"\u003e#4958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: fix type annotations on \u003ccode\u003eMetricReader\u003c/code\u003e and related types\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4938/\"\u003e#4938\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: implement log creation metric\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4935\"\u003e#4935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: implement metric reader metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4970\"\u003e#4970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: implement processor metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5012\"\u003e#5012\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: upgrade vendored OTel configuration schema from v1.0.0-rc.3 to v1.0.0\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4965\"\u003e#4965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eimprove check-links ci job\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4978\"\u003e#4978\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolve some Pyright type errors in Span/ReadableSpan and utility stubs\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4973\"\u003e#4973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-prometheus\u003c/code\u003e: Fix metric name prefix\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4895\"\u003e#4895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add deepcopy support for \u003ccode\u003eBoundedAttributes\u003c/code\u003e and \u003ccode\u003eBoundedList\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4934\"\u003e#4934\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-proto-json\u003c/code\u003e, \u003ccode\u003eopentelemetry-codegen-json\u003c/code\u003e: Implement custom protoc plugin to generate OTLP JSON class definitions\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4910\"\u003e#4910\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/open-telemetry/opentelemetry-python/commit/1a178fcc5c689516849ced80fb2533fe7db7a80f\"\u003e\u003ccode\u003e1a178fc\u003c/code\u003e\u003c/a\u003e [release/v1.41.x-0.62bx] Prepare release 1.41.0/0.62b0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5064\"\u003e#5064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/37dea4bbdb1a3c83b96fc22c2f68a848b4989fb5\"\u003e\u003ccode\u003e37dea4b\u003c/code\u003e\u003c/a\u003e feat: add experimental logger configurator (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4980\"\u003e#4980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/7c860ca40eb87c15fb608ce3598cfec4a5da2d1c\"\u003e\u003ccode\u003e7c860ca\u003c/code\u003e\u003c/a\u003e misc: update version for codegen-json and proto-json packages (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5061\"\u003e#5061\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/b3d98b392fd1fa1a501e11ce8e126f2003edb895\"\u003e\u003ccode\u003eb3d98b3\u003c/code\u003e\u003c/a\u003e [chore]: update readme (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5060\"\u003e#5060\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/dbbd1bca26f12d0cefff721a857d08a82476f434\"\u003e\u003ccode\u003edbbd1bc\u003c/code\u003e\u003c/a\u003e feat(config): Add MeterProvider support for declarative config (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4987\"\u003e#4987\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/6faa58c58782313283a87a7c61fbbdd9cd2054d6\"\u003e\u003ccode\u003e6faa58c\u003c/code\u003e\u003c/a\u003e feat(config): add host resource detector support for declarative config (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5002\"\u003e#5002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/c0cbfbd62fa59e2c41cd2c88371dc6478fa95716\"\u003e\u003ccode\u003ec0cbfbd\u003c/code\u003e\u003c/a\u003e feat(config): wire container resource detector via entry point loading (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5004\"\u003e#5004\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/f764e45f52952f5a0287e5a6c094cbfd56accd2b\"\u003e\u003ccode\u003ef764e45\u003c/code\u003e\u003c/a\u003e feat(config): Add TracerProvider support for declarative config (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4985\"\u003e#4985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/e3017323f147fd14a64fa8bb070271026182208a\"\u003e\u003ccode\u003ee301732\u003c/code\u003e\u003c/a\u003e Add MikeGoldsmith to approvers (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/8783a5831d54d9224edd930e5106225fc0f97c1b\"\u003e\u003ccode\u003e8783a58\u003c/code\u003e\u003c/a\u003e introduce \u003ccode\u003ealls-green\u003c/code\u003e action for required checks (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4988\"\u003e#4988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/compare/v1.40.0...v1.41.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `commitizen` from 4.13.9 to 4.13.10\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commitizen-tools/commitizen/commit/b5d5040f7980a5d2bce320d2a1ea1e04ac54b00c\"\u003e\u003ccode\u003eb5d5040\u003c/code\u003e\u003c/a\u003e bump: version 4.13.9 → 4.13.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commitizen-tools/commitizen/commit/4879df32b6aa7dc09dd19dffc3f2a68d7ea7666e\"\u003e\u003ccode\u003e4879df3\u003c/code\u003e\u003c/a\u003e ci(bump): fix email generation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commitizen-tools/commitizen/commit/70c0c1f4cf055eb0a28637cc6a260353c531e496\"\u003e\u003ccode\u003e70c0c1f\u003c/code\u003e\u003c/a\u003e docs(cli/screenshots): update CLI screenshots\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commitizen-tools/commitizen/commit/8eff9819bdb74b429cac7d70d44726bef6077600\"\u003e\u003ccode\u003e8eff981\u003c/code\u003e\u003c/a\u003e ci: fix email for commitizenbot\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commitizen-tools/commitizen/commit/61926a771ba9d560a8d3a9e994a355b53b544dee\"\u003e\u003ccode\u003e61926a7\u003c/code\u003e\u003c/a\u003e docs(cli/screenshots): update CLI screenshots\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commitizen-tools/commitizen/commit/042a089ab11db863d06021548909d1eb8c845250\"\u003e\u003ccode\u003e042a089\u003c/code\u003e\u003c/a\u003e fix(ci): use commitizen bot to push tags and commits\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commitizen-tools/commitizen/commit/a06ce0cb656f5b053fb1bc3bcafcde85ee4241e1\"\u003e\u003ccode\u003ea06ce0c\u003c/code\u003e\u003c/a\u003e docs(cli/screenshots): update CLI screenshots\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commitizen-tools/commitizen/commit/97fb356d59a31a55b31eefb5d92cc1028bee25b8\"\u003e\u003ccode\u003e97fb356\u003c/code\u003e\u003c/a\u003e ci: use setup-cz\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commitizen-tools/commitizen/commit/9abbdbda0c3edb42062e9f66467e1c4b85ab5591\"\u003e\u003ccode\u003e9abbdbd\u003c/code\u003e\u003c/a\u003e fix(init): set semver2 as default if not python\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/commitizen-tools/commitizen/commit/33b69c33e44ed52eb55f1e5fd488ec375052d733\"\u003e\u003ccode\u003e33b69c3\u003c/code\u003e\u003c/a\u003e docs: improve readability\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/commitizen-tools/commitizen/compare/v4.13.9...v4.13.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `hypothesis` from 6.151.9 to 6.152.1\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.1\u003c/h2\u003e\n\u003cp\u003eImprove some internal type hints.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e\u003ca href=\"https://hypothesis.readthedocs.io/en/latest/changelog.html#v6-152-1\"\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.0\u003c/h2\u003e\n\u003cp\u003eHypothesis generally recommends that the \u0026quot;.hypothesis\u0026quot; directory not\nbe checked into version control. As a result, Hypothesis now\nautomatically creates a \u0026quot;.gitignore\u0026quot; with \u0026quot;*\u0026quot; in the \u0026quot;.hypothesis\u0026quot;\ndirectory, which excludes it from being tracked by git.\u003c/p\u003e\n\u003cp\u003eIf you do want to check \u0026quot;.hypothesis\u0026quot; into git, you can remove the\n\u0026quot;.gitignore\u0026quot; file. Hypothesis will not re-create it unless the entire\n\u0026quot;.hypothesis\u0026quot; directory is removed.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e\u003ca href=\"https://hypothesis.readthedocs.io/en/latest/changelog.html#v6-152-0\"\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.151.14\u003c/h2\u003e\n\u003cp\u003eThis patch fixes our \u0026quot;from_regex()\u0026quot; type annotations so that\n\u0026quot;from_regex(..., alphabet=None)\u0026quot; is accepted.\u003c/p\u003e\n\u003cp\u003eThis patch also adds unicode line breaks and thai combining vowels to\nour list of constant strings to upweight at runtime.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e\u003ca href=\"https://hypothesis.readthedocs.io/en/latest/changelog.html#v6-151-14\"\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.151.13\u003c/h2\u003e\n\u003cp\u003eThis patch removes some newly unnecessary \u0026quot;# type: ignore\u0026quot; comments.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e\u003ca href=\"https://hypothesis.readthedocs.io/en/latest/changelog.html#v6-151-13\"\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.151.12\u003c/h2\u003e\n\u003cp\u003eThis release improves \u0026quot;Phase.explain\u0026quot; output by excluding pytest-\nrelated syrupy files as a possible source of variation.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e\u003ca href=\"https://hypothesis.readthedocs.io/en/latest/changelog.html#v6-151-12\"\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.151.11\u003c/h2\u003e\n\u003cp\u003eThis patch improves printing of primitive values generated from\ncomplex strategies, particularly for \u0026quot;from_regex()\u0026quot;. Previously, these\nwould often be printed as function calls desctribing how to construct\nthem. Now they will always be printed as a literal value.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e\u003ca href=\"https://hypothesis.readthedocs.io/en/latest/changelog.html#v6-151-11\"\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.151.10\u003c/h2\u003e\n\u003cp\u003eWhen shrinking takes more than five minutes, Hypothesis now prints the\n\u0026quot;\u003ca href=\"https://github.com/seed\"\u003e\u003ccode\u003e@​seed\u003c/code\u003e\u003c/a\u003e\u0026quot; decorator alongside the slow-shrinking warning so you can\nreproduce the failure.\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/d451213b510a6edf42c5a9263ee4c99119ad6594\"\u003e\u003ccode\u003ed451213\u003c/code\u003e\u003c/a\u003e Bump hypothesis-python version to 6.152.1 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/c95fa97ed244498708c50e8c73633f6d53961999\"\u003e\u003ccode\u003ec95fa97\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/HypothesisWorks/hypothesis/issues/4706\"\u003e#4706\u003c/a\u003e from Liam-DeVoe/typing-fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/7dd2cfd7561fd0ef56054f049f13b2915089db2f\"\u003e\u003ccode\u003e7dd2cfd\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'upstream/master' into typing-fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/35fdf62412e8e14968a8a8c225fefd185ce36e20\"\u003e\u003ccode\u003e35fdf62\u003c/code\u003e\u003c/a\u003e Bump hypothesis-python version to 6.152.0 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HypothesisWorks/hypothesis/commit/0cb15c586a25603673cfe826a1a91ea38bd094d0\"\u003e\u003ccode\u003e0cb15c5\u003c/code\u003e\u003c/a\u003e tighten check for typing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Hypothesi...\n\n_Description has been truncated_","html_url":"https://github.com/AbdelazizMoustafa10m/orchcore/pull/15","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/AbdelazizMoustafa10m%2Forchcore/issues/15","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/15/packages"}},{"old_version":"8.1.1","new_version":"8.2.3","update_type":"minor","path":null,"pr_created_at":"2026-04-17T08:16:56.000Z","version_change":"8.1.1 → 8.2.3","issue":{"uuid":"4281164486","node_id":"PR_kwDOPYkt3s7TPU3P","number":542,"state":"closed","title":"build(deps): bump the all-python-deps group across 1 directory with 19 updates","user":"dependabot[bot]","labels":[],"assignees":["scottfrasso"],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-04-21T08:16:53.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-17T08:16:56.000Z","updated_at":"2026-04-21T08:16:55.000Z","time_to_close":345597,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"all-python-deps","update_count":19,"packages":[{"name":"rich","old_version":"14.3.3","new_version":"15.0.0","repository_url":"https://github.com/Textualize/rich"},{"name":"logfire","old_version":"4.29.0","new_version":"4.32.1","repository_url":"https://github.com/pydantic/logfire"},{"name":"posthog","old_version":"7.9.12","new_version":"7.12.0","repository_url":"https://github.com/posthog/posthog-python"},{"name":"textual","old_version":"8.1.1","new_version":"8.2.3","repository_url":"https://github.com/Textualize/textual"},{"name":"real-ladybug","old_version":"0.15.1","new_version":"0.15.3","repository_url":"https://github.com/lbugdb/lbug"},{"name":"tree-sitter-rust","old_version":"0.24.0","new_version":"0.24.2","repository_url":"https://github.com/tree-sitter/tree-sitter-rust"},{"name":"openai","old_version":"2.29.0","new_version":"2.32.0","repository_url":"https://github.com/openai/openai-python"},{"name":"anthropic","old_version":"0.85.0","new_version":"0.96.0","repository_url":"https://github.com/anthropics/anthropic-sdk-python"},{"name":"genai-prices","old_version":"0.0.55","new_version":"0.0.56","repository_url":"https://github.com/pydantic/genai-prices"},{"name":"dependency-injector","old_version":"4.48.3","new_version":"4.49.0","repository_url":"https://github.com/ets-labs/python-dependency-injector"},{"name":"claude-agent-sdk","old_version":"0.1.48","new_version":"0.1.61","repository_url":"https://github.com/anthropics/claude-agent-sdk-python"},{"name":"lefthook","old_version":"2.1.4","new_version":"2.1.6","repository_url":"https://github.com/evilmartians/lefthook"},{"name":"mypy","old_version":"1.19.1","new_version":"1.20.1","repository_url":"https://github.com/python/mypy"},{"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":"ruff","old_version":"0.15.6","new_version":"0.15.11","repository_url":"https://github.com/astral-sh/ruff"},{"name":"types-aiofiles","old_version":"25.1.0.20251011","new_version":"25.1.0.20260409","repository_url":"https://github.com/python/typeshed"},{"name":"types-psutil","old_version":"7.2.2.20260130","new_version":"7.2.2.20260408","repository_url":"https://github.com/python/typeshed"},{"name":"types-pyyaml","old_version":"6.0.12.20250915","new_version":"6.0.12.20260408","repository_url":"https://github.com/python/typeshed"}],"path":null,"ecosystem":"pip"},"body":"Bumps the all-python-deps group with 19 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [rich](https://github.com/Textualize/rich) | `14.3.3` | `15.0.0` |\n| [logfire](https://github.com/pydantic/logfire) | `4.29.0` | `4.32.1` |\n| [posthog](https://github.com/posthog/posthog-python) | `7.9.12` | `7.12.0` |\n| [textual](https://github.com/Textualize/textual) | `8.1.1` | `8.2.3` |\n| [real-ladybug](https://github.com/lbugdb/lbug) | `0.15.1` | `0.15.3` |\n| [tree-sitter-rust](https://github.com/tree-sitter/tree-sitter-rust) | `0.24.0` | `0.24.2` |\n| [openai](https://github.com/openai/openai-python) | `2.29.0` | `2.32.0` |\n| [anthropic](https://github.com/anthropics/anthropic-sdk-python) | `0.85.0` | `0.96.0` |\n| [genai-prices](https://github.com/pydantic/genai-prices) | `0.0.55` | `0.0.56` |\n| [dependency-injector](https://github.com/ets-labs/python-dependency-injector) | `4.48.3` | `4.49.0` |\n| [claude-agent-sdk](https://github.com/anthropics/claude-agent-sdk-python) | `0.1.48` | `0.1.61` |\n| [lefthook](https://github.com/evilmartians/lefthook) | `2.1.4` | `2.1.6` |\n| [mypy](https://github.com/python/mypy) | `1.19.1` | `1.20.1` |\n| [pytest](https://github.com/pytest-dev/pytest) | `9.0.2` | `9.0.3` |\n| [pytest-cov](https://github.com/pytest-dev/pytest-cov) | `7.0.0` | `7.1.0` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.15.6` | `0.15.11` |\n| [types-aiofiles](https://github.com/python/typeshed) | `25.1.0.20251011` | `25.1.0.20260409` |\n| [types-psutil](https://github.com/python/typeshed) | `7.2.2.20260130` | `7.2.2.20260408` |\n| [types-pyyaml](https://github.com/python/typeshed) | `6.0.12.20250915` | `6.0.12.20260408` |\n\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 `logfire` from 4.29.0 to 4.32.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/logfire/releases\"\u003elogfire's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.32.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport OpenTelemetry SDK 1.40.0 by \u003ca href=\"https://github.com/alexmojaki\"\u003e\u003ccode\u003e@​alexmojaki\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1861\"\u003e#1861\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDo row→column transformation client-side in query client by \u003ca href=\"https://github.com/adriangb\"\u003e\u003ccode\u003e@​adriangb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1862\"\u003e#1862\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMark various genai attributes as safe from scrubbing by \u003ca href=\"https://github.com/alexmojaki\"\u003e\u003ccode\u003e@​alexmojaki\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1863\"\u003e#1863\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.32.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003epush_dataset\u003c/code\u003e helpers to the experimental API client by \u003ca href=\"https://github.com/dmontagu\"\u003e\u003ccode\u003e@​dmontagu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1848\"\u003e#1848\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.31.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: Show token badges for OpenAI streaming logs by \u003ca href=\"https://github.com/alexmojaki\"\u003e\u003ccode\u003e@​alexmojaki\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1857\"\u003e#1857\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: OTel warning during tail sampling buffer replay by \u003ca href=\"https://github.com/cyberksh\"\u003e\u003ccode\u003e@​cyberksh\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1632\"\u003e#1632\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.31.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCapture token usage and cost attributes in OpenAI streaming logs by \u003ca href=\"https://github.com/alexmojaki\"\u003e\u003ccode\u003e@​alexmojaki\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1846\"\u003e#1846\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCapture token usage and cost attributes in Anthropic streaming logs by \u003ca href=\"https://github.com/alexmojaki\"\u003e\u003ccode\u003e@​alexmojaki\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1850\"\u003e#1850\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCapture \u003ccode\u003eoperation.cost\u003c/code\u003e for OpenAI embeddings by \u003ca href=\"https://github.com/alexmojaki\"\u003e\u003ccode\u003e@​alexmojaki\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1843\"\u003e#1843\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCapture \u003ccode\u003egen_ai.usage.raw\u003c/code\u003e for Anthropic by \u003ca href=\"https://github.com/alexmojaki\"\u003e\u003ccode\u003e@​alexmojaki\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1847\"\u003e#1847\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: strip \u003ccode\u003ecf-connecting-ip\u003c/code\u003e header in \u003ccode\u003eforward_export_request\u003c/code\u003e by \u003ca href=\"https://github.com/BreytMN\"\u003e\u003ccode\u003e@​BreytMN\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1824\"\u003e#1824\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle patching of \u003ccode\u003esys.stdout\u003c/code\u003e better by \u003ca href=\"https://github.com/alexmojaki\"\u003e\u003ccode\u003e@​alexmojaki\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1840\"\u003e#1840\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.31.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003elogfire.instrument_claude_agent_sdk()\u003c/code\u003e by \u003ca href=\"https://github.com/alexmojaki\"\u003e\u003ccode\u003e@​alexmojaki\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1799\"\u003e#1799\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add \u003ccode\u003elogfire.url_from_eval(report)\u003c/code\u003e method by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1694\"\u003e#1694\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: include cached tokens in \u003ccode\u003egen_ai.usage.input_tokens\u003c/code\u003e for Anthropic by \u003ca href=\"https://github.com/alexmojaki\"\u003e\u003ccode\u003e@​alexmojaki\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1812\"\u003e#1812\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: handle bare MCP request types for fastmcp 3.x compatibility by \u003ca href=\"https://github.com/alexmojaki\"\u003e\u003ccode\u003e@​alexmojaki\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1813\"\u003e#1813\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.30.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003elogfire auth logout\u003c/code\u003e command by \u003ca href=\"https://github.com/ai-man-codes\"\u003e\u003ccode\u003e@​ai-man-codes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1781\"\u003e#1781\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove Rich link styling from project URL output by \u003ca href=\"https://github.com/ameenalkhaldi\"\u003e\u003ccode\u003e@​ameenalkhaldi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1784\"\u003e#1784\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix push_config() to push labels and versions by \u003ca href=\"https://github.com/dmontagu\"\u003e\u003ccode\u003e@​dmontagu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1785\"\u003e#1785\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMerge \u003ccode\u003eexport_dataset\u003c/code\u003e into \u003ccode\u003eget_dataset\u003c/code\u003e with \u003ccode\u003einclude_cases\u003c/code\u003e parameter by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1792\"\u003e#1792\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/pydantic/logfire/blob/main/CHANGELOG.md\"\u003elogfire's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[v4.32.1] (2026-04-15)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport OpenTelemetry SDK 1.40.0 by \u003ca href=\"https://github.com/alexmojaki\"\u003e\u003ccode\u003e@​alexmojaki\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1861\"\u003e#1861\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDo row→column transformation client-side in query client by \u003ca href=\"https://github.com/adriangb\"\u003e\u003ccode\u003e@​adriangb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1862\"\u003e#1862\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMark various genai attributes as safe from scrubbing by \u003ca href=\"https://github.com/alexmojaki\"\u003e\u003ccode\u003e@​alexmojaki\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1863\"\u003e#1863\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[v4.32.0] (2026-04-10)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003epush_dataset\u003c/code\u003e helpers to the experimental API client by \u003ca href=\"https://github.com/dmontagu\"\u003e\u003ccode\u003e@​dmontagu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1848\"\u003e#1848\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[v4.31.2] (2026-04-10)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: Show token badges for OpenAI streaming logs by \u003ca href=\"https://github.com/alexmojaki\"\u003e\u003ccode\u003e@​alexmojaki\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1857\"\u003e#1857\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: OTel warning during tail sampling buffer replay by \u003ca href=\"https://github.com/cyberksh\"\u003e\u003ccode\u003e@​cyberksh\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1632\"\u003e#1632\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[v4.31.1] (2026-04-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCapture token usage and cost attributes in OpenAI streaming logs by \u003ca href=\"https://github.com/alexmojaki\"\u003e\u003ccode\u003e@​alexmojaki\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1846\"\u003e#1846\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCapture token usage and cost attributes in Anthropic streaming logs by \u003ca href=\"https://github.com/alexmojaki\"\u003e\u003ccode\u003e@​alexmojaki\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1850\"\u003e#1850\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCapture \u003ccode\u003eoperation.cost\u003c/code\u003e for OpenAI embeddings by \u003ca href=\"https://github.com/alexmojaki\"\u003e\u003ccode\u003e@​alexmojaki\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1843\"\u003e#1843\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCapture \u003ccode\u003egen_ai.usage.raw\u003c/code\u003e for Anthropic by \u003ca href=\"https://github.com/alexmojaki\"\u003e\u003ccode\u003e@​alexmojaki\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1847\"\u003e#1847\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: strip \u003ccode\u003ecf-connecting-ip\u003c/code\u003e header in \u003ccode\u003eforward_export_request\u003c/code\u003e by \u003ca href=\"https://github.com/BreytMN\"\u003e\u003ccode\u003e@​BreytMN\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1824\"\u003e#1824\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle patching of \u003ccode\u003esys.stdout\u003c/code\u003e better by \u003ca href=\"https://github.com/alexmojaki\"\u003e\u003ccode\u003e@​alexmojaki\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1840\"\u003e#1840\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[v4.31.0] (2026-03-27)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003elogfire.instrument_claude_agent_sdk()\u003c/code\u003e by \u003ca href=\"https://github.com/alexmojaki\"\u003e\u003ccode\u003e@​alexmojaki\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1799\"\u003e#1799\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add \u003ccode\u003elogfire.url_from_eval(report)\u003c/code\u003e method by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1694\"\u003e#1694\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: include cached tokens in \u003ccode\u003egen_ai.usage.input_tokens\u003c/code\u003e for Anthropic by \u003ca href=\"https://github.com/alexmojaki\"\u003e\u003ccode\u003e@​alexmojaki\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1812\"\u003e#1812\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: handle bare MCP request types for fastmcp 3.x compatibility by \u003ca href=\"https://github.com/alexmojaki\"\u003e\u003ccode\u003e@​alexmojaki\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1813\"\u003e#1813\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[v4.30.0] (2026-03-23)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003elogfire auth logout\u003c/code\u003e command by \u003ca href=\"https://github.com/ai-man-codes\"\u003e\u003ccode\u003e@​ai-man-codes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1781\"\u003e#1781\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove Rich link styling from project URL output by \u003ca href=\"https://github.com/ameenalkhaldi\"\u003e\u003ccode\u003e@​ameenalkhaldi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1784\"\u003e#1784\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix push_config() to push labels and versions by \u003ca href=\"https://github.com/dmontagu\"\u003e\u003ccode\u003e@​dmontagu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1785\"\u003e#1785\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMerge \u003ccode\u003eexport_dataset\u003c/code\u003e into \u003ccode\u003eget_dataset\u003c/code\u003e with \u003ccode\u003einclude_cases\u003c/code\u003e parameter by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/logfire/pull/1792\"\u003e#1792\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/logfire/commit/c50a1c8e655ab17455f418964dde759323e7f19a\"\u003e\u003ccode\u003ec50a1c8\u003c/code\u003e\u003c/a\u003e Release v4.32.1 (\u003ca href=\"https://redirect.github.com/pydantic/logfire/issues/1864\"\u003e#1864\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/logfire/commit/1cce8df671a2cf9d4e63a33031fca49e516a5c46\"\u003e\u003ccode\u003e1cce8df\u003c/code\u003e\u003c/a\u003e Mark various genai attributes as safe from scrubbing (\u003ca href=\"https://redirect.github.com/pydantic/logfire/issues/1863\"\u003e#1863\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/logfire/commit/97b8aeff3ad1eb97eab534cdab76ede88b28c1af\"\u003e\u003ccode\u003e97b8aef\u003c/code\u003e\u003c/a\u003e Do row→column transformation client-side in query client (\u003ca href=\"https://redirect.github.com/pydantic/logfire/issues/1862\"\u003e#1862\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/logfire/commit/b64a41d7703508f4d469b9c77cda9475787f34ed\"\u003e\u003ccode\u003eb64a41d\u003c/code\u003e\u003c/a\u003e Support OpenTelemetry SDK 1.40.0 (\u003ca href=\"https://redirect.github.com/pydantic/logfire/issues/1861\"\u003e#1861\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/logfire/commit/644e5ad487c17a72167b8abd7ee4551714b29e88\"\u003e\u003ccode\u003e644e5ad\u003c/code\u003e\u003c/a\u003e Release v4.32.0 (\u003ca href=\"https://redirect.github.com/pydantic/logfire/issues/1859\"\u003e#1859\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/logfire/commit/b68c83840e0d02e250814ae34559c51f25fc0844\"\u003e\u003ccode\u003eb68c838\u003c/code\u003e\u003c/a\u003e Add push_dataset helpers to the experimental API client (\u003ca href=\"https://redirect.github.com/pydantic/logfire/issues/1848\"\u003e#1848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/logfire/commit/c3fa8f1d9c01003f9e2758ab5cd8be7df13062eb\"\u003e\u003ccode\u003ec3fa8f1\u003c/code\u003e\u003c/a\u003e Release v4.31.2 (\u003ca href=\"https://redirect.github.com/pydantic/logfire/issues/1858\"\u003e#1858\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/logfire/commit/7460a5e43bdcffa9a72decdd19aaf549c57d719e\"\u003e\u003ccode\u003e7460a5e\u003c/code\u003e\u003c/a\u003e fix: add gen_ai.system to OpenAI streaming logs (\u003ca href=\"https://redirect.github.com/pydantic/logfire/issues/1857\"\u003e#1857\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/logfire/commit/13a96f4e53364b15b55f197511d3b445e589a6ee\"\u003e\u003ccode\u003e13a96f4\u003c/code\u003e\u003c/a\u003e refactor: gateway shutdown date (\u003ca href=\"https://redirect.github.com/pydantic/logfire/issues/1855\"\u003e#1855\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/logfire/commit/cada147782a1da4c28701474308a6ef22cbcbf1b\"\u003e\u003ccode\u003ecada147\u003c/code\u003e\u003c/a\u003e remove note about not supporting grpc ingest (\u003ca href=\"https://redirect.github.com/pydantic/logfire/issues/1853\"\u003e#1853\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/logfire/compare/v4.29.0...v4.32.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `posthog` from 7.9.12 to 7.12.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/posthog/posthog-python/releases\"\u003eposthog's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.12.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore: merge master into main by \u003ca href=\"https://github.com/marandaneto\"\u003e\u003ccode\u003e@​marandaneto\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PostHog/posthog-python/pull/513\"\u003ePostHog/posthog-python#513\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/PostHog/posthog-python/compare/v7.11.2...v7.12.0\"\u003ehttps://github.com/PostHog/posthog-python/compare/v7.11.2...v7.12.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev7.11.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore: add GitHub community health files by \u003ca href=\"https://github.com/marandaneto\"\u003e\u003ccode\u003e@​marandaneto\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PostHog/posthog-python/pull/505\"\u003ePostHog/posthog-python#505\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump pyasn1 from 0.6.1 to 0.6.3 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/PostHog/posthog-python/pull/465\"\u003ePostHog/posthog-python#465\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump litellm from 1.82.6 to 1.83.0 in /examples/example-ai-dspy 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/PostHog/posthog-python/pull/487\"\u003ePostHog/posthog-python#487\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump requests from 2.32.5 to 2.33.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/PostHog/posthog-python/pull/473\"\u003ePostHog/posthog-python#473\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: update branch references to main by \u003ca href=\"https://github.com/marandaneto\"\u003e\u003ccode\u003e@​marandaneto\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PostHog/posthog-python/pull/506\"\u003ePostHog/posthog-python#506\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: update endpoint for flags local eval by \u003ca href=\"https://github.com/patricio-posthog\"\u003e\u003ccode\u003e@​patricio-posthog\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PostHog/posthog-python/pull/509\"\u003ePostHog/posthog-python#509\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/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] made their first contribution in \u003ca href=\"https://redirect.github.com/PostHog/posthog-python/pull/465\"\u003ePostHog/posthog-python#465\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/PostHog/posthog-python/compare/v7.11.1...v7.11.2\"\u003ehttps://github.com/PostHog/posthog-python/compare/v7.11.1...v7.11.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev7.11.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore: add stale workflow for issues and PRs by \u003ca href=\"https://github.com/marandaneto\"\u003e\u003ccode\u003e@​marandaneto\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PostHog/posthog-python/pull/502\"\u003ePostHog/posthog-python#502\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(compliance): declare capabilities in health endpoint by \u003ca href=\"https://github.com/andehen\"\u003e\u003ccode\u003e@​andehen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PostHog/posthog-python/pull/501\"\u003ePostHog/posthog-python#501\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: Add os_distro information to events by \u003ca href=\"https://github.com/parinporecha\"\u003e\u003ccode\u003e@​parinporecha\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PostHog/posthog-python/pull/467\"\u003ePostHog/posthog-python#467\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/PostHog/posthog-python/compare/v7.11.0...v7.11.1\"\u003ehttps://github.com/PostHog/posthog-python/compare/v7.11.0...v7.11.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev7.11.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix(llma): graceful fallback in claude_agent_sdk wrapper by \u003ca href=\"https://github.com/andrewm4894\"\u003e\u003ccode\u003e@​andrewm4894\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PostHog/posthog-python/pull/495\"\u003ePostHog/posthog-python#495\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(llma): add $ai_stop_reason extraction for all providers by \u003ca href=\"https://github.com/carlos-marchal-ph\"\u003e\u003ccode\u003e@​carlos-marchal-ph\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PostHog/posthog-python/pull/499\"\u003ePostHog/posthog-python#499\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add Gemini embed_content tracking by \u003ca href=\"https://github.com/carlos-marchal-ph\"\u003e\u003ccode\u003e@​carlos-marchal-ph\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PostHog/posthog-python/pull/498\"\u003ePostHog/posthog-python#498\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/PostHog/posthog-python/compare/v7.10.3...v7.11.0\"\u003ehttps://github.com/PostHog/posthog-python/compare/v7.10.3...v7.11.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev7.10.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: pass before_send through module-level setup by \u003ca href=\"https://github.com/sipa-echo-zaoa\"\u003e\u003ccode\u003e@​sipa-echo-zaoa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PostHog/posthog-python/pull/472\"\u003ePostHog/posthog-python#472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: add sampo changeset for before_send module-level setup fix (\u003ca href=\"https://redirect.github.com/posthog/posthog-python/issues/472\"\u003e#472\u003c/a\u003e) by \u003ca href=\"https://github.com/marandaneto\"\u003e\u003ccode\u003e@​marandaneto\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PostHog/posthog-python/pull/489\"\u003ePostHog/posthog-python#489\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/sipa-echo-zaoa\"\u003e\u003ccode\u003e@​sipa-echo-zaoa\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/PostHog/posthog-python/pull/472\"\u003ePostHog/posthog-python#472\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/PostHog/posthog-python/compare/v7.10.2...v7.10.3\"\u003ehttps://github.com/PostHog/posthog-python/compare/v7.10.2...v7.10.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev7.10.2\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/PostHog/posthog-python/blob/main/CHANGELOG.md\"\u003eposthog's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.12.0 — 2026-04-16\u003c/h2\u003e\n\u003ch3\u003eMinor changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/posthog/posthog-python/commit/220d9e88877dee7eabd34fed68c2a4a65e6526a7\"\u003e220d9e8\u003c/a\u003e \u003ccode\u003ePrompts.get()\u003c/code\u003e now accepts \u003ccode\u003ewith_metadata=True\u003c/code\u003e and returns a \u003ccode\u003ePromptResult\u003c/code\u003e dataclass containing \u003ccode\u003esource\u003c/code\u003e (\u003ccode\u003eapi\u003c/code\u003e, \u003ccode\u003ecache\u003c/code\u003e, \u003ccode\u003estale_cache\u003c/code\u003e, or \u003ccode\u003ecode_fallback\u003c/code\u003e), \u003ccode\u003ename\u003c/code\u003e, and \u003ccode\u003eversion\u003c/code\u003e alongside the prompt text. The previous plain-string return is deprecated and will be removed in a future major version. — Thanks \u003ca href=\"https://github.com/marandaneto\"\u003e\u003ccode\u003e@​marandaneto\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.11.2 — 2026-04-15\u003c/h2\u003e\n\u003ch3\u003ePatch changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/posthog/posthog-python/commit/f5a95b454ae7fd8bf46381b1c624df827903260d\"\u003ef5a95b4\u003c/a\u003e feat(flags): switch local evaluation polling from \u003ccode\u003e/api/feature_flag/local_evaluation\u003c/code\u003e to \u003ccode\u003e/flags/definitions\u003c/code\u003e — Thanks \u003ca href=\"https://github.com/patricio-posthog\"\u003e\u003ccode\u003e@​patricio-posthog\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.11.1 — 2026-04-14\u003c/h2\u003e\n\u003ch3\u003ePatch changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/posthog/posthog-python/commit/c3f097f72f5ef6c1ecd25ade7d3ba08e57765eaf\"\u003ec3f097f\u003c/a\u003e feat: Add os_distro information to events — Thanks \u003ca href=\"https://github.com/parinporecha\"\u003e\u003ccode\u003e@​parinporecha\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.11.0 — 2026-04-10\u003c/h2\u003e\n\u003ch3\u003eMinor changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/posthog/posthog-python/commit/b921fe33a9115fbf5f5171b80e1deabffd3e66ca\"\u003eb921fe3\u003c/a\u003e Add Gemini \u003ccode\u003eembed_content\u003c/code\u003e tracking support for both sync and async clients — Thanks \u003ca href=\"https://github.com/carlos-marchal-ph\"\u003e\u003ccode\u003e@​carlos-marchal-ph\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/posthog/posthog-python/commit/44b92a844a2d8170e5b2247e509279f4654c4ef6\"\u003e44b92a8\u003c/a\u003e feat(ai): add $ai_stop_reason extraction for all providers — Thanks \u003ca href=\"https://github.com/carlos-marchal-ph\"\u003e\u003ccode\u003e@​carlos-marchal-ph\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePatch changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/posthog/posthog-python/commit/7c5cad8fcf818c9b8b4f074876718b937f2f8072\"\u003e7c5cad8\u003c/a\u003e fix: graceful fallback in claude_agent_sdk query wrapper when PostHog is not configured — Thanks \u003ca href=\"https://github.com/andrewm4894\"\u003e\u003ccode\u003e@​andrewm4894\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.10.3 — 2026-04-08\u003c/h2\u003e\n\u003ch3\u003ePatch changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/posthog/posthog-python/commit/e22e893b236bf6af1cb8f6c18712727d24fe5c7e\"\u003ee22e893\u003c/a\u003e fix: pass the module-level \u003ccode\u003eposthog.before_send\u003c/code\u003e callback into the lazily initialized default client — Thanks \u003ca href=\"https://github.com/marandaneto\"\u003e\u003ccode\u003e@​marandaneto\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.10.2 — 2026-04-08\u003c/h2\u003e\n\u003ch3\u003ePatch changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/posthog/posthog-python/commit/bae355cd787f4c1a119fd2b396ba444b1a218b6a\"\u003ebae355c\u003c/a\u003e feat(flags): make local evaluation endpoint configurable via \u003ccode\u003ePOSTHOG_LOCAL_EVALUATION_ENDPOINT\u003c/code\u003e env var with fallback to default endpoint — Thanks \u003ca href=\"https://github.com/patricio-posthog\"\u003e\u003ccode\u003e@​patricio-posthog\u003c/code\u003e\u003c/a\u003e for your first contribution 🎉!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.10.1 — 2026-04-08\u003c/h2\u003e\n\u003ch3\u003ePatch changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/posthog/posthog-python/commit/a5052b089b106af5a2fa5236fcf1f4f84943f899\"\u003ea5052b0\u003c/a\u003e fix: Django middleware accidentally passed capture_exceptions as positional arg, setting fresh=True and resetting context state — Thanks \u003ca href=\"https://github.com/marandaneto\"\u003e\u003ccode\u003e@​marandaneto\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.10.0 — 2026-04-07\u003c/h2\u003e\n\u003ch3\u003eMinor changes\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/PostHog/posthog-python/commit/825bf1a09aa0d858df2f0f405ddd98776efefdf3\"\u003e\u003ccode\u003e825bf1a\u003c/code\u003e\u003c/a\u003e chore: Release v7.12.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PostHog/posthog-python/commit/220d9e88877dee7eabd34fed68c2a4a65e6526a7\"\u003e\u003ccode\u003e220d9e8\u003c/code\u003e\u003c/a\u003e chore: merge master into main (\u003ca href=\"https://redirect.github.com/posthog/posthog-python/issues/513\"\u003e#513\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PostHog/posthog-python/commit/82f599347701b0b04106eb24e5e91f886ffe725b\"\u003e\u003ccode\u003e82f5993\u003c/code\u003e\u003c/a\u003e chore: Release v7.11.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PostHog/posthog-python/commit/f5a95b454ae7fd8bf46381b1c624df827903260d\"\u003e\u003ccode\u003ef5a95b4\u003c/code\u003e\u003c/a\u003e chore: update endpoint for flags local eval (\u003ca href=\"https://redirect.github.com/posthog/posthog-python/issues/509\"\u003e#509\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PostHog/posthog-python/commit/055f8fd271a10b6bcafefb5ffc5db46cfb02a77a\"\u003e\u003ccode\u003e055f8fd\u003c/code\u003e\u003c/a\u003e chore: update branch references to main (\u003ca href=\"https://redirect.github.com/posthog/posthog-python/issues/506\"\u003e#506\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PostHog/posthog-python/commit/5f815482dbcb51a02d9029330cbebe04da2ca1ca\"\u003e\u003ccode\u003e5f81548\u003c/code\u003e\u003c/a\u003e chore(deps): bump requests from 2.32.5 to 2.33.0 (\u003ca href=\"https://redirect.github.com/posthog/posthog-python/issues/473\"\u003e#473\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PostHog/posthog-python/commit/bb69ddb3b80ac9964936cd53feeb39d54b5aa401\"\u003e\u003ccode\u003ebb69ddb\u003c/code\u003e\u003c/a\u003e chore(deps): bump litellm from 1.82.6 to 1.83.0 in /examples/example-ai-dspy ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PostHog/posthog-python/commit/eba4a39fc292bd5a24ae1dc2fab16d475574138a\"\u003e\u003ccode\u003eeba4a39\u003c/code\u003e\u003c/a\u003e chore(deps): bump pyasn1 from 0.6.1 to 0.6.3 (\u003ca href=\"https://redirect.github.com/posthog/posthog-python/issues/465\"\u003e#465\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PostHog/posthog-python/commit/c59ca5938de4b5fd01f0412e345a0260088e849c\"\u003e\u003ccode\u003ec59ca59\u003c/code\u003e\u003c/a\u003e chore: add GitHub community health files (\u003ca href=\"https://redirect.github.com/posthog/posthog-python/issues/505\"\u003e#505\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PostHog/posthog-python/commit/33342776e543837a618944565cb596b6bdeb84ce\"\u003e\u003ccode\u003e3334277\u003c/code\u003e\u003c/a\u003e chore: Release v7.11.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/posthog/posthog-python/compare/v7.9.12...v7.12.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.1.1 to 8.2.3\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 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/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.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\u003c/blockquote\u003e\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/634ca6e786885ffebe211fc73e0e8a04e030f3c3\"\u003e\u003ccode\u003e634ca6e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6473\"\u003e#6473\u003c/a\u003e from Textualize/bump823\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/ccf1978c1a715ac7d33149dcfc344765dc250037\"\u003e\u003ccode\u003eccf1978\u003c/code\u003e\u003c/a\u003e bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/5ddfbdc6bf7966b99644f2da0251c94c83a50528\"\u003e\u003ccode\u003e5ddfbdc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6462\"\u003e#6462\u003c/a\u003e from IEBqp/guide-patch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/23bf10e77bd18fa91ed2c42e3a0693b0702e097d\"\u003e\u003ccode\u003e23bf10e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6470\"\u003e#6470\u003c/a\u003e from Textualize/defensive-selection\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/32f1d23330efd7a47891a5ce90edd7677664fbc1\"\u003e\u003ccode\u003e32f1d23\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6471\"\u003e#6471\u003c/a\u003e from Textualize/resize-lag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/2bbfbb7741470e8cf95c37476047b89787afaec5\"\u003e\u003ccode\u003e2bbfbb7\u003c/code\u003e\u003c/a\u003e force initial resize\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/4b6579038979a90d1f4067d8e396f0af13e80f75\"\u003e\u003ccode\u003e4b65790\u003c/code\u003e\u003c/a\u003e ignore no size changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/63fe6f0646e0f1401b990fb64f292d9646d01014\"\u003e\u003ccode\u003e63fe6f0\u003c/code\u003e\u003c/a\u003e check resize timer on idle\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/ec5b43ae1cc2c49361f0d791a53dd047bce08369\"\u003e\u003ccode\u003eec5b43a\u003c/code\u003e\u003c/a\u003e also resize on idle\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/12a52d9e24f1d47eb680e814527fac6ee004e573\"\u003e\u003ccode\u003e12a52d9\u003c/code\u003e\u003c/a\u003e check screen error\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/textual/compare/v8.1.1...v8.2.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `real-ladybug` from 0.15.1 to 0.15.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/lbugdb/lbug/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tree-sitter-rust` from 0.24.0 to 0.24.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tree-sitter/tree-sitter-rust/releases\"\u003etree-sitter-rust's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.24.2\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNOTE:\u003c/strong\u003e Download \u003ccode\u003etree-sitter-rust.tar.gz\u003c/code\u003e for the \u003cem\u003ecomplete\u003c/em\u003e source code.\u003c/p\u003e\n\u003ch2\u003ev0.24.1\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNOTE:\u003c/strong\u003e Download \u003ccode\u003etree-sitter-rust.tar.gz\u003c/code\u003e for the \u003cem\u003ecomplete\u003c/em\u003e source code.\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/tree-sitter/tree-sitter-rust/commit/77a3747266f4d621d0757825e6b11edcbf991ca5\"\u003e\u003ccode\u003e77a3747\u003c/code\u003e\u003c/a\u003e 0.24.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tree-sitter/tree-sitter-rust/commit/c9f157902a6b487f0c358dc383d2d694b98fd814\"\u003e\u003ccode\u003ec9f1579\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/v0.24.x'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tree-sitter/tree-sitter-rust/commit/b3e615de069beb04ff44f65ac52f7f03cff04438\"\u003e\u003ccode\u003eb3e615d\u003c/code\u003e\u003c/a\u003e Fix bad error recovery when parsing repeated string literals (\u003ca href=\"https://redirect.github.com/tree-sitter/tree-sitter-rust/issues/307\"\u003e#307\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tree-sitter/tree-sitter-rust/commit/4b8106750a2865e4548459d18c797c9f468c440e\"\u003e\u003ccode\u003e4b81067\u003c/code\u003e\u003c/a\u003e Disable regeneration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tree-sitter/tree-sitter-rust/commit/6651c80dc5f033f9666365de50260d02cea05412\"\u003e\u003ccode\u003e6651c80\u003c/code\u003e\u003c/a\u003e Regenerate parser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tree-sitter/tree-sitter-rust/commit/96e3121c41bc5f2b659f21dd5a43894c4028ddf1\"\u003e\u003ccode\u003e96e3121\u003c/code\u003e\u003c/a\u003e Remove attestations from GH release job\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tree-sitter/tree-sitter-rust/commit/8a1ccae7aaccdc11b04dbd803453e3e9cfd9159b\"\u003e\u003ccode\u003e8a1ccae\u003c/code\u003e\u003c/a\u003e 0.24.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tree-sitter/tree-sitter-rust/commit/ab43fdbb1640bdece8fab9927b1aa6774d942189\"\u003e\u003ccode\u003eab43fdb\u003c/code\u003e\u003c/a\u003e Parse string literals even in with unexpected prefixes (\u003ca href=\"https://redirect.github.com/tree-sitter/tree-sitter-rust/issues/306\"\u003e#306\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tree-sitter/tree-sitter-rust/commit/261b20226c04ef601adbdf185a800512a5f66291\"\u003e\u003ccode\u003e261b202\u003c/code\u003e\u003c/a\u003e Raw reference/identifier conflict (\u003ca href=\"https://redirect.github.com/tree-sitter/tree-sitter-rust/issues/288\"\u003e#288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tree-sitter/tree-sitter-rust/commit/946595d164e77b705fa28385654f9420f59262ef\"\u003e\u003ccode\u003e946595d\u003c/code\u003e\u003c/a\u003e Include LICENSE (\u003ca href=\"https://redirect.github.com/tree-sitter/tree-sitter-rust/issues/263\"\u003e#263\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tree-sitter/tree-sitter-rust/compare/v0.24.0...v0.24.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `openai` from 2.29.0 to 2.32.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/openai/openai-python/releases\"\u003eopenai's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.32.0\u003c/h2\u003e\n\u003ch2\u003e2.32.0 (2026-04-15)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.31.0...v2.32.0\"\u003ev2.31.0...v2.32.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e Add detail to InputFileContent (\u003ca href=\"https://github.com/openai/openai-python/commit/60de21d1fcfbcadea0d9b8d884c73c9dc49d14ff\"\u003e60de21d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e add OAuthErrorCode type (\u003ca href=\"https://github.com/openai/openai-python/commit/0c8d2c3b44242c9139dc554896ea489b56e236b8\"\u003e0c8d2c3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient:\u003c/strong\u003e add event handler implementation for websockets (\u003ca href=\"https://github.com/openai/openai-python/commit/0280d0568f706684ecbf0aabf3575cdcb7fd22d5\"\u003e0280d05\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient:\u003c/strong\u003e allow enqueuing to websockets even when not connected (\u003ca href=\"https://github.com/openai/openai-python/commit/67aa20e69bc0e4a3b7694327c808606bfa24a966\"\u003e67aa20e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient:\u003c/strong\u003e support reconnection in websockets (\u003ca href=\"https://github.com/openai/openai-python/commit/eb72a953ea9dc5beec3eef537be6eb32292c3f65\"\u003eeb72a95\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eensure file data are only sent as 1 parameter (\u003ca href=\"https://github.com/openai/openai-python/commit/c0c2ecd0f6b64fa5fafda6134bb06995b143a2cf\"\u003ec0c2ecd\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eimprove examples (\u003ca href=\"https://github.com/openai/openai-python/commit/84712fa0f094b53151a0fe6ac85aa98018b2a7e2\"\u003e84712fa\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.31.0\u003c/h2\u003e\n\u003ch2\u003e2.31.0 (2026-04-08)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.30.0...v2.31.0\"\u003ev2.30.0...v2.31.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e add phase field to conversations message (\u003ca href=\"https://github.com/openai/openai-python/commit/3e5834efb39b24e019a29dc54d890c67d18cbb54\"\u003e3e5834e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e add web_search_call.results to ResponseIncludable type (\u003ca href=\"https://github.com/openai/openai-python/commit/ffd8741dd38609a5af0159ceb800d8ddba7925f8\"\u003effd8741\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient:\u003c/strong\u003e add support for short-lived tokens (\u003ca href=\"https://redirect.github.com/openai/openai-python/issues/1608\"\u003e#1608\u003c/a\u003e) (\u003ca href=\"https://github.com/openai/openai-python/commit/22fe7228d4990c197cd721b3ad7931ad05cca5dd\"\u003e22fe722\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient:\u003c/strong\u003e support sending raw data over websockets (\u003ca href=\"https://github.com/openai/openai-python/commit/f1bc52ef641dfca6fdf2a5b00ce3b09bff2552f5\"\u003ef1bc52e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e implement indices array format for query and form serialization (\u003ca href=\"https://github.com/openai/openai-python/commit/49194cfa711328216ff131d6f65c9298822a7c51\"\u003e49194cf\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eclient:\u003c/strong\u003e preserve hardcoded query params when merging with user params (\u003ca href=\"https://github.com/openai/openai-python/commit/92e109c3d9569a942e1919e75977dc13fa015f9a\"\u003e92e109c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypes:\u003c/strong\u003e remove web_search_call.results from ResponseIncludable (\u003ca href=\"https://github.com/openai/openai-python/commit/d3cc40165cd86015833d15167cc7712b4102f932\"\u003ed3cc401\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003etests:\u003c/strong\u003e bump steady to v0.20.1 (\u003ca href=\"https://github.com/openai/openai-python/commit/d60e2eea7f6916540cd4ba901dceb07051119da4\"\u003ed60e2ee\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etests:\u003c/strong\u003e bump steady to v0.20.2 (\u003ca href=\"https://github.com/openai/openai-python/commit/6508d474332d4e82d9615c0a9a77379f9b5e4412\"\u003e6508d47\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\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/openai/openai-python/blob/main/CHANGELOG.md\"\u003eopenai's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.32.0 (2026-04-15)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.31.0...v2.32.0\"\u003ev2.31.0...v2.32.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e Add detail to InputFileContent (\u003ca href=\"https://github.com/openai/openai-python/commit/60de21d1fcfbcadea0d9b8d884c73c9dc49d14ff\"\u003e60de21d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e add OAuthErrorCode type (\u003ca href=\"https://github.com/openai/openai-python/commit/0c8d2c3b44242c9139dc554896ea489b56e236b8\"\u003e0c8d2c3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient:\u003c/strong\u003e add event handler implementation for websockets (\u003ca href=\"https://github.com/openai/openai-python/commit/0280d0568f706684ecbf0aabf3575cdcb7fd22d5\"\u003e0280d05\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient:\u003c/strong\u003e allow enqueuing to websockets even when not connected (\u003ca href=\"https://github.com/openai/openai-python/commit/67aa20e69bc0e4a3b7694327c808606bfa24a966\"\u003e67aa20e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient:\u003c/strong\u003e support reconnection in websockets (\u003ca href=\"https://github.com/openai/openai-python/commit/eb72a953ea9dc5beec3eef537be6eb32292c3f65\"\u003eeb72a95\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eensure file data are only sent as 1 parameter (\u003ca href=\"https://github.com/openai/openai-python/commit/c0c2ecd0f6b64fa5fafda6134bb06995b143a2cf\"\u003ec0c2ecd\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eimprove examples (\u003ca href=\"https://github.com/openai/openai-python/commit/84712fa0f094b53151a0fe6ac85aa98018b2a7e2\"\u003e84712fa\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.31.0 (2026-04-08)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.30.0...v2.31.0\"\u003ev2.30.0...v2.31.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e add phase field to conversations message (\u003ca href=\"https://github.com/openai/openai-python/commit/3e5834efb39b24e019a29dc54d890c67d18cbb54\"\u003e3e5834e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e add web_search_call.results to ResponseIncludable type (\u003ca href=\"https://github.com/openai/openai-python/commit/ffd8741dd38609a5af0159ceb800d8ddba7925f8\"\u003effd8741\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient:\u003c/strong\u003e add support for short-lived tokens (\u003ca href=\"https://redirect.github.com/openai/openai-python/issues/1608\"\u003e#1608\u003c/a\u003e) (\u003ca href=\"https://github.com/openai/openai-python/commit/22fe7228d4990c197cd721b3ad7931ad05cca5dd\"\u003e22fe722\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient:\u003c/strong\u003e support sending raw data over websockets (\u003ca href=\"https://github.com/openai/openai-python/commit/f1bc52ef641dfca6fdf2a5b00ce3b09bff2552f5\"\u003ef1bc52e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e implement indices array format for query and form serialization (\u003ca href=\"https://github.com/openai/openai-python/commit/49194cfa711328216ff131d6f65c9298822a7c51\"\u003e49194cf\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eclient:\u003c/strong\u003e preserve hardcoded query params when merging with user params (\u003ca href=\"https://github.com/openai/openai-python/commit/92e109c3d9569a942e1919e75977dc13fa015f9a\"\u003e92e109c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypes:\u003c/strong\u003e remove web_search_call.results from ResponseIncludable (\u003ca href=\"https://github.com/openai/openai-python/commit/d3cc40165cd86015833d15167cc7712b4102f932\"\u003ed3cc401\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003etests:\u003c/strong\u003e bump steady to v0.20.1 (\u003ca href=\"https://github.com/openai/openai-python/commit/d60e2eea7f6916540cd4ba901dceb07051119da4\"\u003ed60e2ee\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etests:\u003c/strong\u003e bump steady to v0.20.2 (\u003ca href=\"https://github.com/openai/openai-python/commit/6508d474332d4e82d9615c0a9a77379f9b5e4412\"\u003e6508d47\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e update file parameter descriptions in vector_stores files and file_batches (\u003ca href=\"https://github.com/openai/openai-python/commit/a9e7ebd505b9ae90514339aa63c6f1984a08cf6b\"\u003ea9e7ebd\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/openai/openai-python/commit/e507a4ebeea4c3f93cd48986014a3e2ca79230c2\"\u003e\u003ccode\u003ee507a4e\u003c/code\u003e\u003c/a\u003e release: 2.32.0 (\u003ca href=\"https://redirect.github.com/openai/openai-python/issues/3074\"\u003e#3074\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/750354ed65565b31d0547bf00f4f3180ac1bfeef\"\u003e\u003ccode\u003e750354e\u003c/code\u003e\u003c/a\u003e release: 2.31.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/5be95364a5a82746cb7b1c77df10dfaf138496bb\"\u003e\u003ccode\u003e5be9536\u003c/code\u003e\u003c/a\u003e feat(client): add support for short-lived tokens (\u003ca href=\"https://redirect.github.com/openai/openai-python/issues/1608\"\u003e#1608\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/f1fd4fae0329ee3df2f1bb25d93f51311782ad1a\"\u003e\u003ccode\u003ef1fd4fa\u003c/code\u003e\u003c/a\u003e feat(client): support sending raw data over websockets\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/73ea2f75ba57a1db964518b33b790b1e1251b8d5\"\u003e\u003ccode\u003e73ea2f7\u003c/code\u003e\u003c/a\u003e fix(client): preserve hardcoded query params when merging with user params\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/454b2575d59a086f279d99dc791058acee2f14c0\"\u003e\u003ccode\u003e454b257\u003c/code\u003e\u003c/a\u003e feat(api): add web_search_call.results to ResponseIncludable type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/de2c7b1d087f41f33ada85a7460f32e55331778a\"\u003e\u003ccode\u003ede2c7b1\u003c/code\u003e\u003c/a\u003e chore(tests): bump steady to v0.20.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/6efca95a76f6ca9cb91fdf536c6c9ebcef075541\"\u003e\u003ccode\u003e6efca95\u003c/code\u003e\u003c/a\u003e chore(tests): bump steady to v0.20.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/2076d85f9226113e4ba360a7f456091988092dbf\"\u003e\u003ccode\u003e2076d85\u003c/code\u003e\u003c/a\u003e feat(api): add phase field to conversations message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/c0c59afa39a82f73063a52f624a9a4a2a6bf3313\"\u003e\u003ccode\u003ec0c59af\u003c/code\u003e\u003c/a\u003e fix(types): remove web_search_call.results from ResponseIncludable\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/openai/openai-python/compare/v2.29.0...v2.32.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `anthropic` from 0.85.0 to 0.96.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/releases\"\u003eanthropic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.96.0\u003c/h2\u003e\n\u003ch2\u003e0.96.0 (2026-04-16)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.95.0...v0.96.0\"\u003ev0.95.0...v0.96.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e add claude-opus-4-7, token budgets and user_profiles (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/0aa2a0d4388a39984134d1dfc2bcbd6b206f7184\"\u003e0aa2a0d\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eci:\u003c/strong\u003e remove release-doctor workflow (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/1d9add35d0bd4c71f2bca3b0d494d1d0a348817a\"\u003e1d9add3\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.95.0\u003c/h2\u003e\n\u003ch2\u003e0.95.0 (2026-04-14)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.94.1...v0.95.0\"\u003ev0.94.1...v0.95.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e mark Sonnet and Opus 4 as deprecated (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/0c1e7736394585dd021b53c1f87383c4fae29a6b\"\u003e0c1e773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebedrock:\u003c/strong\u003e use auth header for mantle client (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1644\"\u003e#1644\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/3b93090e121861462f21a7621484cda66c139997\"\u003e3b93090\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.94.1\u003c/h2\u003e\n\u003ch2\u003e0.94.1 (2026-04-13)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.94.0...v0.94.1\"\u003ev0.94.0...v0.94.1\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003estreaming:\u003c/strong\u003e add missing events (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/c6a06d80b7e87bc034bd6ade950c735da02a0be3\"\u003ec6a06d8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.94.0\u003c/h2\u003e\n\u003ch2\u003e0.94.0 (2026-04-10)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.93.0...v0.94.0\"\u003ev0.93.0...v0.94.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003evertex eu region (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1658\"\u003e#1658\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/b7e157d85f50b2900ddf896e8e80882dd7311bfd\"\u003eb7e157d\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eensure file data are only sent as 1 parameter (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/837b25bb6262186a5bae92aa70eb73c3cf8c90af\"\u003e837b25b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\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/anthropics/anthropic-sdk-python/blob/main/CHANGELOG.md\"\u003eanthropic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.96.0 (2026-04-16)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.95.0...v0.96.0\"\u003ev0.95.0...v0.96.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e add claude-opus-4-7, token budgets and user_profiles (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/0aa2a0d4388a39984134d1dfc2bcbd6b206f7184\"\u003e0aa2a0d\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eci:\u003c/strong\u003e remove release-doctor workflow (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/1d9add35d0bd4c71f2bca3b0d494d1d0a348817a\"\u003e1d9add3\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.95.0 (2026-04-14)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.94.1...v0.95.0\"\u003ev0.94.1...v0.95.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e mark Sonnet and Opus 4 as deprecated (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/0c1e7736394585dd021b53c1f87383c4fae29a6b\"\u003e0c1e773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebedrock:\u003c/strong\u003e use auth header for mantle client (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1644\"\u003e#1644\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/3b93090e121861462f21a7621484cda66c139997\"\u003e3b93090\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.94.1 (2026-04-13)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.94.0...v0.94.1\"\u003ev0.94.0...v0.94.1\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003estreaming:\u003c/strong\u003e add missing events (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/c6a06d80b7e87bc034bd6ade950c735da02a0be3\"\u003ec6a06d8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.94.0 (2026-04-10)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.93.0...v0.94.0\"\u003ev0.93.0...v0.94.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003evertex eu region (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1658\"\u003e#1658\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/b7e157d85f50b2900ddf896e8e80882dd7311bfd\"\u003eb7e157d\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eensure file data are only sent as 1 parameter (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/837b25bb6262186a5bae92aa70eb73c3cf8c90af\"\u003e837b25b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eimprove examples (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/48089fdb788500d00718b9d4ae24cd34e5e91beb\"\u003e48089fd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate examples (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/0f3c28b973026d135f91f38c4ad82ae2b1131522\"\u003e0f3c28b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.93.0 (2026-04-09)\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/anthropics/anthropic-sdk-python/commit/78de297e71bacbe6acf4d3b420edcaad90ce1045\"\u003e\u003ccode\u003e78de297\u003c/code\u003e\u003c/a\u003e release: 0.96.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/dc0c79294528932c8fb4b27d6c0c24a0198d2c0a\"\u003e\u003ccode\u003edc0c792\u003c/code\u003e\u003c/a\u003e feat(api): add claude-opus-4-7, token budgets and user_profiles\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/71eff1fee942056bf54219e9953615be143f67ec\"\u003e\u003ccode\u003e71eff1f\u003c/code\u003e\u003c/a\u003e chore(ci): remove release-doctor workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/1056685678c8e52cb2492e43b75d695ab91a4b51\"\u003e\u003ccode\u003e1056685\u003c/code\u003e\u003c/a\u003e release: 0.95.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/9741185561f6ebf289051a9eec136cf4ce7846a6\"\u003e\u003ccode\u003e9741185\u003c/code\u003e\u003c/a\u003e feat(bedrock): use auth header for mantle client (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1644\"\u003e#1644\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/ef22dbbd4a2005fd4e1b8e24cfb562c35c688313\"\u003e\u003ccode\u003eef22dbb\u003c/code\u003e\u003c/a\u003e feat(api): mark Sonnet and Opus 4 as deprecated\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/6d9b98672387c1f4f1f4a8fc02ea6d0e45a8362b\"\u003e\u003ccode\u003e6d9b986\u003c/code\u003e\u003c/a\u003e codegen metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/47c48a9eee1b6b34b7b87569c4481d3d89c5bc33\"\u003e\u003ccode\u003e47c48a9\u003c/code\u003e\u003c/a\u003e release: 0.94.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/49bab64536c113302653510ed6a639b34ade1af2\"\u003e\u003ccode\u003e49bab64\u003c/code\u003e\u003c/a\u003e fix(streaming): add missing events\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/7b03b0fc0b103eaba7732fc5ae54fc86c963839a\"\u003e\u003ccode\u003e7b03b0f\u003c/code\u003e\u003c/a\u003e release: 0.94.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.85.0...v0.96.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `genai-prices` from 0.0.55 to 0.0.56\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/genai-prices/commit/9ebd466b6a0bb57c81c168fa9ed6f6a1e547c22a\"\u003e\u003ccode\u003e9ebd466\u003c/code\u003e\u003c/a\u003e Prep 0.0.56 release (\u003ca href=\"https://redirect.github.com/pydantic/genai-prices/issues/318\"\u003e#318\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/genai-prices/commit/c5bd290dd46af2deab22af7a0aa709906e7038d1\"\u003e\u003ccode\u003ec5bd290\u003c/code\u003e\u003c/a\u003e Add OpenRouter pricing for claude-sonnet-4.6 (\u003ca href=\"https://redirect.github.com/pydantic/genai-prices/issues/296\"\u003e#296\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/genai-prices/commit/ea55b972b43eb679e99795c1479ccea4a502ebe0\"\u003e\u003ccode\u003eea55b97\u003c/code\u003e\u003c/a\u003e feat: add Qwen3 Max Thinking to OpenRouter (\u003ca href=\"https://redirect.github.com/pydantic/genai-prices/issues/279\"\u003e#279\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/genai-prices/commit/5f2a7bd337696bc2a9ca41147d0a9d7c00e824aa\"\u003e\u003ccode\u003e5f2a7bd\u003c/code\u003e\u003c/a\u003e Add Qwen3 VL 235B A22B (\u003ca href=\"https://redirect.github.com/pydantic/genai-prices/issues/285\"\u003e#285\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/genai-prices/commit/a7628264248ca1ce96acb3a2abbe19de47b3efdf\"\u003e\u003ccode\u003ea762826\u003c/code\u003e\u003c/a\u003e Add openrouter qwen/qwen3.5-plus-02-15 price (\u003ca href=\"https://redirect.github.com/pydantic/genai-prices/issues/299\"\u003e#299\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/genai-prices/commit/8ab5336c8fefeb664d692f2238e1181d0ba0321b\"\u003e\u003ccode\u003e8ab5336\u003c/code\u003e\u003c/a\u003e feat: moonshot ai prices file (\u003ca href=\"https://redirect.github.com/pydantic/genai-prices/issues/313\"\u003e#313\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/genai-prices/commit/87f9120fc248dddafbb2c863a29ef5488a5164fc\"\u003e\u003ccode\u003e87f9120\u003c/code\u003e\u003c/a\u003e feat: add Gemini 3.1 Flash Image Preview pricing (\u003ca href=\"https://redirect.github.com/pydantic/genai-prices/issues/303\"\u003e#303\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/genai-prices/commit/016961828b5ecb1e38932a5675fe9afa2668a135\"\u003e\u003ccode\u003e0169618\u003c/code\u003e\u003c/a\u003e Adding api-flavor for xAI native SDK (\u003ca href=\"https://redirect.github.com/pydantic/genai-prices/issues/307\"\u003e#307\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/genai-prices/commit/ee468266850d8b6ebed856f9b175e37044437a44\"\u003e\u003ccode\u003eee46826\u003c/code\u003e\u003c/a\u003e feat: add GPT-5.4 mini and nano snapshot aliases (\u003ca href=\"https://redirect.github.com/pydantic/genai-prices/issues/317\"\u003e#317\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/genai-prices/commit/9205f145985ca898daa5bcf6148f932a82cf62a1\"\u003e\u003ccode\u003e9205f14\u003c/code\u003e\u003c/a\u003e feat: add pricing for GPT 5.4 mini and nano (\u003ca href=\"https://redirect.github.com/pydantic/genai-prices/issues/315\"\u003e#315\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/genai-prices/compare/v0.0.55...v0.0.56\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dependency-injector` from 4.48.3 to 4.49.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ets-labs/python-dependency-injector/releases\"\u003edependency-injector's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.49.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePython 3.14 support\u003c/li\u003e\n\u003cli\u003eFix Pydantic v2 deprecation warning triggering on settings class import (fixes \u003ca href=\"https://redirect.github.com/ets-labs/python-dependency-injector/issues/942\"\u003e#942\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix grammar in Declarative Container documentation by \u003ca href=\"https://github.com/okotdaniel\"\u003e\u003ccode\u003e@​okotdaniel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ets-labs/python-dependency-injector/pull/916\"\u003eets-labs/python-dependency-injector#916\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd missing warn_unresolved parameter to WiringConfiguration in containers.pyi by \u003ca href=\"https://github.com/jonathandannenberg\"\u003e\u003ccode\u003e@​jonathandannenberg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ets-labs/python-dependency-injector/pull/951\"\u003eets-labs/python-dependency-injector#951\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd keep_cache argument to Container.wire typings by \u003ca href=\"https://github.com/romantolkachyov\"\u003e\u003ccode\u003e@​romantolkachyov\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ets-labs/python-dependency-injector/pull/952\"\u003eets-labs/python-dependency-injector#952\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRetrofit assert type for some type-stub checks by \u003ca href=\"https://github.com/leonarduschen\"\u003e\u003ccode\u003e@​leonarduschen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ets-labs/python-dependency-injector/pull/943\"\u003eets-labs/python-dependency-injector#943\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRetrofit assert type for remaining type-stub checks by \u003ca href=\"https://github.com/leonarduschen\"\u003e\u003ccode\u003e@​leonarduschen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ets-labs/python-dependency-injector/pull/953\"\u003eets-labs/python-dependency-injector#953\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd provided()\u003c!-- raw HTML omitted --\u003e.call *args, **kwargs arguments \u003ca href=\"https://redirect.github.com/ets-labs/python-dependency-injector/issues/945\"\u003e#945\u003c/a\u003e by \u003ca href=\"https://github.com/pavalso\"\u003e\u003ccode\u003e@​pavalso\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ets-labs/python-dependency-injector/pull/946\"\u003eets-labs/python-dependency-injector#946\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd context local resource by \u003ca href=\"https://github.com/elina-israyelyan\"\u003e\u003ccode\u003e@​elina-israyelyan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ets-labs/python-dependency-injector/pull/931\"\u003eets-labs/python-dependency-injector#931\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate CI/CD to \u003ccode\u003eactions/checkout@v6\u003c/code\u003e, \u003ccode\u003eactions/setup-python@v6\u003c/code\u003e, \u003ccode\u003eactions/download-artifact@v8\u003c/code\u003e, \u003ccode\u003eactions/upload-artifact@v7\u003c/code\u003e and \u003ccode\u003epypa/cibuildwheel@v3.4.0\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdd dependabot config for GitHub Actions\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/okotdaniel\"\u003e\u003ccode\u003e@​okotdaniel\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ets-labs/python-dependency-injector/pull/916\"\u003eets-labs/python-dependency-injector#916\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jonathandannenberg\"\u003e\u003ccode\u003e@​jonathandannenberg\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ets-labs/python-dependency-injector/pull/951\"\u003eets-labs/python-dependency-injector#951\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/romantolkachyov\"\u003e\u003ccode\u003e@​romantolkachyov\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ets-labs/python-dependency-injector/pull/952\"\u003eets-labs/python-dependency-injector#952\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pavalso\"\u003e\u003ccode\u003e@​pavalso\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ets-labs/python-dependency-injector/pull/946\"\u003eets-labs/python-dependency-injector#946\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elina-israyelyan\"\u003e\u003ccode\u003e@​elina-israyelyan\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ets-labs/python-dependency-injector/pull/931\"\u003eets-labs/python-dependency-injector#931\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ets-labs/python-dependency-injector/compare/4.48.3...4.49.0\"\u003ehttps://github.com/ets-labs/python-dependency-injector/compare/4.48.3...4.49.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/ets-labs/python-dependency-injector/commit/5f7aa1c337c77e782e1e927eb4b1e41a60912604\"\u003e\u003ccode\u003e5f7aa1c\u003c/code\u003e\u003c/a\u003e Bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ets-labs/python-dependency-injector/commit/5863d99bd5e9b2d22c15f3815b23973317a453ee\"\u003e\u003ccode\u003e5863d99\u003c/code\u003e\u003c/a\u003e Add .github/dependabot.yml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ets-labs/python-dependency-injector/commit/000c670c7e655cc7db423a76c6b877d185f706ce\"\u003e\u003ccode\u003e000c670\u003c/code\u003e\u003c/a\u003e Upgrade GHA actions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ets-labs/python-dependency-injector/commit/931084070a5304a26a925961375a5afcc3c3a38b\"\u003e\u003ccode\u003e9310840\u003c/code\u003e\u003c/a\u003e Fix iscoroutinefunction import for older Pythons\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ets-labs/python-dependency-injector/commit/05a5e7d8701a1df8cb88ad55d187ba88cd6ffbe8\"\u003e\u003ccode\u003e05a5e7d\u003c/code\u003e\u003c/a\u003e Fix get_annotations import\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ets-labs/python-dependency-injector/commit/58700d9dbd3420a559330666edfb477418997ff9\"\u003e\u003ccode\u003e58700d9\u003c/code\u003e\u003c/a\u003e Use from import statements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ets-labs/python-dependency-injector/commit/0e25331738716d5bfa5562d42617deb6ad65d23c\"\u003e\u003ccode\u003e0e25331\u003c/code\u003e\u003c/a\u003e Do not build nogil wheels\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ets-labs/python-dependency-injector/commit/1696986aa7698120a7e2aab2355d93e178fc36f9\"\u003e\u003ccode\u003e1696986\u003c/code\u003e\u003c/a...\n\n_Description has been truncated_","html_url":"https://github.com/shotgun-sh/shotgun/pull/542","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/shotgun-sh%2Fshotgun/issues/542","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/542/packages"}},{"old_version":"\u003e=0.40.0","new_version":"\u003e=8.2.3","update_type":"patch","path":null,"pr_created_at":"2026-04-13T09:46:05.000Z","version_change":"\u003e=0.40.0 → \u003e=8.2.3","issue":{"uuid":"4253304693","node_id":"PR_kwDOQInSos7R7yGx","number":9,"state":"open","title":"deps(deps): update textual requirement from \u003e=0.40.0 to \u003e=8.2.3","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-13T09:46:05.000Z","updated_at":"2026-04-13T09:47:19.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(deps): update","packages":[{"name":"textual","old_version":"\u003e=0.40.0","new_version":"\u003e=8.2.3","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 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\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.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\u003cul\u003e\n\u003cli\u003eAdded experimental \u003ccode\u003eApp.PAUSE_GC_ON_SCROLL_\u003c/code\u003e boolean (disabled by default) \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6410\"\u003eTextualize/textual#6410\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.0.2] - 2026-03-03\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThemes are now in alphabetical order in command palette \u003ca href=\"https://redirect.github.com/Textualize/textual/pull/6405\"\u003eTextualize/textual#6405\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\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/634ca6e786885ffebe211fc73e0e8a04e030f3c3\"\u003e\u003ccode\u003e634ca6e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6473\"\u003e#6473\u003c/a\u003e from Textualize/bump823\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/ccf1978c1a715ac7d33149dcfc344765dc250037\"\u003e\u003ccode\u003eccf1978\u003c/code\u003e\u003c/a\u003e bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/5ddfbdc6bf7966b99644f2da0251c94c83a50528\"\u003e\u003ccode\u003e5ddfbdc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6462\"\u003e#6462\u003c/a\u003e from IEBqp/guide-patch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/23bf10e77bd18fa91ed2c42e3a0693b0702e097d\"\u003e\u003ccode\u003e23bf10e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6470\"\u003e#6470\u003c/a\u003e from Textualize/defensive-selection\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/32f1d23330efd7a47891a5ce90edd7677664fbc1\"\u003e\u003ccode\u003e32f1d23\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6471\"\u003e#6471\u003c/a\u003e from Textualize/resize-lag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/2bbfbb7741470e8cf95c37476047b89787afaec5\"\u003e\u003ccode\u003e2bbfbb7\u003c/code\u003e\u003c/a\u003e force initial resize\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/4b6579038979a90d1f4067d8e396f0af13e80f75\"\u003e\u003ccode\u003e4b65790\u003c/code\u003e\u003c/a\u003e ignore no size changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/63fe6f0646e0f1401b990fb64f292d9646d01014\"\u003e\u003ccode\u003e63fe6f0\u003c/code\u003e\u003c/a\u003e check resize timer on idle\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/ec5b43ae1cc2c49361f0d791a53dd047bce08369\"\u003e\u003ccode\u003eec5b43a\u003c/code\u003e\u003c/a\u003e also resize on idle\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/12a52d9e24f1d47eb680e814527fac6ee004e573\"\u003e\u003ccode\u003e12a52d9\u003c/code\u003e\u003c/a\u003e check screen error\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/textual/compare/v0.40.0...v8.2.3\"\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/Jamie-BitFlight/apt-registry-explorer/pull/9","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jamie-BitFlight%2Fapt-registry-explorer/issues/9","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/9/packages"}},{"old_version":"8.2.1","new_version":"8.2.3","update_type":"patch","path":null,"pr_created_at":"2026-04-12T16:07:04.000Z","version_change":"8.2.1 → 8.2.3","issue":{"uuid":"4248776825","node_id":"PR_kwDOQDLfas7RydO9","number":53,"state":"open","title":"chore(deps): bump textual from 8.2.1 to 8.2.3","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-12T16:07:04.000Z","updated_at":"2026-04-12T16:07:24.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"textual","old_version":"8.2.1","new_version":"8.2.3","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.3.\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 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.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/634ca6e786885ffebe211fc73e0e8a04e030f3c3\"\u003e\u003ccode\u003e634ca6e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6473\"\u003e#6473\u003c/a\u003e from Textualize/bump823\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/ccf1978c1a715ac7d33149dcfc344765dc250037\"\u003e\u003ccode\u003eccf1978\u003c/code\u003e\u003c/a\u003e bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/5ddfbdc6bf7966b99644f2da0251c94c83a50528\"\u003e\u003ccode\u003e5ddfbdc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6462\"\u003e#6462\u003c/a\u003e from IEBqp/guide-patch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/23bf10e77bd18fa91ed2c42e3a0693b0702e097d\"\u003e\u003ccode\u003e23bf10e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6470\"\u003e#6470\u003c/a\u003e from Textualize/defensive-selection\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/32f1d23330efd7a47891a5ce90edd7677664fbc1\"\u003e\u003ccode\u003e32f1d23\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/textual/issues/6471\"\u003e#6471\u003c/a\u003e from Textualize/resize-lag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/2bbfbb7741470e8cf95c37476047b89787afaec5\"\u003e\u003ccode\u003e2bbfbb7\u003c/code\u003e\u003c/a\u003e force initial resize\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/4b6579038979a90d1f4067d8e396f0af13e80f75\"\u003e\u003ccode\u003e4b65790\u003c/code\u003e\u003c/a\u003e ignore no size changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/63fe6f0646e0f1401b990fb64f292d9646d01014\"\u003e\u003ccode\u003e63fe6f0\u003c/code\u003e\u003c/a\u003e check resize timer on idle\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/ec5b43ae1cc2c49361f0d791a53dd047bce08369\"\u003e\u003ccode\u003eec5b43a\u003c/code\u003e\u003c/a\u003e also resize on idle\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/textual/commit/12a52d9e24f1d47eb680e814527fac6ee004e573\"\u003e\u003ccode\u003e12a52d9\u003c/code\u003e\u003c/a\u003e check screen error\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/textual/compare/v8.2.1...v8.2.3\"\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.1\u0026new-version=8.2.3)](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/mowi12/mr-manager/pull/53","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/mowi12%2Fmr-manager/issues/53","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/53/packages"}}]}